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
@@ -0,0 +1,30 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class NavItemComponent extends ContentBaseComponent {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.clickEvent = new EventEmitter();
7
+ this.activeChange = new EventEmitter();
8
+ }
9
+ }
10
+ NavItemComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: 'desy-nav-item',
13
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
14
+ },] }
15
+ ];
16
+ NavItemComponent.propDecorators = {
17
+ id: [{ type: Input }],
18
+ active: [{ type: Input }],
19
+ classes: [{ type: Input }],
20
+ title: [{ type: Input }],
21
+ href: [{ type: Input }],
22
+ routerLink: [{ type: Input }],
23
+ fragment: [{ type: Input }],
24
+ target: [{ type: Input }],
25
+ disabled: [{ type: Input }],
26
+ divider: [{ type: Input }],
27
+ clickEvent: [{ type: Output }],
28
+ activeChange: [{ type: Output }]
29
+ };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9uYXYvbmF2LWl0ZW0vbmF2LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNbkUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFvQjtJQUoxRDs7UUFpQlksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQ2xELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUN2RCxDQUFDOzs7WUFuQkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QiwrRkFBd0M7YUFDekM7OztpQkFHRSxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSztvQkFDTCxLQUFLO21CQUNMLEtBQUs7eUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO3lCQUVMLE1BQU07MkJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05hdkl0ZW1EYXRhLCBOYXZJdGVtRXZlbnREYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW5hdi1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZJdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBOYXZJdGVtRGF0YSB7XHJcblxyXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2xhc3Nlcz86IHN0cmluZztcclxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvdXRlckxpbms/OiBzdHJpbmd8YW55W107XHJcbiAgQElucHV0KCkgZnJhZ21lbnQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkaXZpZGVyPzogYm9vbGVhbjtcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XHJcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxufVxyXG4iXX0=
@@ -1,34 +1,55 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { AccessibilityComponent, textOrHtmlRequiredFunction } from '../../../shared/components';
3
- import { NavigationUtils } from '../../../shared/utils/navigation-utils';
1
+ import { Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../shared/components';
3
+ import { NavItemComponent } from './nav-item/nav-item.component';
4
4
  export class NavComponent extends AccessibilityComponent {
5
5
  constructor() {
6
6
  super(...arguments);
7
+ this.hasNav = true;
7
8
  this.clickEvent = new EventEmitter();
8
9
  }
9
- getExternalHref(item) {
10
- return NavigationUtils.getExternalHref(item.href);
11
- }
12
10
  onClick(event, item) {
13
- this.items.forEach(i => i.active = false);
11
+ const itemsActiveChange = [];
12
+ if (!item.active) {
13
+ itemsActiveChange.push(item);
14
+ }
15
+ const itemList = this.getItemList();
16
+ itemList.forEach(i => {
17
+ if (i.active && i !== item) {
18
+ itemsActiveChange.push(i);
19
+ }
20
+ i.active = false;
21
+ });
14
22
  item.active = true;
23
+ // Se emite el evento sólo para los items cuyo valor de active ha sido modificado
24
+ itemsActiveChange.forEach(i => {
25
+ if (i instanceof NavItemComponent) {
26
+ i.activeChange.emit(i.active);
27
+ }
28
+ });
15
29
  this.clickEvent.emit({ item, event });
30
+ if (item instanceof NavItemComponent) {
31
+ item.clickEvent.emit({ item, event });
32
+ }
16
33
  }
17
34
  ngOnChanges(changes) {
18
- this.checkRequiredParams();
35
+ if (!this.idPrefix) {
36
+ throw new Error(`idPrefix is required`);
37
+ }
19
38
  }
20
- checkRequiredParams() {
21
- if (!this.items) {
39
+ getItemList() {
40
+ const itemList = this.itemComponentList && this.itemComponentList.length > 0 ? this.itemComponentList.toArray() : this.items;
41
+ if (!itemList || itemList.length === 0) {
22
42
  throw new Error(`items are required`);
23
43
  }
24
- else {
25
- this.items.forEach(element => {
26
- if (!element.href && !element.routerLink) {
27
- throw new Error(`href or routerLink are required`);
28
- }
29
- textOrHtmlRequiredFunction(element.text, element.html);
30
- });
31
- }
44
+ itemList.forEach(element => {
45
+ if (!element.href && !element.routerLink) {
46
+ throw new Error(`href or routerLink are required`);
47
+ }
48
+ });
49
+ return itemList;
50
+ }
51
+ handleContentEmpty(position) {
52
+ throw new Error(`item content, html or text are required at position ${position}`);
32
53
  }
33
54
  getItemId(item, index) {
34
55
  let id;
@@ -50,14 +71,15 @@ export class NavComponent extends AccessibilityComponent {
50
71
  NavComponent.decorators = [
51
72
  { type: Component, args: [{
52
73
  selector: 'desy-nav',
53
- template: "<ng-template #innerHtml>\r\n <ng-container *ngFor=\"let item of items; index as i\">\r\n <li [attr.role]=\"isMenu ? 'menuitem' : null\">\r\n <span *ngIf=\"item.active\"\r\n [class]=\"['flex items-center px-base py-sm truncate font-semibold', item.classes] | makeHtmlList\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n aria-current=\"page\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.tabindex]=\"item.tabindex\"\r\n (click)=\"onClick($event, item)\">\r\n <strong [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></strong>\r\n </span>\r\n <a *ngIf=\"!item.active && item.href\"\r\n [href]=\"getExternalHref(item)\" [target]=\"item.target\"\r\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white truncate focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n (click)=\"onClick($event, item)\">\r\n </a>\r\n <a *ngIf=\"!item.active && !item.href\"\r\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white truncate focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'opacity-50 pointer-events-none': item.disabled}\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n\r\n [attr.disabled]=\"item.disabled ? 'disabled' : null\"\r\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n (click)=\"onClick($event, item)\">\r\n </a>\r\n \r\n </li>\r\n\r\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\r\n <div class=\"sr-only\">Separador</div>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n\r\n<ul *ngIf=\"isMenu; else noMenu\" role=\"menu\"\r\n [class]=\"['text-sm', classes] | makeHtmlList\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n</ul>\r\n<ng-template #noMenu>\r\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ul>\r\n </nav>\r\n</ng-template>"
74
+ template: "<ng-template #innerHtml>\r\n <ng-container *ngFor=\"let item of getItemList(); index as i\">\r\n <li>\r\n <span *ngIf=\"item.active\"\r\n [class]=\"['flex items-center px-base py-sm font-semibold', item.classes] | makeHtmlList\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-disabled]=\"item.disabled ? item.disabled : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"hasNav ? 'true' : 'page'\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n [attr.tabindex]=\"item.tabindex\"\r\n (click)=\"onClick($event, item)\">\r\n <strong>\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </strong>\r\n </span>\r\n <a *ngIf=\"!item.active && item.href\"\r\n [href]=\"item.href | externalHref\" [target]=\"item.target\"\r\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\r\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n (desyContentEmpty)=\"handleContentEmpty(i)\"\r\n (click)=\"onClick($event, item)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n <svg #desyContentEmptyIgnore *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\r\n </a>\r\n <a *ngIf=\"!item.active && !item.href\"\r\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment\"\r\n [class]=\"['flex items-center px-base py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'pointer-events-none': item.disabled}\"\r\n [attr.aria-disabled]=\"item.disabled ? 'true' : null\"\r\n [attr.tabindex]=\"item.disabled ? -1 : item.tabindex\"\r\n [attr.id]=\"getItemId(item, i)\"\r\n [attr.title]=\"item.title ? item.title : null\"\r\n [attr.role]=\"item.role ? item.role : null\"\r\n [attr.aria-label]=\"item.ariaLabel ? item.ariaLabel : null\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy ? item.ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"item.ariaHidden ? item.ariaHidden : null\"\r\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\r\n [attr.aria-current]=\"item.ariaCurrent ? item.ariaCurrent : null\"\r\n [attr.aria-live]=\"item.ariaLive ? item.ariaLive : null\"\r\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup ? item.ariaHasPopup : null\"\r\n (click)=\"onClick($event, item)\"\r\n (desyContentEmpty)=\"handleContentEmpty(i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n <svg #desyContentEmptyIgnore *ngIf=\"item.disabled\" viewBox=\"0 0 140 140\" height=\"1em\" width=\"1em\" xmlns=\"http://www.w3.org/2000/svg\" class=\"inline-block align-middle ml-sm text-neutral-base fill-current\" aria-hidden=\"true\" focusable=\"false\" ><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zM20 70a50 50 0 0174.8-43.4 2.51 2.51 0 011.23 1.84 2.48 2.48 0 01-.71 2.1L30.54 95.32a2.51 2.51 0 01-3.94-.52A49.63 49.63 0 0120 70zm100 0a50 50 0 01-74.8 43.4 2.51 2.51 0 01-1.23-1.84 2.48 2.48 0 01.71-2.1l64.78-64.78a2.51 2.51 0 013.94.52A49.63 49.63 0 01120 70z\"/></svg>\r\n </a>\r\n </li>\r\n <li *ngIf=\"item.divider\" class=\"my-sm border-b border-neutral-base\" aria-hidden=\"true\">\r\n <div class=\"sr-only\">Separador</div>\r\n </li>\r\n </ng-container>\r\n</ng-template>\r\n\r\n\r\n<ul *ngIf=\"!hasNav; else wrapIntoNav\"\r\n [class]=\"['text-sm', classes] | makeHtmlList\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n</ul>\r\n<ng-template #wrapIntoNav>\r\n <nav [class]=\"['text-sm', classes] | makeHtmlList\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ul>\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ul>\r\n </nav>\r\n</ng-template>\r\n"
54
75
  },] }
55
76
  ];
56
77
  NavComponent.propDecorators = {
57
- isMenu: [{ type: Input }],
78
+ hasNav: [{ type: Input }],
58
79
  idPrefix: [{ type: Input }],
59
80
  items: [{ type: Input }],
60
81
  classes: [{ type: Input }],
61
- clickEvent: [{ type: Output }]
82
+ clickEvent: [{ type: Output }],
83
+ itemComponentList: [{ type: ContentChildren, args: [NavItemComponent,] }]
62
84
  };
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFPdkUsTUFBTSxPQUFPLFlBQWEsU0FBUSxzQkFBc0I7SUFKeEQ7O1FBV1ksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0lBOEM5RCxDQUFDO0lBNUNDLGVBQWUsQ0FBQyxJQUFpQjtRQUMvQixPQUFPLGVBQWUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxPQUFPLENBQUMsS0FBVSxFQUFFLElBQWlCO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QzthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBRTNCLElBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtvQkFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO2lCQUNwRDtnQkFFRCwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFpQixFQUFFLEtBQWE7UUFDeEMsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNkO2FBQU0sSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3RCLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNMLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUN2QztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUNwRCxDQUFDOzs7WUF4REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxVQUFVO2dCQUNwQiwyaVBBQW1DO2FBQ3BDOzs7cUJBR0UsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzt5QkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50LFxyXG4gIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9uXHJcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge05hdkl0ZW1EYXRhLCBOYXZJdGVtRXZlbnREYXRhfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtOYXZpZ2F0aW9uVXRpbHN9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9uYXZpZ2F0aW9uLXV0aWxzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbmF2JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2Q29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIGlzTWVudTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XHJcblxyXG4gIGdldEV4dGVybmFsSHJlZihpdGVtOiBOYXZJdGVtRGF0YSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTmF2aWdhdGlvblV0aWxzLmdldEV4dGVybmFsSHJlZihpdGVtLmhyZWYpO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhldmVudDogYW55LCBpdGVtOiBOYXZJdGVtRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKGkgPT4gaS5hY3RpdmUgPSBmYWxzZSk7XHJcbiAgICBpdGVtLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmNsaWNrRXZlbnQuZW1pdCh7IGl0ZW0sIGV2ZW50IH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGVja1JlcXVpcmVkUGFyYW1zKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja1JlcXVpcmVkUGFyYW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLml0ZW1zKXtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpdGVtcyBhcmUgcmVxdWlyZWRgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuXHJcbiAgICAgICAgaWYoIWVsZW1lbnQuaHJlZiAmJiAhZWxlbWVudC5yb3V0ZXJMaW5rKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGhyZWYgb3Igcm91dGVyTGluayBhcmUgcmVxdWlyZWRgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9uKGVsZW1lbnQudGV4dCwgZWxlbWVudC5odG1sKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWQoaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGlkO1xyXG4gICAgaWYgKGl0ZW0uaWQpIHtcclxuICAgICAgaWQgPSBpdGVtLmlkO1xyXG4gICAgfSBlbHNlIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlkID0gdGhpcy5nZXRJZFByZWZpeCgpICsgJy0nICsgaW5kZXg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJztcclxuICB9XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbmF2L25hdi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixFQUN2QixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBTy9ELE1BQU0sT0FBTyxZQUFhLFNBQVEsc0JBQXNCO0lBSnhEOztRQU1XLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFLYixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7SUFzRTlELENBQUM7SUFuRUMsT0FBTyxDQUFDLEtBQVUsRUFBRSxJQUFpQjtRQUNuQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUI7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDMUIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNCO1lBQ0QsQ0FBQyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixpRkFBaUY7UUFDakYsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxZQUFhLGdCQUFnQixFQUFFO2dCQUNsQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLFlBQVksZ0JBQWdCLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBdUI7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3SCxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztRQUVELFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7YUFDcEQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFnQjtRQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBaUIsRUFBRSxLQUFhO1FBQ3hDLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1gsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDZDthQUFNLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRTtZQUN0QixFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pCO2FBQU07WUFDTCxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7U0FDdkM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDcEQsQ0FBQzs7O1lBaEZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsK3FSQUFtQzthQUNwQzs7O3FCQUdFLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7eUJBRUwsTUFBTTtnQ0FDTixlQUFlLFNBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWNjZXNzaWJpbGl0eUNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtOYXZJdGVtRGF0YSwgTmF2SXRlbUV2ZW50RGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7TmF2SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9uYXYtaXRlbS9uYXYtaXRlbS5jb21wb25lbnQnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1uYXYnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXYuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOYXZDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgaGFzTmF2ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBOYXZJdGVtRGF0YVtdO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgQE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdkl0ZW1FdmVudERhdGE+KCk7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihOYXZJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50TGlzdDogUXVlcnlMaXN0PE5hdkl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBhbnksIGl0ZW06IE5hdkl0ZW1EYXRhKTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtc0FjdGl2ZUNoYW5nZSA9IFtdO1xyXG4gICAgaWYgKCFpdGVtLmFjdGl2ZSkge1xyXG4gICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5nZXRJdGVtTGlzdCgpO1xyXG4gICAgaXRlbUxpc3QuZm9yRWFjaChpID0+IHtcclxuICAgICAgaWYgKGkuYWN0aXZlICYmIGkgIT09IGl0ZW0pIHtcclxuICAgICAgICBpdGVtc0FjdGl2ZUNoYW5nZS5wdXNoKGkpO1xyXG4gICAgICB9XHJcbiAgICAgIGkuYWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcclxuXHJcbiAgICAvLyBTZSBlbWl0ZSBlbCBldmVudG8gc8OzbG8gcGFyYSBsb3MgaXRlbXMgY3V5byB2YWxvciBkZSBhY3RpdmUgaGEgc2lkbyBtb2RpZmljYWRvXHJcbiAgICBpdGVtc0FjdGl2ZUNoYW5nZS5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICBpZiAoaSBpbnN0YW5jZW9mICBOYXZJdGVtQ29tcG9uZW50KSB7XHJcbiAgICAgICAgaS5hY3RpdmVDaGFuZ2UuZW1pdChpLmFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY2xpY2tFdmVudC5lbWl0KHsgaXRlbSwgZXZlbnQgfSk7XHJcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIE5hdkl0ZW1Db21wb25lbnQpIHtcclxuICAgICAgaXRlbS5jbGlja0V2ZW50LmVtaXQoeyBpdGVtLCBldmVudCB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM/OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWRQcmVmaXgpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpZFByZWZpeCBpcyByZXF1aXJlZGApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUxpc3QoKTogTmF2SXRlbURhdGFbXSB7XHJcbiAgICBjb25zdCBpdGVtTGlzdCA9IHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwID8gdGhpcy5pdGVtQ29tcG9uZW50TGlzdC50b0FycmF5KCkgOiB0aGlzLml0ZW1zO1xyXG4gICAgaWYgKCFpdGVtTGlzdCB8fCBpdGVtTGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpdGVtcyBhcmUgcmVxdWlyZWRgKTtcclxuICAgIH1cclxuXHJcbiAgICBpdGVtTGlzdC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xyXG4gICAgICBpZiAoIWVsZW1lbnQuaHJlZiAmJiAhZWxlbWVudC5yb3V0ZXJMaW5rKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBocmVmIG9yIHJvdXRlckxpbmsgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGl0ZW1MaXN0O1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ29udGVudEVtcHR5KHBvc2l0aW9uOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcihgaXRlbSBjb250ZW50LCBodG1sIG9yIHRleHQgYXJlIHJlcXVpcmVkIGF0IHBvc2l0aW9uICR7cG9zaXRpb259YCk7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSWQoaXRlbTogTmF2SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgbGV0IGlkO1xyXG4gICAgaWYgKGl0ZW0uaWQpIHtcclxuICAgICAgaWQgPSBpdGVtLmlkO1xyXG4gICAgfSBlbHNlIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgICBpZCA9IHRoaXMuZ2V0SWRQcmVmaXgoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlkID0gdGhpcy5nZXRJZFByZWZpeCgpICsgJy0nICsgaW5kZXg7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWQ7XHJcbiAgfVxyXG5cclxuICBnZXRJZFByZWZpeCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,18 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class NotificationItemComponent extends ContentBaseComponent {
4
+ }
5
+ NotificationItemComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-notification-item',
8
+ template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
9
+ },] }
10
+ ];
11
+ NotificationItemComponent.propDecorators = {
12
+ href: [{ type: Input }],
13
+ target: [{ type: Input }],
14
+ routerLink: [{ type: Input }],
15
+ fragment: [{ type: Input }],
16
+ id: [{ type: Input }]
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBT25FLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxvQkFBb0I7OztZQUpsRSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFLHVFQUF1RTthQUNsRjs7O21CQUVFLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUNMLEtBQUs7aUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtOb3RpZmljYXRpb25JdGVtc0RhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW5vdGlmaWNhdGlvbi1pdGVtJyxcclxuICB0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE5vdGlmaWNhdGlvbkl0ZW1zRGF0YSB7XHJcbiAgQElucHV0KCkgaHJlZjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRhcmdldD86IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZyYWdtZW50Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,12 +1,21 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { AccessibilityComponent, textOrHtmlRequiredFunction } from '../../../shared/components';
1
+ import { __decorate } from "tslib";
2
+ import { ChangeDetectorRef, Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
3
+ import { AccessibilityComponent } from '../../../shared/components';
3
4
  import { animate, state, style, transition, trigger } from '@angular/animations';
5
+ import { TitleComponent } from '../../../desy-commons/components/title/title.component';
6
+ import { IconComponent } from '../../../desy-commons/components/icon/icon.component';
7
+ import { DescriptionComponent } from '../../../desy-commons/components/description/description.component';
8
+ import { ContentComponent } from '../../../desy-commons/components/content/content.component';
9
+ import { NotificationItemComponent } from './notification-item/notification-item.component';
10
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
4
11
  export class NotificationComponent extends AccessibilityComponent {
5
- constructor() {
6
- super(...arguments);
12
+ constructor(changeDetectorRef) {
13
+ super();
14
+ this.changeDetectorRef = changeDetectorRef;
7
15
  this.isOpen = true;
8
16
  this.isOpenChange = new EventEmitter();
9
17
  this.isDismissing = false;
18
+ this.displayDefaultIcon = false;
10
19
  }
11
20
  dismiss() {
12
21
  // Se emite 75ms más tarde para poder visualizar la animación en cualquier caso
@@ -23,30 +32,27 @@ export class NotificationComponent extends AccessibilityComponent {
23
32
  }
24
33
  return type;
25
34
  }
35
+ getItems() {
36
+ return this.itemCompontents && this.itemCompontents.length > 0 ? this.itemCompontents.toArray() : this.items;
37
+ }
38
+ handleIconEmpty(empty) {
39
+ this.displayDefaultIcon = empty;
40
+ // Como que el contenido vacío se comprueba a posteriori, es necesario forzar la detección de cambios para mostrar el icono por defecto
41
+ this.changeDetectorRef.detectChanges();
42
+ }
43
+ handleRequiredEmpty(text) {
44
+ throw new Error(text);
45
+ }
26
46
  ngOnChanges(changes) {
27
47
  if (!this.id) {
28
- throw new Error(`id are required`);
29
- }
30
- if (!this.title) {
31
- throw new Error(`title are required`);
32
- }
33
- else {
34
- textOrHtmlRequiredFunction(this.title.text, this.title.html);
35
- }
36
- if (this.description) {
37
- textOrHtmlRequiredFunction(this.description.text, this.description.html);
38
- }
39
- if (this.items) {
40
- this.items.forEach(element => {
41
- textOrHtmlRequiredFunction(element.text, element.html);
42
- });
48
+ throw new Error(`id is required`);
43
49
  }
44
50
  }
45
51
  }
46
52
  NotificationComponent.decorators = [
47
53
  { type: Component, args: [{
48
54
  selector: 'desy-notification',
49
- template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type=='success' ? 'c-notification c-notification--' + type : type=='alert' ? 'c-notification c-notification--' + type : 'c-notification c-notification--primary') \"\r\n *ngIf=\"isOpen && !isDismissing\"\r\n @displayNotification\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 <ng-container *ngIf=\"icon || type\">\r\n <ng-container *ngIf=\"!icon; else elseBlock\">\r\n <div class=\"h-full mr-base\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <ng-container *ngSwitchCase=\"'success'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'info'\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseBlock>\r\n <div class=\"h-full mr-base\" [desyInnerContent]=\"icon\" [isHtml]=\"icon\"></div>\r\n </ng-template>\r\n <div class=\"lg:flex flex-1 self-center\">\r\n <div class=\"lg:flex-1 lg:self-center\">\r\n <ng-container *ngIf=\"title\">\r\n <p [id]=\"id ? id + '-title' : null\"\r\n [class]=\"(title.classes ? 'font-bold pr-base focus:outline-none focus:underline ' + title.classes : 'font-bold pr-base focus:outline-none focus:underline')\" tabindex=\"-1\"\r\n [desyInnerContent]=\"title.html ? title.html : title.text\" [isHtml]=\"title.html\">\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"description\">\r\n <p [class]=\"description.classes ? description.classes : null\" [desyInnerContent]=\"description.html ? description.html : description.text\" [isHtml]=\"description.html\" ></p>\r\n </ng-container>\r\n <ng-container *ngIf=\"items\">\r\n <ul>\r\n <ng-container *ngFor=\"let item of items\">\r\n <ng-container *ngIf=\"item.href\">\r\n <li>\r\n <a [href]=\"item.href\" class=\"c-link\"\r\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n [attr.id]=\"item.id ? item.id : null\"\r\n [attr.role]=\"item.role\"\r\n [attr.ariaLabel]=\"item.ariaLabel\"\r\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [attr.ariaHidden]=\"item.ariaHidden\"\r\n [attr.ariaDisabled]=\"item.ariaDisabled\"\r\n [attr.ariaControls]=\"item.ariaControls\"\r\n [attr.ariaCurrent]=\"item.ariaCurrent\"\r\n [attr.ariaLive]=\"item.ariaLive\"\r\n [attr.ariaExpanded]=\"item.ariaExpanded\"\r\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"item.tabindex\" ></a>\r\n </li>\r\n </ng-container>\r\n <ng-container *ngIf=\"!item.href\">\r\n <li [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"></li>\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n <p *ngIf=\"content\" [class]=\"['text-sm', content.classes] | makeHtmlList\"\r\n [desyInnerContent]=\"content.html ? content.html : content.text\" [isHtml]=\"content.html\"></p>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm\">\r\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
55
+ template: "<div [attr.id]=\"id ? id : null\" [class]=\"(classes ? 'c-notification ' + classes : type=='success' ? 'c-notification c-notification--' + type : type=='alert' ? 'c-notification c-notification--' + type : 'c-notification c-notification--primary') \"\r\n *ngIf=\"isOpen && !isDismissing\"\r\n @displayNotification\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 *ngIf=\"iconComponent || icon || type\" class=\"h-full mr-base\"\r\n (desyContentEmpty)=\"handleIconEmpty(true)\"\r\n (desyContentNotEmpty)=\"handleIconEmpty(false)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent, html: icon ? icon.html : null }\"></ng-container>\r\n <ng-container *ngIf=\"displayDefaultIcon && type\">\r\n <ng-container [ngSwitch]=\"getType()\">\r\n <svg *ngSwitchCase=\"'success'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-success-dark\" aria-label=\"\u00C9xito\" focusable=\"false\" role=\"img\"><path d=\"M39.94 125a19.88 19.88 0 01-15.53-7.81L2.48 92.26a10 10 0 0115-13.2l20.55 23.39a2.5 2.5 0 003.68.08l81-84.42a10.002 10.002 0 1114.5 13.78l-82.02 86.33A19.41 19.41 0 0139.94 125z\" fill=\"currentColor\"/></svg>\r\n <svg *ngSwitchCase=\"'alert'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-alert-base\" aria-label=\"Error\" focusable=\"false\" role=\"img\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\r\n <svg *ngSwitchCase=\"'info'\" #desyContentEmptyIgnore xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-5 h-5 text-primary-base\" aria-label=\"Informaci\u00F3n\" focusable=\"false\" role=\"img\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"lg:flex flex-1 self-center\">\r\n <div class=\"lg:flex-1 lg:self-center\">\r\n <ng-container [ngSwitch]=\"headingLevel\">\r\n <h1 *ngSwitchCase=\"1\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </h1>\r\n <h2 *ngSwitchCase=\"2\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </h2>\r\n <h3 *ngSwitchCase=\"3\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </h3>\r\n <h4 *ngSwitchCase=\"4\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </h4>\r\n <h5 *ngSwitchCase=\"5\" [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </h5>\r\n <p *ngSwitchDefault [id]=\"id ? id + '-title' : null\" tabindex=\"-1\"\r\n [class]=\"['font-bold pr-base focus:outline-none focus:underline', titleComponent ? titleComponent.classes : title.classes] | makeHtmlList\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('title content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: titleComponent,\r\n html: title ? title.html : null,\r\n text: title ? title.text : null\r\n }\"></ng-container>\r\n </p>\r\n </ng-container>\r\n <ng-container *ngIf=\"descriptionComponent || description\">\r\n <p [class]=\"descriptionComponent ? descriptionComponent.classes : description.classes\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('description content, html or text are required')\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: descriptionComponent,\r\n html: description ? description.html : null,\r\n text: description ? description.text : null\r\n }\"></ng-container>\r\n </p>\r\n </ng-container>\r\n <ul *ngIf=\"(itemCompontents && itemCompontents.length > 0) || items\">\r\n <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <li *ngIf=\"item.routerLink || item.href\">\r\n <a *ngIf=\"item.routerLink\" class=\"c-link\"\r\n [routerLink]=\"item.routerLink\"\r\n [fragment]=\"item.fragment\"\r\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\r\n [attr.id]=\"item.id ? item.id : null\"\r\n [attr.role]=\"item.role\"\r\n [attr.ariaLabel]=\"item.ariaLabel\"\r\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [attr.ariaHidden]=\"item.ariaHidden\"\r\n [attr.ariaDisabled]=\"item.ariaDisabled\"\r\n [attr.ariaControls]=\"item.ariaControls\"\r\n [attr.ariaCurrent]=\"item.ariaCurrent\"\r\n [attr.ariaLive]=\"item.ariaLive\"\r\n [attr.ariaExpanded]=\"item.ariaExpanded\"\r\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"item.tabindex\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item content, html or text are required at position ' + i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </a>\r\n <a *ngIf=\"!item.routerLink && item.href\" class=\"c-link\"\r\n [href]=\"item.href | externalHref\"\r\n [target]=\"item.target\"\r\n [ngClass]=\"{'c-link--alert': type==='alert'}\"\r\n [attr.id]=\"item.id ? item.id : null\"\r\n [attr.role]=\"item.role\"\r\n [attr.ariaLabel]=\"item.ariaLabel\"\r\n [attr.ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [attr.ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [attr.ariaHidden]=\"item.ariaHidden\"\r\n [attr.ariaDisabled]=\"item.ariaDisabled\"\r\n [attr.ariaControls]=\"item.ariaControls\"\r\n [attr.ariaCurrent]=\"item.ariaCurrent\"\r\n [attr.ariaLive]=\"item.ariaLive\"\r\n [attr.ariaExpanded]=\"item.ariaExpanded\"\r\n [attr.ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [attr.ariaHasPopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"item.tabindex\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item content, html or text are required at position ' + i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </a>\r\n </li>\r\n <li *ngIf=\"!item.routerLink && !item.href\"\r\n (desyContentEmpty)=\"handleRequiredEmpty('item content, html or text are required at position ' + i)\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: item.html, text: item.text }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <p *ngIf=\"contentComponent || content\" [class]=\"['text-sm', contentComponent ? contentComponent.classes : content.classes] | makeHtmlList\">\r\n <ng-container *desyCustomInnerContent=\"{\r\n component: contentComponent,\r\n html: content ? content.html : null,\r\n text: content ? content.text : null\r\n }\"></ng-container>\r\n </p>\r\n </div>\r\n <ng-container *ngIf=\"isDismissible\">\r\n <div class=\"absolute top-0 right-0 p-sm\">\r\n <button (click)=\"dismiss()\" class=\"p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none\" aria-label=\"X: Cerrar notificaci\u00F3n\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4\" aria-hidden=\"true\" role=\"presentation\"><path d=\"M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z\" fill=\"currentColor\"/></svg>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
50
56
  animations: [
51
57
  trigger('displayNotification', [
52
58
  state('void', style({
@@ -67,6 +73,9 @@ NotificationComponent.decorators = [
67
73
  ]
68
74
  },] }
69
75
  ];
76
+ NotificationComponent.ctorParameters = () => [
77
+ { type: ChangeDetectorRef }
78
+ ];
70
79
  NotificationComponent.propDecorators = {
71
80
  id: [{ type: Input }],
72
81
  classes: [{ type: Input }],
@@ -78,6 +87,24 @@ NotificationComponent.propDecorators = {
78
87
  items: [{ type: Input }],
79
88
  icon: [{ type: Input }],
80
89
  type: [{ type: Input }],
81
- isDismissible: [{ type: Input }]
90
+ isDismissible: [{ type: Input }],
91
+ headingLevel: [{ type: Input }],
92
+ titleComponent: [{ type: ContentChildren, args: [TitleComponent,] }],
93
+ descriptionComponent: [{ type: ContentChildren, args: [DescriptionComponent,] }],
94
+ contentComponent: [{ type: ContentChildren, args: [ContentComponent,] }],
95
+ iconComponent: [{ type: ContentChildren, args: [IconComponent,] }],
96
+ itemCompontents: [{ type: ContentChildren, args: [NotificationItemComponent,] }]
82
97
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFLaEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXlCakYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQXRCakU7O1FBMEJXLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDYixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFXckQsaUJBQVksR0FBRyxLQUFLLENBQUM7SUF5Q3ZCLENBQUM7SUF2Q0MsT0FBTztRQUNMLCtFQUErRTtRQUMvRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUM7WUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBRWhDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUM7WUFDbkIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMxRTtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBQztZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMzQiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7O1lBOUVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3Qixzbk1BQTRDO2dCQUM1QyxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLHFCQUFxQixFQUFFO3dCQUM3QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQzs0QkFDbEIsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsU0FBUyxFQUFFLGNBQWM7eUJBQzFCLENBQUMsQ0FBQzt3QkFDSCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQzs0QkFDZixPQUFPLEVBQUUsS0FBSzs0QkFDZCxTQUFTLEVBQUUsYUFBYTt5QkFDekIsQ0FBQyxDQUFDO3dCQUNILFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQzt5QkFDMUIsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsY0FBYyxDQUFDO3lCQUN4QixDQUFDO3FCQUNILENBQUM7aUJBQ0g7YUFDRjs7O2lCQUdFLEtBQUs7c0JBQ0wsS0FBSztxQkFDTCxLQUFLOzJCQUNMLE1BQU07b0JBRU4sS0FBSzswQkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSzttQkFFTCxLQUFLO21CQUNMLEtBQUs7NEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQsIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25EZXNjcmlwdGlvbkRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi1kZXNjcmlwdGlvbi1kYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uSWNvbkRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi1pY29uLWRhdGEnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtc0RhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi1pdGVtcy1kYXRhJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uVGl0bGVEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub3RpZmljYXRpb24tdGl0bGUtZGF0YSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25Db250ZW50RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLWNvbnRlbnQtZGF0YSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbm90aWZpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdkaXNwbGF5Tm90aWZpY2F0aW9uJywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMC4wJyxcclxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVkoMC45NSknXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XHJcbiAgICAgICAgb3BhY2l0eTogJzEuMCcsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGVZKDEuMCknXHJcbiAgICAgIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JylcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICBhbmltYXRlKCc3NW1zIGVhc2UtaW4nKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNPcGVuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASW5wdXQoKSB0aXRsZTogTm90aWZpY2F0aW9uVGl0bGVEYXRhO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBOb3RpZmljYXRpb25EZXNjcmlwdGlvbkRhdGE7XHJcbiAgQElucHV0KCkgY29udGVudDogTm90aWZpY2F0aW9uQ29udGVudERhdGE7XHJcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PE5vdGlmaWNhdGlvbkl0ZW1zRGF0YT47XHJcblxyXG4gIEBJbnB1dCgpIGljb246IE5vdGlmaWNhdGlvbkljb25EYXRhO1xyXG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0Rpc21pc3NpYmxlOiBib29sZWFuO1xyXG5cclxuICBpc0Rpc21pc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgZGlzbWlzcygpOiB2b2lkIHtcclxuICAgIC8vIFNlIGVtaXRlIDc1bXMgbcOhcyB0YXJkZSBwYXJhIHBvZGVyIHZpc3VhbGl6YXIgbGEgYW5pbWFjacOzbiBlbiBjdWFscXVpZXIgY2Fzb1xyXG4gICAgdGhpcy5pc0Rpc21pc3NpbmcgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNEaXNtaXNzaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfSwgNzUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHR5cGU6IHN0cmluZztcclxuICAgIGlmICh0aGlzLnR5cGUpe1xyXG4gICAgICB0eXBlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHlwZTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoIXRoaXMuaWQpe1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGlkIGFyZSByZXF1aXJlZGApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy50aXRsZSl7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdGl0bGUgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXh0T3JIdG1sUmVxdWlyZWRGdW5jdGlvbih0aGlzLnRpdGxlLnRleHQsIHRoaXMudGl0bGUuaHRtbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZGVzY3JpcHRpb24pe1xyXG4gICAgICB0ZXh0T3JIdG1sUmVxdWlyZWRGdW5jdGlvbih0aGlzLmRlc2NyaXB0aW9uLnRleHQsIHRoaXMuZGVzY3JpcHRpb24uaHRtbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXRlbXMpe1xyXG4gICAgICB0aGlzLml0ZW1zLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgICAgdGV4dE9ySHRtbFJlcXVpcmVkRnVuY3Rpb24oZWxlbWVudC50ZXh0LCBlbGVtZW50Lmh0bWwpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
98
+ __decorate([
99
+ DesyContentChild()
100
+ ], NotificationComponent.prototype, "titleComponent", void 0);
101
+ __decorate([
102
+ DesyContentChild()
103
+ ], NotificationComponent.prototype, "descriptionComponent", void 0);
104
+ __decorate([
105
+ DesyContentChild()
106
+ ], NotificationComponent.prototype, "contentComponent", void 0);
107
+ __decorate([
108
+ DesyContentChild()
109
+ ], NotificationComponent.prototype, "iconComponent", void 0);
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUN0RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbkYsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDeEcsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFFMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUF3QnpGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFrQy9ELFlBQW9CLGlCQUFvQztRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQURVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUE5Qi9DLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDYixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUEwQnJELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztJQUkzQixDQUFDO0lBRUQsT0FBTztRQUNMLCtFQUErRTtRQUMvRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLElBQVksQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUM7WUFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0csQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFaEMsdUlBQXVJO1FBQ3ZJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDOzs7WUFoR0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLDR2V0FBNEM7Z0JBQzVDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMscUJBQXFCLEVBQUU7d0JBQzdCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDOzRCQUNsQixPQUFPLEVBQUUsS0FBSzs0QkFDZCxTQUFTLEVBQUUsY0FBYzt5QkFDMUIsQ0FBQyxDQUFDO3dCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDOzRCQUNmLE9BQU8sRUFBRSxLQUFLOzRCQUNkLFNBQVMsRUFBRSxhQUFhO3lCQUN6QixDQUFDLENBQUM7d0JBQ0gsVUFBVSxDQUFDLFFBQVEsRUFBRTs0QkFDbkIsT0FBTyxDQUFDLGdCQUFnQixDQUFDO3lCQUMxQixDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxjQUFjLENBQUM7eUJBQ3hCLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDthQUNGOzs7WUEzQ0MsaUJBQWlCOzs7aUJBOENoQixLQUFLO3NCQUNMLEtBQUs7cUJBQ0wsS0FBSzsyQkFDTCxNQUFNO29CQUVOLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBRUwsS0FBSzttQkFDTCxLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzs2QkFHTCxlQUFlLFNBQUMsY0FBYzttQ0FHOUIsZUFBZSxTQUFDLG9CQUFvQjsrQkFHcEMsZUFBZSxTQUFDLGdCQUFnQjs0QkFHaEMsZUFBZSxTQUFDLGFBQWE7OEJBRTdCLGVBQWUsU0FBQyx5QkFBeUI7O0FBWFQ7SUFEaEMsZ0JBQWdCLEVBQUU7NkRBQzZDO0FBR3pCO0lBRHRDLGdCQUFnQixFQUFFO21FQUMrRDtBQUcvQztJQURsQyxnQkFBZ0IsRUFBRTsrREFDbUQ7QUFHdEM7SUFEL0IsZ0JBQWdCLEVBQUU7NERBQzBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge05vdGlmaWNhdGlvbkl0ZW1zRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1RpdGxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ljb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc2NyaXB0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQge05vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnR9IGZyb20gJy4vbm90aWZpY2F0aW9uLWl0ZW0vbm90aWZpY2F0aW9uLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtDb250ZW50RGF0YSwgRGVzY3JpcHRpb25EYXRhLCBJY29uRGF0YSwgVGl0bGVEYXRhfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbm90aWZpY2F0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdkaXNwbGF5Tm90aWZpY2F0aW9uJywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMC4wJyxcclxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZVkoMC45NSknXHJcbiAgICAgIH0pKSxcclxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XHJcbiAgICAgICAgb3BhY2l0eTogJzEuMCcsXHJcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGVZKDEuMCknXHJcbiAgICAgIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JylcclxuICAgICAgXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICBhbmltYXRlKCc3NW1zIGVhc2UtaW4nKVxyXG4gICAgICBdKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNPcGVuID0gdHJ1ZTtcclxuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBASW5wdXQoKSB0aXRsZTogVGl0bGVEYXRhO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBEZXNjcmlwdGlvbkRhdGE7XHJcbiAgQElucHV0KCkgY29udGVudDogQ29udGVudERhdGE7XHJcbiAgQElucHV0KCkgaXRlbXM6IE5vdGlmaWNhdGlvbkl0ZW1zRGF0YVtdO1xyXG5cclxuICBASW5wdXQoKSBpY29uOiBJY29uRGF0YTtcclxuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNEaXNtaXNzaWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoZWFkaW5nTGV2ZWw6IG51bWJlcjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oVGl0bGVDb21wb25lbnQpIHRpdGxlQ29tcG9uZW50OiBUaXRsZUNvbXBvbmVudDtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oRGVzY3JpcHRpb25Db21wb25lbnQpIGRlc2NyaXB0aW9uQ29tcG9uZW50OiBEZXNjcmlwdGlvbkNvbXBvbmVudDtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oQ29udGVudENvbXBvbmVudCkgY29udGVudENvbXBvbmVudDogQ29udGVudENvbXBvbmVudDtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSWNvbkNvbXBvbmVudCkgaWNvbkNvbXBvbmVudDogSWNvbkNvbXBvbmVudDtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9udGVudHM6IFF1ZXJ5TGlzdDxOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgaXNEaXNtaXNzaW5nID0gZmFsc2U7XHJcbiAgZGlzcGxheURlZmF1bHRJY29uID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgZGlzbWlzcygpOiB2b2lkIHtcclxuICAgIC8vIFNlIGVtaXRlIDc1bXMgbcOhcyB0YXJkZSBwYXJhIHBvZGVyIHZpc3VhbGl6YXIgbGEgYW5pbWFjacOzbiBlbiBjdWFscXVpZXIgY2Fzb1xyXG4gICAgdGhpcy5pc0Rpc21pc3NpbmcgPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNEaXNtaXNzaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNPcGVuQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfSwgNzUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHlwZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHR5cGU6IHN0cmluZztcclxuICAgIGlmICh0aGlzLnR5cGUpe1xyXG4gICAgICB0eXBlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHlwZTtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1zKCk6IE5vdGlmaWNhdGlvbkl0ZW1zRGF0YVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1Db21wb250ZW50cyAmJiB0aGlzLml0ZW1Db21wb250ZW50cy5sZW5ndGggPiAwID8gdGhpcy5pdGVtQ29tcG9udGVudHMudG9BcnJheSgpIDogdGhpcy5pdGVtcztcclxuICB9XHJcblxyXG4gIGhhbmRsZUljb25FbXB0eShlbXB0eTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNwbGF5RGVmYXVsdEljb24gPSBlbXB0eTtcclxuXHJcbiAgICAvLyBDb21vIHF1ZSBlbCBjb250ZW5pZG8gdmFjw61vIHNlIGNvbXBydWViYSBhIHBvc3RlcmlvcmksIGVzIG5lY2VzYXJpbyBmb3J6YXIgbGEgZGV0ZWNjacOzbiBkZSBjYW1iaW9zIHBhcmEgbW9zdHJhciBlbCBpY29ubyBwb3IgZGVmZWN0b1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXF1aXJlZEVtcHR5KHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKHRleHQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlkKXtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpZCBpcyByZXF1aXJlZGApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,6 +1,11 @@
1
- import { Component, Input } from '@angular/core';
2
- import { AccessibilityAndTextOrHtmlRequiredComponent } from '../../../shared/components';
3
- export class SkipLinkComponent extends AccessibilityAndTextOrHtmlRequiredComponent {
1
+ import { ChangeDetectorRef, Component, Input } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../shared/components';
3
+ export class SkipLinkComponent extends AccessibilityComponent {
4
+ constructor(changeDetectorRef) {
5
+ super();
6
+ this.changeDetectorRef = changeDetectorRef;
7
+ this.hasContent = true;
8
+ }
4
9
  getClassNames() {
5
10
  let classNames = 'c-skip-link sr-only active:not-sr-only focus:not-sr-only focus:outline-none focus:shadow-outline-focus block p-base bg-warning-base text-center text-black underline';
6
11
  if (this.classes) {
@@ -8,16 +13,30 @@ export class SkipLinkComponent extends AccessibilityAndTextOrHtmlRequiredCompone
8
13
  }
9
14
  return classNames;
10
15
  }
16
+ handleNoContent() {
17
+ if (!this.html && !this.text) {
18
+ throw new Error('skip-link content, html or text are required');
19
+ }
20
+ else {
21
+ this.hasContent = false;
22
+ this.changeDetectorRef.detectChanges();
23
+ }
24
+ }
11
25
  }
12
26
  SkipLinkComponent.decorators = [
13
27
  { type: Component, args: [{
14
28
  selector: 'desy-skip-link',
15
- template: "<a [desyInnerContent]=\"html ? html : text\" [isHtml]=\"html\"\r\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\"></a>\r\n"
29
+ template: "<a *ngIf=\"hasContent\"\r\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\"\r\n (desyContentEmpty)=\"handleNoContent()\">\r\n <ng-content></ng-content>\r\n</a>\r\n\r\n<a *ngIf=\"!hasContent\"\r\n [routerLink]=\"[]\" [fragment]=\"fragment ? fragment : 'content'\"\r\n [class]=\"getClassNames()\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\r\n</a>\r\n"
16
30
  },] }
17
31
  ];
32
+ SkipLinkComponent.ctorParameters = () => [
33
+ { type: ChangeDetectorRef }
34
+ ];
18
35
  SkipLinkComponent.propDecorators = {
36
+ html: [{ type: Input }],
37
+ text: [{ type: Input }],
19
38
  fragment: [{ type: Input }],
20
39
  classes: [{ type: Input }],
21
40
  id: [{ type: Input }]
22
41
  };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjLyIsInNvdXJjZXMiOlsibGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvc2tpcC1saW5rL3NraXAtbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFNekYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDJDQUEyQztJQU1oRixhQUFhO1FBQ1gsSUFBSSxVQUFVLEdBQUcsc0tBQXNLLENBQUM7UUFDeEwsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFVBQVUsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNsQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7OztZQWhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsa2lDQUF5QzthQUMxQzs7O3VCQUdFLEtBQUs7c0JBQ0wsS0FBSztpQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXNraXAtbGluaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NraXAtbGluay5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNraXBMaW5rQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUFuZFRleHRPckh0bWxSZXF1aXJlZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGZyYWdtZW50OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcblxyXG4gIGdldENsYXNzTmFtZXMoKTogc3RyaW5nIHtcclxuICAgIGxldCBjbGFzc05hbWVzID0gJ2Mtc2tpcC1saW5rIHNyLW9ubHkgYWN0aXZlOm5vdC1zci1vbmx5IGZvY3VzOm5vdC1zci1vbmx5IGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBibG9jayBwLWJhc2UgYmctd2FybmluZy1iYXNlIHRleHQtY2VudGVyIHRleHQtYmxhY2sgdW5kZXJsaW5lJztcclxuICAgIGlmICh0aGlzLmNsYXNzZXMpIHtcclxuICAgICAgY2xhc3NOYW1lcyArPSAnICcgKyB0aGlzLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2xhc3NOYW1lcztcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tpcC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvc2tpcC1saW5rL3NraXAtbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFNbEUsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHNCQUFzQjtJQVUzRCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRnhELGVBQVUsR0FBRyxJQUFJLENBQUM7SUFJbEIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLFVBQVUsR0FBRyxzS0FBc0ssQ0FBQztRQUN4TCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsVUFBVSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDeEM7SUFDSCxDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLCtuRUFBeUM7YUFDMUM7OztZQU5PLGlCQUFpQjs7O21CQVN0QixLQUFLO21CQUNMLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLO2lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktc2tpcC1saW5rJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2tpcC1saW5rLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2tpcExpbmtDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgaHRtbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcclxuICBASW5wdXQoKSBmcmFnbWVudDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG5cclxuICBoYXNDb250ZW50ID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzc05hbWVzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgY2xhc3NOYW1lcyA9ICdjLXNraXAtbGluayBzci1vbmx5IGFjdGl2ZTpub3Qtc3Itb25seSBmb2N1czpub3Qtc3Itb25seSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgYmxvY2sgcC1iYXNlIGJnLXdhcm5pbmctYmFzZSB0ZXh0LWNlbnRlciB0ZXh0LWJsYWNrIHVuZGVybGluZSc7XHJcbiAgICBpZiAodGhpcy5jbGFzc2VzKSB7XHJcbiAgICAgIGNsYXNzTmFtZXMgKz0gJyAnICsgdGhpcy5jbGFzc2VzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNsYXNzTmFtZXM7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVOb0NvbnRlbnQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaHRtbCAmJiAhdGhpcy50ZXh0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignc2tpcC1saW5rIGNvbnRlbnQsIGh0bWwgb3IgdGV4dCBhcmUgcmVxdWlyZWQnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaGFzQ29udGVudCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19