desy-angular 2.0.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +5 -5
  2. package/bundles/desy-angular.umd.js +5961 -1898
  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 +30 -17
  7. package/desy-angular.metadata.json +1 -1
  8. package/esm2015/desy-angular.js +31 -18
  9. package/esm2015/lib/desy-angular.module.js +6 -3
  10. package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -20
  11. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
  12. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +76 -17
  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 +14 -0
  15. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +287 -0
  16. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +8 -10
  17. package/esm2015/lib/desy-buttons/desy-buttons.module.js +15 -4
  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 +2 -2
  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 +181 -74
  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 +132 -27
  39. package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +17 -5
  40. package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +27 -4
  41. package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +6 -5
  42. package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +1 -1
  43. package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +45 -7
  44. package/esm2015/lib/desy-forms/components/hint/hint.component.js +18 -6
  45. package/esm2015/lib/desy-forms/components/input/input.component.js +2 -3
  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 +115 -21
  51. package/esm2015/lib/desy-forms/components/label/label.component.js +21 -8
  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 +198 -12
  54. package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +14 -4
  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 +33 -18
  59. package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +1 -1
  60. package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +1 -1
  61. package/esm2015/lib/desy-forms/desy-forms.module.js +43 -6
  62. package/esm2015/lib/desy-forms/directives/condition.directive.js +1 -1
  63. package/esm2015/lib/desy-forms/interfaces/accesibility-data.js +1 -1
  64. package/esm2015/lib/desy-forms/interfaces/error-message-data.js +1 -1
  65. package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +1 -1
  66. package/esm2015/lib/desy-forms/interfaces/hint-data.js +1 -1
  67. package/esm2015/lib/desy-forms/interfaces/index.js +1 -1
  68. package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
  69. package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +1 -1
  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 +1 -1
  72. package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +1 -1
  73. package/esm2015/lib/desy-forms/interfaces/item-radio-data.js +1 -1
  74. package/esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js +1 -1
  75. package/esm2015/lib/desy-forms/interfaces/label-data.js +1 -1
  76. package/esm2015/lib/desy-forms/interfaces/legend-data.js +1 -1
  77. package/esm2015/lib/desy-forms/interfaces/select-item-data.js +1 -1
  78. package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +1 -1
  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 +106 -21
  82. package/esm2015/lib/desy-modals/desy-modals.module.js +7 -1
  83. package/esm2015/lib/desy-modals/interfaces/dialog-options.js +1 -1
  84. package/esm2015/lib/desy-modals/interfaces/index.js +1 -1
  85. package/esm2015/lib/desy-modals/interfaces/modal-button-data.js +1 -1
  86. package/esm2015/lib/desy-modals/interfaces/modal-data.js +1 -1
  87. package/esm2015/lib/desy-modals/interfaces/modal-icon-data.js +1 -1
  88. package/esm2015/lib/desy-modals/interfaces/modal-options.js +1 -1
  89. package/esm2015/lib/desy-modals/interfaces/open-dialog-result.js +1 -1
  90. package/esm2015/lib/desy-modals/services/dialog.service.js +1 -1
  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 +18 -16
  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 +34 -13
  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 +31 -8
  100. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +26 -36
  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 +14 -7
  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 +76 -14
  106. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +26 -36
  107. package/esm2015/lib/desy-nav/components/header/header.component.js +38 -7
  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 +41 -21
  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 +43 -93
  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 +44 -22
  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 +49 -22
  124. package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +24 -5
  125. package/esm2015/lib/desy-nav/desy-nav.module.js +78 -12
  126. package/esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js +1 -1
  127. package/esm2015/lib/desy-nav/interfaces/error-summary-data.js +1 -1
  128. package/esm2015/lib/desy-nav/interfaces/footer-data.js +1 -1
  129. package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
  130. package/esm2015/lib/desy-nav/interfaces/header-navigation-data.js +1 -1
  131. package/esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js +1 -1
  132. package/esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js +1 -1
  133. package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
  134. package/esm2015/lib/desy-nav/interfaces/index.js +1 -5
  135. package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js +1 -1
  136. package/esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js +1 -1
  137. package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +1 -1
  138. package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js +1 -1
  139. package/esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js +1 -1
  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 +1 -1
  145. package/esm2015/lib/desy-nav/interfaces/nav-item.data.js +1 -1
  146. package/esm2015/lib/desy-nav/interfaces/notification-items-data.js +1 -1
  147. package/esm2015/lib/desy-nav/interfaces/notification-options.js +1 -1
  148. package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +41 -76
  149. package/esm2015/lib/desy-pagination/desy-pagination.module.js +1 -1
  150. package/esm2015/lib/desy-pagination/interfaces/index.js +1 -1
  151. package/esm2015/lib/desy-pagination/interfaces/pagination-item.data.js +1 -1
  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 +47 -14
  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 +173 -149
  162. package/esm2015/lib/desy-tables/desy-tables.module.js +31 -3
  163. package/esm2015/lib/desy-tables/directives/cell.directive.js +26 -0
  164. package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +12 -8
  165. package/esm2015/lib/desy-tables/directives/row.directive.js +24 -0
  166. package/esm2015/lib/desy-tables/interfaces/cell-data.js +1 -1
  167. package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +1 -1
  168. package/esm2015/lib/desy-tables/interfaces/index.js +2 -1
  169. package/esm2015/lib/desy-tables/interfaces/recalculate-table-params.js +2 -0
  170. package/esm2015/lib/desy-tables/interfaces/row-data.js +1 -1
  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 +84 -56
  175. package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
  176. package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +6 -10
  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 +13 -23
  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 +1 -1
  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 +57 -24
  186. package/esm2015/lib/desy-views/components/media-object/media-object.component.js +1 -1
  187. package/esm2015/lib/desy-views/components/spinner/spinner.component.js +1 -1
  188. package/esm2015/lib/desy-views/components/status/status.component.js +2 -2
  189. package/esm2015/lib/desy-views/components/status-item/status-item.component.js +39 -26
  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 +58 -36
  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 +41 -1
  196. package/esm2015/lib/desy-views/interfaces/accordion-header.data.js +1 -1
  197. package/esm2015/lib/desy-views/interfaces/accordion-item.data.js +1 -1
  198. package/esm2015/lib/desy-views/interfaces/alert-options.js +1 -1
  199. package/esm2015/lib/desy-views/interfaces/description-item.data.js +2 -0
  200. package/esm2015/lib/desy-views/interfaces/index.js +4 -4
  201. package/esm2015/lib/desy-views/interfaces/open-alert-result.js +1 -1
  202. package/esm2015/lib/desy-views/interfaces/status-data.js +1 -1
  203. package/esm2015/lib/desy-views/interfaces/status-icon-data.js +1 -1
  204. package/esm2015/lib/desy-views/interfaces/status-item-title-data.js +1 -1
  205. package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +1 -1
  206. package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +1 -1
  207. package/esm2015/lib/desy-views/interfaces/term-definition.data.js +2 -0
  208. package/esm2015/lib/desy-views/services/alert.service.js +1 -1
  209. package/esm2015/lib/shared/components/accessibility/accessibility.component.js +1 -1
  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 +1 -1
  212. package/esm2015/lib/shared/components/content-base/content-base.component.js +20 -0
  213. package/esm2015/lib/shared/components/index.js +3 -1
  214. package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +1 -1
  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 +1 -1
  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 +5 -3
  223. package/esm2015/lib/shared/interfaces/accesibility-data.js +1 -1
  224. package/esm2015/lib/shared/pipes/external-href.pipe.js +28 -0
  225. package/esm2015/lib/shared/pipes/inner-html.pipe.js +1 -1
  226. package/esm2015/lib/shared/pipes/make-html-list.pipe.js +1 -1
  227. package/esm2015/lib/shared/shared.module.js +23 -4
  228. package/esm2015/lib/shared/utils/focus-utils.js +1 -1
  229. package/esm2015/lib/shared/utils/search-utils.js +1 -1
  230. package/esm2015/lib/shared/utils/string-utils.js +18 -0
  231. package/esm2015/public-api.js +88 -29
  232. package/fesm2015/desy-angular.js +5759 -2069
  233. package/fesm2015/desy-angular.js.map +1 -1
  234. package/lib/desy-buttons/components/button/button.component.d.ts +6 -7
  235. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
  236. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +9 -7
  237. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +12 -0
  238. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +4 -0
  239. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +53 -0
  240. package/lib/desy-buttons/components/pill/pill.component.d.ts +3 -3
  241. package/lib/desy-buttons/interfaces/listbox-item-data.d.ts +9 -0
  242. package/lib/{desy-nav/interfaces/notification-title-data.d.ts → desy-buttons/interfaces/listbox-label-data.d.ts} +1 -1
  243. package/lib/desy-commons/components/content/content.component.d.ts +5 -0
  244. package/lib/desy-commons/components/description/description.component.d.ts +5 -0
  245. package/lib/desy-commons/components/icon/icon.component.d.ts +5 -0
  246. package/lib/desy-commons/components/title/title.component.d.ts +5 -0
  247. package/lib/desy-commons/desy-commons.module.d.ts +2 -0
  248. package/lib/{desy-nav/interfaces/notification-content-data.d.ts → desy-commons/interfaces/content-data.d.ts} +1 -1
  249. package/lib/desy-commons/interfaces/description-data.d.ts +5 -0
  250. package/lib/desy-commons/interfaces/icon-data.d.ts +4 -0
  251. package/lib/desy-commons/interfaces/index.d.ts +4 -0
  252. package/lib/desy-commons/interfaces/title-data.d.ts +6 -0
  253. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +47 -0
  254. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +53 -15
  255. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
  256. package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
  257. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
  258. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
  259. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
  260. package/lib/desy-forms/components/date-input/date-input.component.d.ts +21 -4
  261. package/lib/desy-forms/components/error-message/error-message.component.d.ts +8 -2
  262. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +12 -4
  263. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +3 -2
  264. package/lib/desy-forms/components/form-field/form-field.component.d.ts +7 -18
  265. package/lib/desy-forms/components/hint/hint.component.d.ts +8 -2
  266. package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
  267. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
  268. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
  269. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
  270. package/lib/desy-forms/components/input-group/input-group.component.d.ts +24 -6
  271. package/lib/desy-forms/components/label/label.component.d.ts +12 -5
  272. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +43 -0
  273. package/lib/desy-forms/components/radios/radios.component.d.ts +56 -11
  274. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +7 -3
  275. package/lib/desy-forms/components/select/option/option.component.d.ts +7 -0
  276. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
  277. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
  278. package/lib/desy-forms/components/select/select.component.d.ts +9 -2
  279. package/lib/desy-forms/interfaces/error-message-data.d.ts +5 -5
  280. package/lib/desy-forms/interfaces/fieldset-data.d.ts +5 -4
  281. package/lib/desy-forms/interfaces/hint-data.d.ts +4 -4
  282. package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
  283. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +3 -0
  284. package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
  285. package/lib/desy-forms/interfaces/item-input-group-data.d.ts +1 -2
  286. package/lib/desy-forms/interfaces/item-radio-data.d.ts +15 -12
  287. package/lib/desy-forms/interfaces/legend-data.d.ts +4 -4
  288. package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -1
  289. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +7 -0
  290. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +7 -0
  291. package/lib/desy-modals/components/modal/modal.component.d.ts +27 -2
  292. package/lib/desy-modals/interfaces/modal-button-data.d.ts +2 -2
  293. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +6 -0
  294. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +7 -4
  295. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +6 -0
  296. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +12 -4
  297. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
  298. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
  299. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
  300. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
  301. package/lib/desy-nav/components/footer/footer.component.d.ts +15 -3
  302. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +10 -6
  303. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
  304. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +6 -2
  305. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
  306. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
  307. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +30 -9
  308. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +11 -8
  309. package/lib/desy-nav/components/header/header.component.d.ts +16 -5
  310. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +15 -0
  311. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +6 -5
  312. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
  313. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
  314. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
  315. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +13 -18
  316. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +23 -0
  317. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +4 -0
  318. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +15 -0
  319. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +10 -0
  320. package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +16 -0
  321. package/lib/desy-nav/components/menubar/menubar.component.d.ts +88 -0
  322. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +17 -0
  323. package/lib/desy-nav/components/nav/nav.component.d.ts +7 -5
  324. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +9 -0
  325. package/lib/desy-nav/components/notification/notification.component.d.ts +25 -11
  326. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +9 -2
  327. package/lib/desy-nav/interfaces/breadcrumbs.data.d.ts +4 -4
  328. package/lib/desy-nav/interfaces/error-summary-data.d.ts +4 -4
  329. package/lib/desy-nav/interfaces/footer-data.d.ts +7 -10
  330. package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
  331. package/lib/desy-nav/interfaces/header-offcanvas-data.d.ts +0 -1
  332. package/lib/desy-nav/interfaces/header-subnav-data.d.ts +6 -1
  333. package/lib/desy-nav/interfaces/index.d.ts +0 -4
  334. package/lib/desy-nav/interfaces/menu-vertical-items-data.d.ts +15 -13
  335. package/lib/desy-nav/interfaces/menu-vertical-sub-data.d.ts +3 -4
  336. package/lib/desy-nav/interfaces/menu-vertical-sub-items-data.d.ts +15 -12
  337. package/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.d.ts +6 -0
  338. package/lib/desy-nav/interfaces/menubar-item-sub-item.d.ts +9 -0
  339. package/lib/desy-nav/interfaces/menubar-item-sub.d.ts +6 -0
  340. package/lib/desy-nav/interfaces/menubar-item.d.ts +18 -0
  341. package/lib/desy-nav/interfaces/nav-item.data.d.ts +2 -1
  342. package/lib/desy-nav/interfaces/notification-items-data.d.ts +8 -5
  343. package/lib/desy-nav/interfaces/notification-options.d.ts +5 -8
  344. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +7 -12
  345. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +4 -0
  346. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +8 -0
  347. package/lib/desy-tables/components/table/components/table-header.component.d.ts +5 -0
  348. package/lib/desy-tables/components/table/components/table-row.component.d.ts +5 -0
  349. package/lib/desy-tables/components/table/table.component.d.ts +16 -4
  350. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +13 -0
  351. package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +5 -0
  352. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +8 -0
  353. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +8 -0
  354. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +66 -39
  355. package/lib/desy-tables/directives/cell.directive.d.ts +14 -0
  356. package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +3 -3
  357. package/lib/desy-tables/directives/row.directive.d.ts +16 -0
  358. package/lib/desy-tables/interfaces/head-cell-data.d.ts +2 -2
  359. package/lib/desy-tables/interfaces/index.d.ts +1 -0
  360. package/lib/desy-tables/interfaces/recalculate-table-params.d.ts +11 -0
  361. package/lib/desy-tables/interfaces/row-data.d.ts +1 -0
  362. package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
  363. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +5 -0
  364. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +13 -0
  365. package/lib/desy-views/components/accordion/accordion.component.d.ts +20 -11
  366. package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
  367. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +4 -6
  368. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +6 -0
  369. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +9 -0
  370. package/lib/desy-views/components/description-list/description-list.component.d.ts +9 -6
  371. package/lib/desy-views/components/description-list/term/term.component.d.ts +6 -0
  372. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +5 -0
  373. package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
  374. package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
  375. package/lib/desy-views/components/item/item.component.d.ts +28 -9
  376. package/lib/desy-views/components/status-item/status-item.component.d.ts +17 -6
  377. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
  378. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
  379. package/lib/desy-views/components/tabs/tabs.component.d.ts +15 -3
  380. package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
  381. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +35 -0
  382. package/lib/desy-views/interfaces/accordion-header.data.d.ts +3 -3
  383. package/lib/desy-views/interfaces/accordion-item.data.d.ts +8 -8
  384. package/lib/desy-views/interfaces/description-item.data.d.ts +8 -0
  385. package/lib/desy-views/interfaces/index.d.ts +3 -3
  386. package/lib/desy-views/interfaces/tabs-items-data.d.ts +5 -5
  387. package/lib/desy-views/interfaces/tabs-panel-data.d.ts +4 -4
  388. package/lib/desy-views/interfaces/term-definition.data.d.ts +7 -0
  389. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +26 -0
  390. package/lib/shared/components/content-base/content-base.component.d.ts +9 -0
  391. package/lib/shared/components/index.d.ts +2 -0
  392. package/lib/shared/decorators/desy-content-child.decorator.d.ts +15 -0
  393. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +5 -0
  394. package/lib/shared/directives/attribute-change.directive.d.ts +10 -0
  395. package/lib/shared/directives/content-change.directive.d.ts +19 -0
  396. package/lib/shared/directives/content-empty.directive.d.ts +26 -0
  397. package/lib/shared/directives/custom-inner-content.directive.d.ts +22 -0
  398. package/lib/shared/directives/inner-content.directive.d.ts +1 -0
  399. package/lib/shared/pipes/external-href.pipe.d.ts +8 -0
  400. package/lib/shared/utils/string-utils.d.ts +10 -0
  401. package/package.json +16 -11
  402. package/public-api.d.ts +75 -25
  403. package/esm2015/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.js +0 -100
  404. package/esm2015/lib/desy-forms/components/radios/item-radio/item-radio.component.js +0 -89
  405. package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -62
  406. package/esm2015/lib/desy-nav/interfaces/notification-content-data.js +0 -2
  407. package/esm2015/lib/desy-nav/interfaces/notification-description-data.js +0 -2
  408. package/esm2015/lib/desy-nav/interfaces/notification-icon-data.js +0 -2
  409. package/esm2015/lib/desy-nav/interfaces/notification-title-data.js +0 -2
  410. package/esm2015/lib/desy-views/interfaces/description.data.js +0 -2
  411. package/esm2015/lib/desy-views/interfaces/item-data.js +0 -2
  412. package/esm2015/lib/desy-views/interfaces/item-description.data.js +0 -2
  413. package/esm2015/lib/shared/utils/navigation-utils.js +0 -18
  414. package/lib/desy-forms/components/checkboxes/item-checkbox/item-checkbox.component.d.ts +0 -39
  415. package/lib/desy-forms/components/radios/item-radio/item-radio.component.d.ts +0 -36
  416. package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -19
  417. package/lib/desy-nav/interfaces/notification-description-data.d.ts +0 -5
  418. package/lib/desy-nav/interfaces/notification-icon-data.d.ts +0 -3
  419. package/lib/desy-views/interfaces/description.data.d.ts +0 -7
  420. package/lib/desy-views/interfaces/item-data.d.ts +0 -19
  421. package/lib/desy-views/interfaces/item-description.data.d.ts +0 -8
  422. package/lib/shared/utils/navigation-utils.d.ts +0 -3
@@ -7,14 +7,34 @@ import { DesyFormsModule } from '../desy-forms/desy-forms.module';
7
7
  import { TableComponent } from './components/table/table.component';
8
8
  import { TableAdvancedComponent } from './components/table-advanced/table-advanced.component';
9
9
  import { FocusClickedCellDirective } from './directives/focus-clicked-cell.directive';
10
+ import { TableCellComponent } from './components/table/components/table-cell.component';
11
+ import { TableHeaderComponent } from './components/table/components/table-header.component';
12
+ import { TableRowComponent } from './components/table/components/table-row.component';
13
+ import { TableCaptionComponent } from './components/table/components/table-caption.component';
14
+ import { TableAdvancedHeaderComponent } from './components/table-advanced/components/table-advanced-header.component';
15
+ import { TableAdvancedHeaderCellComponent } from './components/table-advanced/components/table-advanced-header-cell.component';
16
+ import { TableAdvancedRowComponent } from './components/table-advanced/components/table-advanced-row.component';
17
+ import { CellDirective } from './directives/cell.directive';
18
+ import { RowDirective } from './directives/row.directive';
19
+ import { TableAdvancedRowCellComponent } from './components/table-advanced/components/table-advanced-row-cell.component';
10
20
  export class DesyTablesModule {
11
21
  }
12
22
  DesyTablesModule.decorators = [
13
23
  { type: NgModule, args: [{
14
24
  declarations: [
15
25
  TableComponent,
26
+ TableCaptionComponent,
27
+ TableCellComponent,
28
+ TableHeaderComponent,
29
+ TableRowComponent,
16
30
  TableAdvancedComponent,
17
- FocusClickedCellDirective
31
+ TableAdvancedHeaderComponent,
32
+ TableAdvancedHeaderCellComponent,
33
+ TableAdvancedRowComponent,
34
+ TableAdvancedRowCellComponent,
35
+ FocusClickedCellDirective,
36
+ CellDirective,
37
+ RowDirective,
18
38
  ],
19
39
  imports: [
20
40
  CommonModule,
@@ -26,8 +46,16 @@ DesyTablesModule.decorators = [
26
46
  ],
27
47
  exports: [
28
48
  TableComponent,
29
- TableAdvancedComponent
49
+ TableCaptionComponent,
50
+ TableCellComponent,
51
+ TableHeaderComponent,
52
+ TableRowComponent,
53
+ TableAdvancedComponent,
54
+ TableAdvancedHeaderComponent,
55
+ TableAdvancedHeaderCellComponent,
56
+ TableAdvancedRowComponent,
57
+ TableAdvancedRowCellComponent
30
58
  ]
31
59
  },] }
32
60
  ];
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS10YWJsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvZGVzeS10YWJsZXMvZGVzeS10YWJsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFzQnRGLE1BQU0sT0FBTyxnQkFBZ0I7OztZQW5CNUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWixjQUFjO29CQUNkLHNCQUFzQjtvQkFDdEIseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsVUFBVTtvQkFDVixZQUFZO29CQUNaLGVBQWU7aUJBQ2hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLHNCQUFzQjtpQkFDdkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IERlc3lGb3Jtc01vZHVsZSB9IGZyb20gJy4uL2Rlc3ktZm9ybXMvZGVzeS1mb3Jtcy5tb2R1bGUnO1xyXG5cclxuaW1wb3J0IHsgVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVBZHZhbmNlZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1hZHZhbmNlZC90YWJsZS1hZHZhbmNlZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb2N1c0NsaWNrZWRDZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLWNsaWNrZWQtY2VsbC5kaXJlY3RpdmUnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRDb21wb25lbnQsXHJcbiAgICBGb2N1c0NsaWNrZWRDZWxsRGlyZWN0aXZlXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBBMTF5TW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG4gICAgRGVzeUZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXN5VGFibGVzTW9kdWxlIHsgfVxyXG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzeS10YWJsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvZGVzeS10YWJsZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDOUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkVBQTZFLENBQUM7QUFDL0gsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDaEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQXlDdkgsTUFBTSxPQUFPLGdCQUFnQjs7O1lBdEM1QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGNBQWM7b0JBQ2QscUJBQXFCO29CQUNyQixrQkFBa0I7b0JBQ2xCLG9CQUFvQjtvQkFDcEIsaUJBQWlCO29CQUNqQixzQkFBc0I7b0JBQ3RCLDRCQUE0QjtvQkFDNUIsZ0NBQWdDO29CQUNoQyx5QkFBeUI7b0JBQ3pCLDZCQUE2QjtvQkFFN0IseUJBQXlCO29CQUN6QixhQUFhO29CQUNiLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLFVBQVU7b0JBQ1YsWUFBWTtvQkFDWixlQUFlO2lCQUNoQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsY0FBYztvQkFDZCxxQkFBcUI7b0JBQ3JCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixpQkFBaUI7b0JBQ2pCLHNCQUFzQjtvQkFDdEIsNEJBQTRCO29CQUM1QixnQ0FBZ0M7b0JBQ2hDLHlCQUF5QjtvQkFDekIsNkJBQTZCO2lCQUM5QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgRGVzeUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZGVzeS1mb3Jtcy9kZXN5LWZvcm1zLm1vZHVsZSc7XHJcblxyXG5pbXBvcnQgeyBUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUFkdmFuY2VkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkL3RhYmxlLWFkdmFuY2VkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvY3VzQ2xpY2tlZENlbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMtY2xpY2tlZC1jZWxsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFRhYmxlQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvY29tcG9uZW50cy90YWJsZS1yb3cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVDYXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUtY2FwdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZUFkdmFuY2VkSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkL2NvbXBvbmVudHMvdGFibGUtYWR2YW5jZWQtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlQWR2YW5jZWRIZWFkZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkL2NvbXBvbmVudHMvdGFibGUtYWR2YW5jZWQtaGVhZGVyLWNlbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVBZHZhbmNlZFJvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1hZHZhbmNlZC9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkLXJvdy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NlbGwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUm93RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Jvdy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge1RhYmxlQWR2YW5jZWRSb3dDZWxsQ29tcG9uZW50fSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtYWR2YW5jZWQvY29tcG9uZW50cy90YWJsZS1hZHZhbmNlZC1yb3ctY2VsbC5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFRhYmxlQ2FwdGlvbkNvbXBvbmVudCxcclxuICAgIFRhYmxlQ2VsbENvbXBvbmVudCxcclxuICAgIFRhYmxlSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVGFibGVSb3dDb21wb25lbnQsXHJcbiAgICBUYWJsZUFkdmFuY2VkQ29tcG9uZW50LFxyXG4gICAgVGFibGVBZHZhbmNlZEhlYWRlckNvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRIZWFkZXJDZWxsQ29tcG9uZW50LFxyXG4gICAgVGFibGVBZHZhbmNlZFJvd0NvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRSb3dDZWxsQ29tcG9uZW50LFxyXG5cclxuICAgIEZvY3VzQ2xpY2tlZENlbGxEaXJlY3RpdmUsXHJcbiAgICBDZWxsRGlyZWN0aXZlLFxyXG4gICAgUm93RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQTExeU1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICAgIERlc3lGb3Jtc01vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgVGFibGVDb21wb25lbnQsXHJcbiAgICBUYWJsZUNhcHRpb25Db21wb25lbnQsXHJcbiAgICBUYWJsZUNlbGxDb21wb25lbnQsXHJcbiAgICBUYWJsZUhlYWRlckNvbXBvbmVudCxcclxuICAgIFRhYmxlUm93Q29tcG9uZW50LFxyXG4gICAgVGFibGVBZHZhbmNlZENvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRIZWFkZXJDb21wb25lbnQsXHJcbiAgICBUYWJsZUFkdmFuY2VkSGVhZGVyQ2VsbENvbXBvbmVudCxcclxuICAgIFRhYmxlQWR2YW5jZWRSb3dDb21wb25lbnQsXHJcbiAgICBUYWJsZUFkdmFuY2VkUm93Q2VsbENvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERlc3lUYWJsZXNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Directive, ElementRef, Input } from '@angular/core';
2
+ /**
3
+ * Permite gestionar celdas de una fila de la tabla
4
+ */
5
+ export class CellDirective {
6
+ constructor(element) {
7
+ this.element = element;
8
+ }
9
+ getContent() {
10
+ return this.element.nativeElement.textContent;
11
+ }
12
+ }
13
+ CellDirective.decorators = [
14
+ { type: Directive, args: [{
15
+ selector: '[desyCell]'
16
+ },] }
17
+ ];
18
+ CellDirective.ctorParameters = () => [
19
+ { type: ElementRef }
20
+ ];
21
+ CellDirective.propDecorators = {
22
+ row: [{ type: Input }],
23
+ rowIndex: [{ type: Input }],
24
+ columnIndex: [{ type: Input }]
25
+ };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9kaXJlY3RpdmVzL2NlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUkzRDs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBTXhCLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7SUFBSSxDQUFDO0lBRXJDLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUNoRCxDQUFDOzs7WUFiRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7YUFDdkI7OztZQVRrQixVQUFVOzs7a0JBWTFCLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtSb3dEYXRhfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtUYWJsZUFkdmFuY2VkUm93Q29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkL2NvbXBvbmVudHMvdGFibGUtYWR2YW5jZWQtcm93LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogUGVybWl0ZSBnZXN0aW9uYXIgY2VsZGFzIGRlIHVuYSBmaWxhIGRlIGxhIHRhYmxhXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5Q2VsbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDZWxsRGlyZWN0aXZlIHtcclxuXHJcbiAgQElucHV0KCkgcm93OiBSb3dEYXRhfFRhYmxlQWR2YW5jZWRSb3dDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgcm93SW5kZXg6IG51bWJlcjtcclxuICBASW5wdXQoKSBjb2x1bW5JbmRleDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29udGVudCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -22,15 +22,19 @@ export class FocusClickedCellDirective {
22
22
  else if (event.code === 'ArrowUp') {
23
23
  tr = this.el.nativeElement.parentNode.previousElementSibling;
24
24
  }
25
- next = tr.children[this.findIndex()];
25
+ next = tr ? tr.children[this.findIndex()] : null;
26
+ event.preventDefault();
26
27
  }
27
28
  if (event.code === 'ArrowRight' || event.code === 'ArrowLeft') {
28
- if (event.code === 'ArrowRight') {
29
- next = this.el.nativeElement.nextElementSibling;
30
- }
31
- else if (event.code === 'ArrowLeft') {
32
- next = this.el.nativeElement.previousElementSibling;
33
- }
29
+ next = this.el.nativeElement;
30
+ do {
31
+ if (event.code === 'ArrowRight') {
32
+ next = next.nextElementSibling;
33
+ }
34
+ else if (event.code === 'ArrowLeft') {
35
+ next = next.previousElementSibling;
36
+ }
37
+ } while (next && !next.getAttribute('tabindex'));
34
38
  }
35
39
  if (next && next.getAttribute('tabindex')) {
36
40
  this.inactiveTabindex();
@@ -71,4 +75,4 @@ FocusClickedCellDirective.propDecorators = {
71
75
  onClick: [{ type: HostListener, args: ['click',] }],
72
76
  manageArrows: [{ type: HostListener, args: ['keydown', ['$event'],] }]
73
77
  };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY2xpY2tlZC1jZWxsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktdGFibGVzL2RpcmVjdGl2ZXMvZm9jdXMtY2xpY2tlZC1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFHdEMsT0FBTztRQUNMLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsMEJBQTBCO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQywyQ0FBMkM7UUFDdEgsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDbkMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFDO1lBQ3RILElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFDO2dCQUN6RCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDMUQ7cUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDbkMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDOUQ7Z0JBQ0QsSUFBSSxHQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7YUFDdkM7WUFDRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO2dCQUM3RCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFO29CQUMvQixJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7aUJBQ2pEO3FCQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7b0JBQ3JDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDckQ7YUFDRjtZQUVELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUM7Z0JBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUztRQUNQLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUNwRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNmLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBQztnQkFDaEMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDVixNQUFNO2FBQ1A7U0FDSjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2FBQ25DOzs7WUFKbUIsVUFBVTs7O3NCQVMzQixZQUFZLFNBQUMsT0FBTzsyQkFVcEIsWUFBWSxTQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tkZXN5Rm9jdXNDbGlja2VkQ2VsbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb2N1c0NsaWNrZWRDZWxsRGlyZWN0aXZlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxyXG4gIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICBjb25zdCBob3N0RWxlbSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDsgLy8gbGEgdGFibGEgLSBvZmZzZXRQYXJlbnRcclxuICAgIGNvbnN0IGVsZW1udHNGb2N1cyA9IGhvc3RFbGVtLm9mZnNldFBhcmVudC5xdWVyeVNlbGVjdG9yQWxsKCdbdGFiaW5kZXhdJyk7IC8vIGJ1c2NhbW9zIHRvZG9zIHF1ZSBwdWVkZW4gdGVuZXIgdGFiaW5kZXhcclxuICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZWxlbW50c0ZvY3VzKSB7XHJcbiAgICAgIGl0ZXJhdG9yLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTsgLy8gc2UgbGVzIHF1aXRhXHJcbiAgICB9XHJcbiAgICB0aGlzLmFjdGl2ZVRhYmluZGV4KCk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBtYW5hZ2VBcnJvd3MoZXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5jb2RlID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5jb2RlID09PSAnQXJyb3dVcCcgfHwgZXZlbnQuY29kZSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmNvZGUgPT09ICdBcnJvd0xlZnQnKXtcclxuICAgICAgbGV0IG5leHQgPSBudWxsO1xyXG4gICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQuY29kZSA9PT0gJ0Fycm93VXAnKXtcclxuICAgICAgICBsZXQgdHIgPSBudWxsO1xyXG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgICAgdHIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZS5uZXh0RWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSAnQXJyb3dVcCcpIHtcclxuICAgICAgICAgIHRyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUucHJldmlvdXNFbGVtZW50U2libGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV4dCA9ICB0ci5jaGlsZHJlblt0aGlzLmZpbmRJbmRleCgpXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93UmlnaHQnIHx8IGV2ZW50LmNvZGUgPT09ICdBcnJvd0xlZnQnKSB7XHJcbiAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xyXG4gICAgICAgICAgbmV4dCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5jb2RlID09PSAnQXJyb3dMZWZ0Jykge1xyXG4gICAgICAgICAgbmV4dCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKG5leHQgJiYgbmV4dC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4Jykpe1xyXG4gICAgICAgIHRoaXMuaW5hY3RpdmVUYWJpbmRleCgpO1xyXG4gICAgICAgIG5leHQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XHJcbiAgICAgICAgbmV4dC5mb2N1cygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmVUYWJpbmRleCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcclxuICB9XHJcblxyXG4gIGluYWN0aXZlVGFiaW5kZXgoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xyXG4gIH1cclxuXHJcbiAgZmluZEluZGV4KCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBteW5vZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XHJcbiAgICBsZXQgaW5kZXggPSAtMTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGFyZW50Tm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IG90aGVyTm9kZSA9IHBhcmVudE5vZGUuY2hpbGRyZW5baV07XHJcbiAgICAgICAgaWYgKG15bm9kZS5pc0VxdWFsTm9kZShvdGhlck5vZGUpKXtcclxuICAgICAgICAgIGluZGV4ID0gaTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY2xpY2tlZC1jZWxsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdGFibGVzL2RpcmVjdGl2ZXMvZm9jdXMtY2xpY2tlZC1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLcEUsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFHdEMsT0FBTztRQUNMLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsMEJBQTBCO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQywyQ0FBMkM7UUFDdEgsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDbkMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlO1NBQ3pEO1FBQ0QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxZQUFZLENBQUMsS0FBSztRQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFDO1lBQ3RILElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztZQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFDO2dCQUN6RCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUM7Z0JBQ2QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtvQkFDOUIsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDMUQ7cUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTtvQkFDbkMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDOUQ7Z0JBRUQsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNqRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDeEI7WUFFRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO2dCQUM3RCxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7Z0JBQzdCLEdBQUc7b0JBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksRUFBRTt3QkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztxQkFDaEM7eUJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTt3QkFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztxQkFDcEM7aUJBQ0YsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2FBQ2xEO1lBRUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsRUFBQztnQkFDeEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDZDtTQUNGO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDcEQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDZixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUM7Z0JBQ2hDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ1YsTUFBTTthQUNQO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OztZQXhFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjthQUNuQzs7O1lBSm1CLFVBQVU7OztzQkFTM0IsWUFBWSxTQUFDLE9BQU87MkJBVXBCLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZGVzeUZvY3VzQ2xpY2tlZENlbGxdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9jdXNDbGlja2VkQ2VsbERpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaG9zdEVsZW0gPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7IC8vIGxhIHRhYmxhIC0gb2Zmc2V0UGFyZW50XHJcbiAgICBjb25zdCBlbGVtbnRzRm9jdXMgPSBob3N0RWxlbS5vZmZzZXRQYXJlbnQucXVlcnlTZWxlY3RvckFsbCgnW3RhYmluZGV4XScpOyAvLyBidXNjYW1vcyB0b2RvcyBxdWUgcHVlZGVuIHRlbmVyIHRhYmluZGV4XHJcbiAgICBmb3IgKGNvbnN0IGl0ZXJhdG9yIG9mIGVsZW1udHNGb2N1cykge1xyXG4gICAgICBpdGVyYXRvci5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7IC8vIHNlIGxlcyBxdWl0YVxyXG4gICAgfVxyXG4gICAgdGhpcy5hY3RpdmVUYWJpbmRleCgpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgbWFuYWdlQXJyb3dzKGV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQuY29kZSA9PT0gJ0Fycm93VXAnIHx8IGV2ZW50LmNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5jb2RlID09PSAnQXJyb3dMZWZ0Jyl7XHJcbiAgICAgIGxldCBuZXh0ID0gbnVsbDtcclxuICAgICAgaWYgKGV2ZW50LmNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGV2ZW50LmNvZGUgPT09ICdBcnJvd1VwJyl7XHJcbiAgICAgICAgbGV0IHRyID0gbnVsbDtcclxuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAgIHRyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY29kZSA9PT0gJ0Fycm93VXAnKSB7XHJcbiAgICAgICAgICB0ciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnROb2RlLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBuZXh0ID0gdHIgPyB0ci5jaGlsZHJlblt0aGlzLmZpbmRJbmRleCgpXSA6IG51bGw7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGV2ZW50LmNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fCBldmVudC5jb2RlID09PSAnQXJyb3dMZWZ0Jykge1xyXG4gICAgICAgIG5leHQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgZG8ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xyXG4gICAgICAgICAgICBuZXh0ID0gbmV4dC5uZXh0RWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09ICdBcnJvd0xlZnQnKSB7XHJcbiAgICAgICAgICAgIG5leHQgPSBuZXh0LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSB3aGlsZSAobmV4dCAmJiAhbmV4dC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobmV4dCAmJiBuZXh0LmdldEF0dHJpYnV0ZSgndGFiaW5kZXgnKSl7XHJcbiAgICAgICAgdGhpcy5pbmFjdGl2ZVRhYmluZGV4KCk7XHJcbiAgICAgICAgbmV4dC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcclxuICAgICAgICBuZXh0LmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlVGFiaW5kZXgoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICcwJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluYWN0aXZlVGFiaW5kZXgoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCd0YWJpbmRleCcsICctMScpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kSW5kZXgoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IG15bm9kZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50Tm9kZTtcclxuICAgIGxldCBpbmRleCA9IC0xO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJlbnROb2RlLmNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgY29uc3Qgb3RoZXJOb2RlID0gcGFyZW50Tm9kZS5jaGlsZHJlbltpXTtcclxuICAgICAgICBpZiAobXlub2RlLmlzRXF1YWxOb2RlKG90aGVyTm9kZSkpe1xyXG4gICAgICAgICAgaW5kZXggPSBpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGluZGV4O1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,24 @@
1
+ import { ContentChildren, Directive, Input } from '@angular/core';
2
+ import { CellDirective } from './cell.directive';
3
+ /**
4
+ * Permite gestionar filas de la tabla
5
+ */
6
+ export class RowDirective {
7
+ /**
8
+ * Devuelve la celda ubicada en la columna indicada
9
+ * @param column índice de la columna
10
+ */
11
+ getCell(column) {
12
+ return this.contentCells.find(cell => cell.columnIndex === column);
13
+ }
14
+ }
15
+ RowDirective.decorators = [
16
+ { type: Directive, args: [{
17
+ selector: '[desyRow]'
18
+ },] }
19
+ ];
20
+ RowDirective.propDecorators = {
21
+ contentCells: [{ type: ContentChildren, args: [CellDirective,] }],
22
+ desyRow: [{ type: Input }]
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdGFibGVzL2RpcmVjdGl2ZXMvcm93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLFlBQVk7SUFNdkI7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLE1BQWM7UUFDM0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7O1lBZkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2FBQ3RCOzs7MkJBR0UsZUFBZSxTQUFDLGFBQWE7c0JBQzdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBJbnB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDZWxsRGlyZWN0aXZlfSBmcm9tICcuL2NlbGwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHtSb3dEYXRhfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtUYWJsZUFkdmFuY2VkUm93Q29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlLWFkdmFuY2VkL2NvbXBvbmVudHMvdGFibGUtYWR2YW5jZWQtcm93LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogUGVybWl0ZSBnZXN0aW9uYXIgZmlsYXMgZGUgbGEgdGFibGFcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2Rlc3lSb3ddJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUm93RGlyZWN0aXZlIHtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDZWxsRGlyZWN0aXZlKSBjb250ZW50Q2VsbHM6IFF1ZXJ5TGlzdDxDZWxsRGlyZWN0aXZlPjtcclxuICBASW5wdXQoKSBkZXN5Um93OiBSb3dEYXRhfFRhYmxlQWR2YW5jZWRSb3dDb21wb25lbnQ7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEZXZ1ZWx2ZSBsYSBjZWxkYSB1YmljYWRhIGVuIGxhIGNvbHVtbmEgaW5kaWNhZGFcclxuICAgKiBAcGFyYW0gY29sdW1uIMOtbmRpY2UgZGUgbGEgY29sdW1uYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRDZWxsKGNvbHVtbjogbnVtYmVyKTogQ2VsbERpcmVjdGl2ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50Q2VsbHMuZmluZChjZWxsID0+IGNlbGwuY29sdW1uSW5kZXggPT09IGNvbHVtbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1kYXRhLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvIiwic291cmNlcyI6WyJsaWIvZGVzeS10YWJsZXMvaW50ZXJmYWNlcy9jZWxsLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2VzaWJpbGl0eURhdGEgfSBmcm9tICcuLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hY2Nlc2liaWxpdHktZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENlbGxEYXRhIGV4dGVuZHMgQWNjZXNpYmlsaXR5RGF0YSB7XHJcbiAgICB0ZXh0Pzogc3RyaW5nO1xyXG4gICAgaHRtbD86IHN0cmluZztcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgICByb3dzcGFuPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvaW50ZXJmYWNlcy9jZWxsLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2VzaWJpbGl0eURhdGEgfSBmcm9tICcuLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hY2Nlc2liaWxpdHktZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENlbGxEYXRhIGV4dGVuZHMgQWNjZXNpYmlsaXR5RGF0YSB7XHJcbiAgICB0ZXh0Pzogc3RyaW5nO1xyXG4gICAgaHRtbD86IHN0cmluZztcclxuICAgIGNsYXNzZXM/OiBzdHJpbmc7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNvbHNwYW4/OiBudW1iZXI7XHJcbiAgICByb3dzcGFuPzogbnVtYmVyO1xyXG59XHJcbiJdfQ==
@@ -4,4 +4,4 @@ export var OrderBy;
4
4
  OrderBy["asc"] = "asc";
5
5
  OrderBy["desc"] = "desc";
6
6
  })(OrderBy || (OrderBy = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLWRhdGEuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL2hlYWQtY2VsbC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBTixJQUFZLE9BSVg7QUFKRCxXQUFZLE9BQU87SUFDZix3QkFBYSxDQUFBO0lBQ2Isc0JBQVcsQ0FBQTtJQUNYLHdCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLE9BQU8sS0FBUCxPQUFPLFFBSWxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2VsbERhdGEgfSBmcm9tICcuL2NlbGwtZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRDZWxsRGF0YSBleHRlbmRzIENlbGxEYXRhIHtcclxuICAgIG9yZGVyQnk/OiBPcmRlckJ5OyAvLyBQb3NzaWJsZSB2YWx1ZXMgYG5vbmVgLCBgYXNjYCwgYGRlc2NgLlxyXG4gICAgaGFzRmlsdGVyPzogYm9vbGVhbjtcclxuICAgIGZpbHRlckNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZENlbGxNb2RlbERhdGEgZXh0ZW5kcyBIZWFkQ2VsbERhdGEge1xyXG4gICAgdmFsdWVGaWx0ZXI6IHN0cmluZztcclxuICAgIGFjdGl2ZUZpbHRlcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gT3JkZXJCeSB7XHJcbiAgICBub25lID0gJ25vbmUnLFxyXG4gICAgYXNjID0gJ2FzYycsXHJcbiAgICBkZXNjID0gJ2Rlc2MnXHJcbn1cclxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZC1jZWxsLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL2hlYWQtY2VsbC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sQ0FBTixJQUFZLE9BSVg7QUFKRCxXQUFZLE9BQU87SUFDZix3QkFBYSxDQUFBO0lBQ2Isc0JBQVcsQ0FBQTtJQUNYLHdCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUpXLE9BQU8sS0FBUCxPQUFPLFFBSWxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2VsbERhdGEgfSBmcm9tICcuL2NlbGwtZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRDZWxsRGF0YSBleHRlbmRzIENlbGxEYXRhIHtcclxuICAgIG9yZGVyQnk/OiBPcmRlckJ5OyAvLyBQb3NzaWJsZSB2YWx1ZXMgYG5vbmVgLCBgYXNjYCwgYGRlc2NgLlxyXG4gICAgaGFzRmlsdGVyPzogYm9vbGVhbjtcclxuICAgIGZpbHRlckNsYXNzZXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZENlbGxNb2RlbERhdGEgZXh0ZW5kcyBIZWFkQ2VsbERhdGEge1xyXG4gICAgdmFsdWVGaWx0ZXI/OiBzdHJpbmc7XHJcbiAgICBhY3RpdmVGaWx0ZXI/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBPcmRlckJ5IHtcclxuICAgIG5vbmUgPSAnbm9uZScsXHJcbiAgICBhc2MgPSAnYXNjJyxcclxuICAgIGRlc2MgPSAnZGVzYydcclxufVxyXG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './head-cell-data';
2
2
  export * from './cell-data';
3
3
  export * from './row-data';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hlYWQtY2VsbC1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9jZWxsLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Jvdy1kYXRhJztcclxuIl19
4
+ export * from './wrapper-data';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaGVhZC1jZWxsLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NlbGwtZGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm93LWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL3dyYXBwZXItZGF0YSc7XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjYWxjdWxhdGUtdGFibGUtcGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvaW50ZXJmYWNlcy9yZWNhbGN1bGF0ZS10YWJsZS1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T3JkZXJCeX0gZnJvbSAnLi9oZWFkLWNlbGwtZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2FsY3VsYXRlVGFibGVQYXJhbXMge1xyXG5cclxuICBmaWx0ZXJzOiB7XHJcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxyXG4gICAgZmlsdGVyVGV4dDogc3RyaW5nXHJcbiAgfVtdO1xyXG5cclxuICBzb3J0OiB7XHJcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyLFxyXG4gICAgb3JkZXI6IE9yZGVyQnlcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsRGF0YSB9IGZyb20gJy4vY2VsbC1kYXRhJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm93RGF0YSB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNlbGxzTGlzdDogQ2VsbERhdGFbXTtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXRhYmxlcy9pbnRlcmZhY2VzL3Jvdy1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZWxsRGF0YSB9IGZyb20gJy4vY2VsbC1kYXRhJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm93RGF0YSB7XHJcbiAgICBpZD86IHN0cmluZztcclxuICAgIGNlbGxzTGlzdDogQ2VsbERhdGFbXTtcclxuICAgIGNoZWNrZWQ/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS10YWJsZXMvaW50ZXJmYWNlcy93cmFwcGVyLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2VzaWJpbGl0eURhdGEgfSBmcm9tICcuLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9hY2Nlc2liaWxpdHktZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdyYXBwZXJEYXRhIGV4dGVuZHMgQWNjZXNpYmlsaXR5RGF0YSB7XHJcbiAgICBjbGFzc2VzPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class AccordionHeaderComponent extends ContentBaseComponent {
4
+ }
5
+ AccordionHeaderComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-accordion-header',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ AccordionHeaderComponent.propDecorators = {
12
+ classes: [{ type: Input }]
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvYWNjb3JkaW9uL2FjY29yZGlvbi1oZWFkZXIvYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFPbkUsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG9CQUFvQjs7O1lBSmpFLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUUsdUVBQXVFO2FBQ2xGOzs7c0JBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtBY2NvcmRpb25IZWFkZXJEYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1hY2NvcmRpb24taGVhZGVyJyxcclxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkhlYWRlckNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWNjb3JkaW9uSGVhZGVyRGF0YSB7XHJcblxyXG4gIEBJbnB1dCgpIGNsYXNzZXM/OiBzdHJpbmc7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
3
+ import { AccordionHeaderComponent } from '../accordion-header/accordion-header.component';
4
+ import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
5
+ import { ContentComponent } from '../../../../desy-commons/components/content/content.component';
6
+ import { AccessibilityComponent } from '../../../../shared/components';
7
+ export class AccordionItemComponent extends AccessibilityComponent {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.openChange = new EventEmitter();
11
+ }
12
+ }
13
+ AccordionItemComponent.decorators = [
14
+ { type: Component, args: [{
15
+ selector: 'desy-accordion-item',
16
+ template: ''
17
+ },] }
18
+ ];
19
+ AccordionItemComponent.propDecorators = {
20
+ id: [{ type: Input }],
21
+ open: [{ type: Input }],
22
+ classes: [{ type: Input }],
23
+ openChange: [{ type: Output }],
24
+ headerComponent: [{ type: ContentChildren, args: [AccordionHeaderComponent,] }],
25
+ contentComponent: [{ type: ContentChildren, args: [ContentComponent,] }]
26
+ };
27
+ __decorate([
28
+ DesyContentChild()
29
+ ], AccordionItemComponent.prototype, "headerComponent", void 0);
30
+ __decorate([
31
+ DesyContentChild()
32
+ ], AccordionItemComponent.prototype, "contentComponent", void 0);
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL2FjY29yZGlvbi9hY2NvcmRpb24taXRlbS9hY2NvcmRpb24taXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXRGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBTXJFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFKbEU7O1FBVVksZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO0lBUTVFLENBQUM7OztZQWxCQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsUUFBUSxFQUFFLEVBQUU7YUFDYjs7O2lCQUdFLEtBQUs7bUJBQ0wsS0FBSztzQkFDTCxLQUFLO3lCQUVMLE1BQU07OEJBR04sZUFBZSxTQUFDLHdCQUF3QjsrQkFHeEMsZUFBZSxTQUFDLGdCQUFnQjs7QUFIVTtJQUQxQyxnQkFBZ0IsRUFBRTsrREFDa0U7QUFHbEQ7SUFEbEMsZ0JBQWdCLEVBQUU7Z0VBQ21EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2NvcmRpb25JdGVtRGF0YX0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7QWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuLi9hY2NvcmRpb24taGVhZGVyL2FjY29yZGlvbi1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcclxuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktYWNjb3JkaW9uLWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWNjb3JkaW9uSXRlbURhdGEge1xyXG5cclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25IZWFkZXJDb21wb25lbnQpIGhlYWRlckNvbXBvbmVudDogQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50OiBDb250ZW50Q29tcG9uZW50O1xyXG5cclxufVxyXG4iXX0=
@@ -1,97 +1,120 @@
1
- import { Component, Input, ViewChildren } from '@angular/core';
2
- import { AccessibilityComponent } from "../../../shared/components";
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, Input, ViewChildren } from '@angular/core';
3
+ import { AccessibilityComponent } from '../../../shared/components';
4
+ import { AccordionHeaderComponent } from './accordion-header/accordion-header.component';
5
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
6
+ import { AccordionItemComponent } from './accordion-item/accordion-item.component';
3
7
  export class AccordionComponent extends AccessibilityComponent {
4
8
  constructor() {
5
9
  super(...arguments);
6
10
  this.showAll = true;
7
11
  }
8
12
  ngOnChanges(changes) {
9
- if (!this.items) {
10
- throw new Error(`items are required`);
11
- }
12
- else {
13
- this.items.forEach(item => {
14
- if (!item.html && !item.text) {
15
- throw new Error(`html or text are required`);
16
- }
17
- if (!item.headerHtml && !item.headerText) {
18
- throw new Error(`headerHtml or headerText are required`);
19
- }
20
- });
21
- }
22
- if (this.heading) {
23
- if (!this.heading.html && !this.heading.text) {
24
- throw new Error(`heading.html or heading.text are required`);
25
- }
26
- }
27
- }
28
- getIdPrefix() {
29
- if (this.idPrefix) {
30
- return this.idPrefix;
13
+ if (!this.idPrefix) {
14
+ throw new Error(`idPrefix is required`);
31
15
  }
32
16
  }
33
- getItemId(index) {
17
+ getItemId(item, index) {
34
18
  let id;
35
- if (this.items[index].id) {
36
- id = this.items[index].id;
19
+ if (item.id) {
20
+ id = item.id;
37
21
  }
38
22
  else {
39
- id = this.getIdPrefix() + '-' + index;
23
+ if (index === 0) {
24
+ id = this.idPrefix ? this.idPrefix : undefined;
25
+ }
26
+ else {
27
+ id = this.idPrefix ? this.idPrefix + '-' + index : index;
28
+ }
40
29
  }
41
30
  return id;
42
31
  }
43
32
  changeAll() {
44
- this.items.forEach(item => {
33
+ const items = this.getItems();
34
+ items.forEach(item => {
35
+ const isChange = item.open !== this.showAll;
45
36
  item.open = this.showAll;
37
+ if (isChange && item instanceof AccordionItemComponent) {
38
+ item.openChange.emit(item.open);
39
+ }
46
40
  });
47
41
  this.showAll = !this.showAll;
48
42
  }
49
- changeOpen(item) {
50
- if (this.allowMultiple) {
51
- item.open = !item.open;
52
- }
53
- else {
54
- if (item.open) {
55
- item.open = false;
56
- }
57
- else {
58
- this.items.forEach(item => {
59
- item.open = false;
43
+ toggleItem(item) {
44
+ if (!item.open || this.allowToggle) {
45
+ const newOpenValue = !item.open;
46
+ if (!this.allowMultiple) {
47
+ const items = this.getItems();
48
+ items.forEach(it => {
49
+ const wasOpen = it.open;
50
+ it.open = false;
51
+ if (wasOpen && it !== item && it instanceof AccordionItemComponent) {
52
+ it.openChange.emit(it.open);
53
+ }
60
54
  });
61
- item.open = true;
55
+ }
56
+ item.open = newOpenValue;
57
+ if (item instanceof AccordionItemComponent) {
58
+ item.openChange.emit(item.open);
62
59
  }
63
60
  }
64
61
  }
65
62
  focusFirstItem(event) {
66
- if (event) {
67
- event.preventDefault();
68
- }
63
+ event.preventDefault();
69
64
  this.itemSelectors.toArray()[0].nativeElement.focus();
70
65
  }
71
66
  focusLastItem(event) {
72
- if (event) {
73
- event.preventDefault();
74
- }
67
+ event.preventDefault();
75
68
  this.itemSelectors.toArray()[this.itemSelectors.length - 1].nativeElement.focus();
76
69
  }
77
- focusNextItem(focusedItem) {
78
- if (this.itemSelectors.toArray()[focusedItem + 1] != null) {
79
- this.itemSelectors.toArray()[focusedItem + 1].nativeElement.focus();
70
+ focusNextItem(event, focusedItem) {
71
+ event.preventDefault();
72
+ const selectors = this.itemSelectors.toArray();
73
+ if (selectors[(focusedItem + 1) % selectors.length] != null) {
74
+ selectors[(focusedItem + 1) % selectors.length].nativeElement.focus();
80
75
  }
81
76
  }
82
- focusPreviousItem(focusedItem) {
83
- if (this.itemSelectors.toArray()[focusedItem - 1] != null) {
84
- this.itemSelectors.toArray()[focusedItem - 1].nativeElement.focus();
77
+ focusPreviousItem(event, focusedItem) {
78
+ event.preventDefault();
79
+ const selectors = this.itemSelectors.toArray();
80
+ if (selectors[(focusedItem + selectors.length - 1) % selectors.length] != null) {
81
+ selectors[(focusedItem + selectors.length - 1) % selectors.length].nativeElement.focus();
85
82
  }
86
83
  }
87
84
  selectItem(i) {
88
85
  this.currentItem = i;
89
86
  }
87
+ getTitleClasses() {
88
+ let classes = 'c-h2 mb-base';
89
+ if (this.headingComponent && this.headingComponent.classes) {
90
+ classes = this.headingComponent.classes;
91
+ }
92
+ else if (this.heading && this.heading.classes) {
93
+ classes = this.heading.classes;
94
+ }
95
+ return classes;
96
+ }
97
+ getItems() {
98
+ const items = this.itemComponentList && this.itemComponentList.length > 0 ? this.itemComponentList.toArray() : this.items;
99
+ if (!items || items.length === 0) {
100
+ throw new Error(`items are required`);
101
+ }
102
+ return items;
103
+ }
104
+ getItemHeader(item) {
105
+ return item instanceof AccordionItemComponent ? item.headerComponent : null;
106
+ }
107
+ getItemContent(item) {
108
+ return item instanceof AccordionItemComponent ? item.contentComponent : null;
109
+ }
110
+ handleRequiredEmpty(text) {
111
+ throw new Error(text);
112
+ }
90
113
  }
91
114
  AccordionComponent.decorators = [
92
115
  { type: Component, args: [{
93
116
  selector: 'desy-accordion',
94
- template: "<div [class]=\"classes\"\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 <div class=\"flex justify-between\" *ngIf=\"heading\">\r\n <h2 [desyInnerContent]=\"heading.html ? heading.html : heading.text\" [isHtml]=\"heading.html\"\r\n [class]=\"['c-h2 mb-base', heading.classes] | makeHtmlList\">\r\n </h2>\r\n <button\r\n class=\"ml-auto py-base text-sm text-neutral-dark underline focus:text-black focus:bg-warning-base focus:outline-none focus:shadow-outline-focus\"\r\n *ngIf=\"showControl && showAll\" (click)=\"changeAll()\">\r\n Mostrar todo\r\n </button>\r\n <button\r\n class=\"ml-auto py-base text-sm text-neutral-dark underline focus:text-black focus:bg-warning-base focus:outline-none focus:shadow-outline-focus\"\r\n *ngIf=\"showControl && !showAll\" (click)=\"changeAll()\">\r\n Ocultar todo\r\n </button>\r\n </div>\r\n <div class=\"Accordion\">\r\n <div *ngFor=\"let item of items; index as i\"\r\n (keydown.home)=\"focusFirstItem($event)\"\r\n (keydown.end)=\"focusLastItem($event)\"\r\n (keydown.arrowup)=\"focusPreviousItem(i)\"\r\n (keydown.arrowdown)=\"focusNextItem(i)\"\r\n (click)=\"selectItem(i)\"\r\n [class]=\"['-my-px px-xs py-sm border-t border-b border-neutral-base', item.classes] | makeHtmlList\"\r\n [attr.id]=\"getItemId(i)\"\r\n [attr.role]=\"(item.role ? role : 'accordion')\"\r\n [attr.aria-selected]=\"currentItem === i ? 'true' : 'false'\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"'accordion-' + getItemId(i)\"\r\n [attr.aria-current]=\"item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"(currentItem !== i || item.disabled ? '-1' : null)\">\r\n <h3>\r\n <ng-container\r\n *ngTemplateOutlet=\"item.headerHtml ? headerHtml : headerText; context: {item: item, i: i}\"></ng-container>\r\n </h3>\r\n <div\r\n [id]=\"id ? id : null\"\r\n class=\"Accordion-panel\" [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n *ngIf=\"item.open\">\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #headerHtml let-item=\"item\" let-i=\"i\">\r\n <button #itemSelector\r\n [class]=\"['Accordion-trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n *ngIf=\"item.headerHtml\" [desyInnerContent]=\"item.headerHtml\" [isHtml]=\"item.headerHtml\">\r\n </button>\r\n </ng-template>\r\n\r\n <ng-template #headerText let-item=\"item\">\r\n <button #itemSelector\r\n [class]=\"['Accordion-trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n *ngIf=\"!item.headerHtml\" (click)=\"changeOpen(item)\">\r\n {{item.headerText}}\r\n <span\r\n class=\"absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none\"\r\n aria-hidden=\"true\" *ngIf=\"!item.open\">\r\n Mostrar\r\n </span>\r\n <span\r\n class=\"absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none\"\r\n aria-hidden=\"true\" *ngIf=\"item.open && (allowToggle || allowMultiple)\">\r\n Ocultar\r\n </span>\r\n </button>\r\n </ng-template>\r\n</div>\r\n"
117
+ template: "<div [class]=\"classes\"\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 <div class=\"flex justify-between\">\r\n <ng-container *ngIf=\"headingComponent || heading\">\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h1 *ngSwitchCase=\"1\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [class]=\"getTitleClasses()\" (desyContentEmpty)=\"handleRequiredEmpty('heading content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: headingComponent ? headingComponent : null,\r\n html: heading ? heading.html : null,\r\n text: heading ? heading.text : null\r\n }\"></ng-container>\r\n </h5>\r\n </ng-container>\r\n <button *ngIf=\"showControl\" (click)=\"changeAll()\"\r\n class=\"ml-auto py-base text-sm text-neutral-dark underline focus:text-black focus:bg-warning-base focus:outline-none focus:shadow-outline-focus\">\r\n {{showAll ? 'Mostrar' : 'Ocultar'}} todo\r\n </button>\r\n </ng-container>\r\n </div>\r\n <div class=\"Accordion\">\r\n <div *ngFor=\"let item of getItems(); index as i\" class=\"-my-px px-xs py-sm border-t border-b border-neutral-base\"\r\n (keydown.home)=\"focusFirstItem($event)\"\r\n (keydown.end)=\"focusLastItem($event)\"\r\n (keydown.arrowup)=\"focusPreviousItem($event, i)\"\r\n (keydown.arrowdown)=\"focusNextItem($event, i)\"\r\n (click)=\"selectItem(i)\">\r\n\r\n <ng-container [ngSwitch]=\"headingLevel > 0 && headingLevel < 6 ? headingLevel : 2\">\r\n <h2 *ngSwitchCase=\"1\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h2>\r\n <h3 *ngSwitchCase=\"2\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h3>\r\n <h4 *ngSwitchCase=\"3\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h4>\r\n <h5 *ngSwitchCase=\"4\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h5>\r\n <h6 *ngSwitchCase=\"5\"><ng-container *ngTemplateOutlet=\"itemHeaderContent; context: {item: item, id: getItemId(item, i), index: i}\"></ng-container></h6>\r\n </ng-container>\r\n <p class=\"sr-only\" aria-hidden=\"true\">Haz click en el bot\u00F3n anterior para mostrar u ocultar</p>\r\n <div *ngIf=\"item.open\" class=\"Accordion-panel\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item content, html or text are required at position ' + i)\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.role]=\"(item.role ? role : 'accordion')\"\r\n [attr.aria-selected]=\"currentItem === i ? 'true' : 'false'\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"'accordion-' + getItemId(item, i)\"\r\n [attr.aria-current]=\"item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\">\r\n <ng-container *desyCustomInnerContent=\"{ component: getItemContent(item), html: item.html, text: item.text }\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #itemHeaderContent let-item=\"item\" let-id=\"id\" let-index=\"index\">\r\n <button #itemSelector [id]=\"id + '-title'\" class=\"Accordion-trigger group relative w-full py-sm font-semibold text-left cursor-pointer focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item heading content, html or text are required at position ' + index)\"\r\n [attr.aria-controls]=\"id\" [attr.aria-expanded]=\"item.open\" (click)=\"toggleItem(item)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: getItemHeader(item), html: item.headerHtml, text: item.headerText }\"></ng-container>\r\n <span #desyContentEmptyIgnore *ngIf=\"allowToggle || !item.open\" class=\"absolute inset-y-0 right-0 py-sm font-normal text-sm text-neutral-dark underline group-focus:text-black pointer-events-none\" aria-hidden=\"true\">\r\n {{ item.open ? 'Ocultar' : 'Mostrar' }}\r\n </span>\r\n </button>\r\n</ng-template>\r\n"
95
118
  },] }
96
119
  ];
97
120
  AccordionComponent.propDecorators = {
@@ -100,9 +123,14 @@ AccordionComponent.propDecorators = {
100
123
  allowToggle: [{ type: Input }],
101
124
  allowMultiple: [{ type: Input }],
102
125
  heading: [{ type: Input }],
126
+ headingLevel: [{ type: Input }],
103
127
  showControl: [{ type: Input }],
104
128
  items: [{ type: Input }],
105
129
  classes: [{ type: Input }],
106
- id: [{ type: Input }]
130
+ headingComponent: [{ type: ContentChildren, args: [AccordionHeaderComponent,] }],
131
+ itemComponentList: [{ type: ContentChildren, args: [AccordionItemComponent,] }]
107
132
  };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBdUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBT2xFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBc0I7SUFKOUQ7O1FBaUJFLFlBQU8sR0FBWSxJQUFJLENBQUM7SUEwRjFCLENBQUM7SUF2RkMsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7aUJBQzlDO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2lCQUMxRDtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7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Q0FBQztJQUN2QixDQUFDOzs7WUExR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLDYvSUFBeUM7YUFDMUM7Ozs0QkFHRSxZQUFZLFNBQUMsY0FBYzt1QkFFM0IsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSztpQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkcmVufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2NvcmRpb25IZWFkZXJEYXRhfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9hY2NvcmRpb24taGVhZGVyLmRhdGFcIjtcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHNcIjtcclxuaW1wb3J0IHtBY2NvcmRpb25JdGVtRGF0YX0gZnJvbSBcIi4uLy4uL2ludGVyZmFjZXMvYWNjb3JkaW9uLWl0ZW0uZGF0YVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWFjY29yZGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjY29yZGlvbkNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXN7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2l0ZW1TZWxlY3RvcicpIGl0ZW1TZWxlY3RvcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBhbGxvd1RvZ2dsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhbGxvd011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhlYWRpbmc6IEFjY29yZGlvbkhlYWRlckRhdGE7XHJcbiAgQElucHV0KCkgc2hvd0NvbnRyb2w6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXRlbXM6IEFjY29yZGlvbkl0ZW1EYXRhW107XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcblxyXG4gIHNob3dBbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGN1cnJlbnRJdGVtOiBudW1iZXI7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pdGVtcykge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGl0ZW1zIGFyZSByZXF1aXJlZGApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmICghaXRlbS5odG1sICYmICFpdGVtLnRleHQpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaHRtbCBvciB0ZXh0IGFyZSByZXF1aXJlZGApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWl0ZW0uaGVhZGVySHRtbCAmJiAhaXRlbS5oZWFkZXJUZXh0KSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGhlYWRlckh0bWwgb3IgaGVhZGVyVGV4dCBhcmUgcmVxdWlyZWRgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGVhZGluZykge1xyXG4gICAgICBpZiAoIXRoaXMuaGVhZGluZy5odG1sICYmICF0aGlzLmhlYWRpbmcudGV4dCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaGVhZGluZy5odG1sIG9yIGhlYWRpbmcudGV4dCBhcmUgcmVxdWlyZWRgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmlkUHJlZml4KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmlkUHJlZml4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUlkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGlkO1xyXG4gICAgaWYgKHRoaXMuaXRlbXNbaW5kZXhdLmlkKSB7XHJcbiAgICAgIGlkID0gdGhpcy5pdGVtc1tpbmRleF0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArIGluZGV4O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlQWxsKCkge1xyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpdGVtLm9wZW4gPSB0aGlzLnNob3dBbGw7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2hvd0FsbCA9ICF0aGlzLnNob3dBbGw7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VPcGVuKGl0ZW06IEFjY29yZGlvbkl0ZW1EYXRhKSB7XHJcbiAgICBpZiAodGhpcy5hbGxvd011bHRpcGxlKSB7XHJcbiAgICAgIGl0ZW0ub3BlbiA9ICFpdGVtLm9wZW47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaXRlbS5vcGVuKSB7XHJcbiAgICAgICAgaXRlbS5vcGVuID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgaXRlbS5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaXRlbS5vcGVuID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9jdXNGaXJzdEl0ZW0oZXZlbnQ/KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXRlbVNlbGVjdG9ycy50b0FycmF5KClbMF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNMYXN0SXRlbShldmVudD8pOiB2b2lkIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVt0aGlzLml0ZW1TZWxlY3RvcnMubGVuZ3RoIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNOZXh0SXRlbShmb2N1c2VkSXRlbTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVtmb2N1c2VkSXRlbSArIDFdICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVtmb2N1c2VkSXRlbSArIDFdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzUHJldmlvdXNJdGVtKGZvY3VzZWRJdGVtOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLml0ZW1TZWxlY3RvcnMudG9BcnJheSgpW2ZvY3VzZWRJdGVtIC0gMV0gIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLml0ZW1TZWxlY3RvcnMudG9BcnJheSgpW2ZvY3VzZWRJdGVtIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbSggaTogbnVtYmVyICk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50SXRlbSA9IGk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
133
+ __decorate([
134
+ DesyContentChild()
135
+ ], AccordionComponent.prototype, "headingComponent", void 0);
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUF1QyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0gsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFbEUsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFRakYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQUo5RDs7UUFxQkUsWUFBTyxHQUFHLElBQUksQ0FBQztJQWtIakIsQ0FBQztJQS9HQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBYTtRQUMzQixJQUFJLEVBQUUsQ0FBQztRQUNQLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2Q7YUFBTTtZQUNMLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDZixFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2FBQ2hE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LENBQUMsS0FBSyxDQUFDO1FBQzFILElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXVCO1FBQ25DLE9BQU8sSUFBSSxZQUFZLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDOUUsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUF1QjtRQUNwQyxPQUFPLElBQUksWUFBWSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDOzs7WUF0SUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHExTkFBeUM7YUFDMUM7Ozs0QkFHRSxZQUFZLFNBQUMsY0FBYzt1QkFFM0IsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLOytCQUdMLGVBQWUsU0FBQyx3QkFBd0I7Z0NBQ3hDLGVBQWUsU0FBQyxzQkFBc0I7O0FBREk7SUFEMUMsZ0JBQWdCLEVBQUU7NERBQ21FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FjY29yZGlvbkhlYWRlckRhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtBY2NvcmRpb25JdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7QWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2FjY29yZGlvbi1oZWFkZXIvYWNjb3JkaW9uLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0FjY29yZGlvbkl0ZW1Db21wb25lbnR9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktYWNjb3JkaW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWNjb3JkaW9uQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2l0ZW1TZWxlY3RvcicpIGl0ZW1TZWxlY3RvcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcclxuXHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBhbGxvd1RvZ2dsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhbGxvd011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhlYWRpbmc6IEFjY29yZGlvbkhlYWRlckRhdGE7XHJcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsO1xyXG4gIEBJbnB1dCgpIHNob3dDb250cm9sOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBBY2NvcmRpb25JdGVtRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50KSBoZWFkaW5nQ29tcG9uZW50OiBBY2NvcmRpb25IZWFkZXJDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihBY2NvcmRpb25JdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PEFjY29yZGlvbkl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICBzaG93QWxsID0gdHJ1ZTtcclxuICBjdXJyZW50SXRlbTogbnVtYmVyO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWRQcmVmaXgpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpZFByZWZpeCBpcyByZXF1aXJlZGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUlkKGl0ZW0sIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGlkO1xyXG4gICAgaWYgKGl0ZW0uaWQpIHtcclxuICAgICAgaWQgPSBpdGVtLmlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XHJcbiAgICAgICAgaWQgPSB0aGlzLmlkUHJlZml4ID8gdGhpcy5pZFByZWZpeCA6IHVuZGVmaW5lZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZCA9IHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4ICsgJy0nICsgaW5kZXggOiBpbmRleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlkO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlQWxsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBjb25zdCBpc0NoYW5nZSA9IGl0ZW0ub3BlbiAhPT0gdGhpcy5zaG93QWxsO1xyXG4gICAgICBpdGVtLm9wZW4gPSB0aGlzLnNob3dBbGw7XHJcbiAgICAgIGlmIChpc0NoYW5nZSAmJiBpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGl0ZW0ub3BlbkNoYW5nZS5lbWl0KGl0ZW0ub3Blbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zaG93QWxsID0gIXRoaXMuc2hvd0FsbDtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUl0ZW0oaXRlbTogQWNjb3JkaW9uSXRlbURhdGEpOiB2b2lkIHtcclxuICAgIGlmICghaXRlbS5vcGVuIHx8IHRoaXMuYWxsb3dUb2dnbGUpIHtcclxuICAgICAgY29uc3QgbmV3T3BlblZhbHVlID0gIWl0ZW0ub3BlbjtcclxuICAgICAgaWYgKCF0aGlzLmFsbG93TXVsdGlwbGUpIHtcclxuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcclxuICAgICAgICBpdGVtcy5mb3JFYWNoKGl0ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHdhc09wZW4gPSBpdC5vcGVuO1xyXG4gICAgICAgICAgaXQub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHdhc09wZW4gJiYgaXQgIT09IGl0ZW0gJiYgaXQgaW5zdGFuY2VvZiBBY2NvcmRpb25JdGVtQ29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIGl0Lm9wZW5DaGFuZ2UuZW1pdChpdC5vcGVuKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBpdGVtLm9wZW4gPSBuZXdPcGVuVmFsdWU7XHJcbiAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCkge1xyXG4gICAgICAgIGl0ZW0ub3BlbkNoYW5nZS5lbWl0KGl0ZW0ub3Blbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzRmlyc3RJdGVtKGV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVswXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0xhc3RJdGVtKGV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5pdGVtU2VsZWN0b3JzLnRvQXJyYXkoKVt0aGlzLml0ZW1TZWxlY3RvcnMubGVuZ3RoIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNOZXh0SXRlbShldmVudCwgZm9jdXNlZEl0ZW06IG51bWJlcik6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IHNlbGVjdG9ycyA9IHRoaXMuaXRlbVNlbGVjdG9ycy50b0FycmF5KCk7XHJcbiAgICBpZiAoc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIDEpICUgc2VsZWN0b3JzLmxlbmd0aF0gIT0gbnVsbCkge1xyXG4gICAgICBzZWxlY3RvcnNbKGZvY3VzZWRJdGVtICsgMSkgJSBzZWxlY3RvcnMubGVuZ3RoXS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb2N1c1ByZXZpb3VzSXRlbShldmVudCwgZm9jdXNlZEl0ZW06IG51bWJlcik6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGNvbnN0IHNlbGVjdG9ycyA9IHRoaXMuaXRlbVNlbGVjdG9ycy50b0FycmF5KCk7XHJcbiAgICBpZiAoc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIHNlbGVjdG9ycy5sZW5ndGggLSAxKSAlIHNlbGVjdG9ycy5sZW5ndGhdICE9IG51bGwpIHtcclxuICAgICAgc2VsZWN0b3JzWyhmb2N1c2VkSXRlbSArIHNlbGVjdG9ycy5sZW5ndGggLSAxKSAlIHNlbGVjdG9ycy5sZW5ndGhdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0oIGk6IG51bWJlciApOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudEl0ZW0gPSBpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGl0bGVDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgY2xhc3NlcyA9ICdjLWgyIG1iLWJhc2UnO1xyXG4gICAgaWYgKHRoaXMuaGVhZGluZ0NvbXBvbmVudCAmJiB0aGlzLmhlYWRpbmdDb21wb25lbnQuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy5oZWFkaW5nQ29tcG9uZW50LmNsYXNzZXM7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGVhZGluZyAmJiB0aGlzLmhlYWRpbmcuY2xhc3Nlcykge1xyXG4gICAgICBjbGFzc2VzID0gdGhpcy5oZWFkaW5nLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcblxyXG4gIGdldEl0ZW1zKCk6IEFjY29yZGlvbkl0ZW1EYXRhW10ge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLml0ZW1Db21wb25lbnRMaXN0ICYmIHRoaXMuaXRlbUNvbXBvbmVudExpc3QubGVuZ3RoID4gMCA/IHRoaXMuaXRlbUNvbXBvbmVudExpc3QudG9BcnJheSgpIDogdGhpcy5pdGVtcztcclxuICAgIGlmICghaXRlbXMgfHwgaXRlbXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaXRlbXMgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbXM7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSGVhZGVyKGl0ZW06IEFjY29yZGlvbkl0ZW1EYXRhKTogQWNjb3JkaW9uSGVhZGVyQ29tcG9uZW50IHtcclxuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgQWNjb3JkaW9uSXRlbUNvbXBvbmVudCA/IGl0ZW0uaGVhZGVyQ29tcG9uZW50IDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1Db250ZW50KGl0ZW06IEFjY29yZGlvbkl0ZW1EYXRhKTogQ29udGVudENvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIEFjY29yZGlvbkl0ZW1Db21wb25lbnQgPyBpdGVtLmNvbnRlbnRDb21wb25lbnQgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVxdWlyZWRFbXB0eSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcih0ZXh0KTtcclxuICB9XHJcbn1cclxuIl19