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,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, Input } from '@angular/core';
3
+ import { ContentBaseComponent } from '../../../../shared/components';
4
+ import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
5
+ import { MenuVerticalItemSubComponent } from '../menu-vertical-item-sub/menu-vertical-item-sub.component';
6
+ export class MenuVerticalItemComponent extends ContentBaseComponent {
7
+ }
8
+ MenuVerticalItemComponent.decorators = [
9
+ { type: Component, args: [{
10
+ selector: 'desy-menu-vertical-item',
11
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
12
+ },] }
13
+ ];
14
+ MenuVerticalItemComponent.propDecorators = {
15
+ id: [{ type: Input }],
16
+ classes: [{ type: Input }],
17
+ href: [{ type: Input }],
18
+ routerLink: [{ type: Input }],
19
+ routerLinkActiveClasses: [{ type: Input }],
20
+ fragment: [{ type: Input }],
21
+ target: [{ type: Input }],
22
+ disabled: [{ type: Input }],
23
+ active: [{ type: Input }],
24
+ divider: [{ type: Input }],
25
+ title: [{ type: Input }],
26
+ expanded: [{ type: Input }],
27
+ subComponent: [{ type: ContentChildren, args: [MenuVerticalItemSubComponent,] }]
28
+ };
29
+ __decorate([
30
+ DesyContentChild()
31
+ ], MenuVerticalItemComponent.prototype, "subComponent", void 0);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbWVudS12ZXJ0aWNhbC9tZW51LXZlcnRpY2FsLWl0ZW0vbWVudS12ZXJ0aWNhbC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQzVGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBTXhHLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxvQkFBb0I7OztZQUpsRSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsK0ZBQWtEO2FBQ25EOzs7aUJBR0UsS0FBSztzQkFDTCxLQUFLO21CQUNMLEtBQUs7eUJBQ0wsS0FBSztzQ0FDTCxLQUFLO3VCQUNMLEtBQUs7cUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUs7c0JBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUs7MkJBR0wsZUFBZSxTQUFDLDRCQUE0Qjs7QUFBRTtJQUQ5QyxnQkFBZ0IsRUFBRTsrREFDdUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWVudVZlcnRpY2FsSXRlbXNEYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge01lbnVWZXJ0aWNhbEl0ZW1TdWJDb21wb25lbnR9IGZyb20gJy4uL21lbnUtdmVydGljYWwtaXRlbS1zdWIvbWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW1lbnUtdmVydGljYWwtaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdmVydGljYWwtaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVWZXJ0aWNhbEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSB7XHJcblxyXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaHJlZj86IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZXJMaW5rPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvdXRlckxpbmtBY3RpdmVDbGFzc2VzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZyYWdtZW50Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRhcmdldD86IHN0cmluZztcclxuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgYWN0aXZlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkaXZpZGVyPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcclxuICBASW5wdXQoKSBleHBhbmRlZD86IGJvb2xlYW47IC8vIG5vIHNlIHV0aWxpemFcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTWVudVZlcnRpY2FsSXRlbVN1YkNvbXBvbmVudCkgc3ViQ29tcG9uZW50OiBNZW51VmVydGljYWxJdGVtU3ViQ29tcG9uZW50O1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Component, ContentChildren, Input } from '@angular/core';
2
+ import { MenuVerticalItemSubItemComponent } from '../menu-vertical-item-sub-item/menu-vertical-item-sub-item.component';
3
+ import { ContentBaseComponent } from '../../../../shared/components';
4
+ export class MenuVerticalItemSubComponent extends ContentBaseComponent {
5
+ }
6
+ MenuVerticalItemSubComponent.decorators = [
7
+ { type: Component, args: [{
8
+ selector: 'desy-menu-vertical-item-sub',
9
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
10
+ },] }
11
+ ];
12
+ MenuVerticalItemSubComponent.propDecorators = {
13
+ classes: [{ type: Input }],
14
+ itemComponents: [{ type: ContentChildren, args: [MenuVerticalItemSubItemComponent,] }]
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL21lbnUtdmVydGljYWwvbWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi9tZW51LXZlcnRpY2FsLWl0ZW0tc3ViLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDdEgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNbkUsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG9CQUFvQjs7O1lBSnJFLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QywrRkFBc0Q7YUFDdkQ7OztzQkFFRSxLQUFLOzZCQUVMLGVBQWUsU0FBQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNZW51VmVydGljYWxTdWJEYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtNZW51VmVydGljYWxJdGVtU3ViSXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vbWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi1pdGVtL21lbnUtdmVydGljYWwtaXRlbS1zdWItaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbWVudS12ZXJ0aWNhbC1pdGVtLXN1YicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdmVydGljYWwtaXRlbS1zdWIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51VmVydGljYWxJdGVtU3ViQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBNZW51VmVydGljYWxTdWJEYXRhIHtcclxuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKE1lbnVWZXJ0aWNhbEl0ZW1TdWJJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PE1lbnVWZXJ0aWNhbEl0ZW1TdWJJdGVtQ29tcG9uZW50PjtcclxufVxyXG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ export class MenuVerticalItemSubItemComponent extends ContentBaseComponent {
4
+ }
5
+ MenuVerticalItemSubItemComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-menu-vertical-item-sub-item',
8
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
9
+ },] }
10
+ ];
11
+ MenuVerticalItemSubItemComponent.propDecorators = {
12
+ id: [{ type: Input }],
13
+ classes: [{ type: Input }],
14
+ href: [{ type: Input }],
15
+ routerLink: [{ type: Input }],
16
+ routerLinkActiveClasses: [{ type: Input }],
17
+ fragment: [{ type: Input }],
18
+ target: [{ type: Input }],
19
+ disabled: [{ type: Input }],
20
+ active: [{ type: Input }],
21
+ divider: [{ type: Input }],
22
+ title: [{ type: Input }]
23
+ };
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbWVudS12ZXJ0aWNhbC9tZW51LXZlcnRpY2FsLWl0ZW0tc3ViLWl0ZW0vbWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU1uRSxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsb0JBQW9COzs7WUFKekUsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLCtGQUEyRDthQUM1RDs7O2lCQUdFLEtBQUs7c0JBQ0wsS0FBSzttQkFDTCxLQUFLO3lCQUNMLEtBQUs7c0NBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztxQkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWVudVZlcnRpY2FsU3ViSXRlbXNEYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW1lbnUtdmVydGljYWwtaXRlbS1zdWItaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdmVydGljYWwtaXRlbS1zdWItaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVWZXJ0aWNhbEl0ZW1TdWJJdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBNZW51VmVydGljYWxTdWJJdGVtc0RhdGEge1xyXG5cclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm91dGVyTGluaz86IHN0cmluZztcclxuICBASW5wdXQoKSByb3V0ZXJMaW5rQWN0aXZlQ2xhc3Nlcz86IHN0cmluZztcclxuICBASW5wdXQoKSBmcmFnbWVudD86IHN0cmluZztcclxuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGl2aWRlcj86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgdGl0bGU/OiBzdHJpbmc7XHJcbn1cclxuIl19
@@ -1,123 +1,72 @@
1
- import { Component, Input } from '@angular/core';
2
- import { AccessibilityComponent, textOrHtmlRequiredFunction } from '../../../shared/components';
1
+ import { Component, Input, ContentChildren } from '@angular/core';
2
+ import { AccessibilityComponent } from '../../../shared/components';
3
3
  import { animate, state, style, transition, trigger } from '@angular/animations';
4
+ import { StringUtils } from '../../../shared/utils/string-utils';
5
+ import { MenuVerticalItemComponent } from './menu-vertical-item/menu-vertical-item.component';
6
+ import { MenuVerticalItemSubComponent } from './menu-vertical-item-sub/menu-vertical-item-sub.component';
4
7
  export class MenuVerticalComponent extends AccessibilityComponent {
5
- ngOnChanges(changes) {
6
- if (!this.idPrefix) {
7
- throw new Error(`idPrefix are required`);
8
- }
9
- if (!this.items) {
10
- throw new Error(`items are required`);
8
+ handleItemContentEmpty(index, isRoot) {
9
+ throw new Error(`${isRoot ? 'Item' : 'Subitem'} content, html or text ar required at position ${index}`);
10
+ }
11
+ getItemHtml(item) {
12
+ let itemHtml;
13
+ if (item.active) {
14
+ itemHtml = item.html ? `<strong>${item.html}</strong>` : `<strong>${StringUtils.escapeHtml(item.text)}</strong>`;
11
15
  }
12
16
  else {
13
- this.items.forEach(element => {
14
- textOrHtmlRequiredFunction(element.text, element.html);
15
- if (element.sub) {
16
- this.isTree = true;
17
- }
18
- });
17
+ itemHtml = item.html;
19
18
  }
19
+ return itemHtml;
20
20
  }
21
21
  getId(item, i) {
22
22
  if (item.id) {
23
23
  return item.id;
24
24
  }
25
25
  else {
26
+ const idPrefix = this.idPrefix ? this.idPrefix : 'nav-item';
26
27
  if (i === 0) {
27
- return this.getIdPrefix();
28
+ return idPrefix;
28
29
  }
29
30
  else {
30
- return this.getIdPrefix() + '-' + i;
31
+ return idPrefix + '-' + i;
31
32
  }
32
33
  }
33
34
  }
34
- getIdPrefix() {
35
- return (this.idPrefix ? this.idPrefix : 'nav-item');
36
- }
37
- getSubId(itemSub, i) {
38
- if (itemSub.id) {
39
- return itemSub.id;
40
- }
41
- else {
42
- if (i === 0) {
43
- return 'sub-' + this.getIdPrefix();
35
+ getSubItemId(item, itemIndex, subItemIndex) {
36
+ let subItemId;
37
+ const sub = this.getItemSub(item);
38
+ const subItems = this.getSubItems(sub);
39
+ const subItem = subItems[subItemIndex];
40
+ if (subItem) {
41
+ if (subItem.id) {
42
+ subItemId = subItem.id;
44
43
  }
45
44
  else {
46
- return this.getIdPrefix() + '-' + i;
45
+ const itemId = this.getId(item, itemIndex);
46
+ subItemId = subItemIndex === 0 ? `sub-${itemId}` : `sub-${itemId}-${subItemIndex}`;
47
47
  }
48
48
  }
49
+ return subItemId;
49
50
  }
50
- isDisabled(item) {
51
- return item.disabled ? true : null;
52
- }
53
- isItemExpanded(item) {
54
- if (this.expandable) {
55
- return item.expanded ? 'true' : 'false';
56
- }
57
- return 'true';
58
- }
59
- isActive(item) {
60
- return item.active ? true : false;
61
- }
62
- expand(item) {
63
- if (this.expandable) {
64
- item.expanded = !item.expanded;
65
- }
66
- }
67
- getButtonClasses(item) {
68
- let itemButtonClass = 'w-full flex relative px-xs focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black text-left ';
69
- if (item.classes) {
70
- itemButtonClass = itemButtonClass + item.classes;
71
- }
72
- if (this.isDisabled(item)) {
73
- itemButtonClass = itemButtonClass + ' opacity-50 pointer-events-none';
74
- }
75
- return itemButtonClass;
76
- }
77
- getItemWithHrefClass(item) {
78
- let itemWithHrefClass = 'block px-xs focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black ';
79
- if (item.classes) {
80
- itemWithHrefClass = itemWithHrefClass + item.classes;
81
- }
82
- if (!this.isDisabled(item)) {
83
- itemWithHrefClass = itemWithHrefClass + ' group-hover:text-primary-base group-hover:underline ';
84
- }
85
- else {
86
- itemWithHrefClass = itemWithHrefClass + ' opacity-50 pointer-events-none';
87
- }
88
- if (this.isActive(item)) {
89
- return itemWithHrefClass + ' font-bold ';
51
+ getItems() {
52
+ const itemList = this.itemComponents && this.itemComponents.length > 0 ? this.itemComponents.toArray() : this.items;
53
+ if (!itemList || itemList.length === 0) {
54
+ throw new Error(`items are required`);
90
55
  }
91
- return itemWithHrefClass;
56
+ return itemList;
92
57
  }
93
- getClassesItemSubWithHref(itemSub) {
94
- let itemSubWithHrefClass = 'block px-xs hover:text-primary-base hover:underline focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black ';
95
- if (itemSub.classes) {
96
- itemSubWithHrefClass = itemSubWithHrefClass + itemSub.classes;
97
- }
98
- if (this.isDisabled(itemSub)) {
99
- itemSubWithHrefClass = itemSubWithHrefClass + ' opacity-50 pointer-events-none ';
100
- }
101
- if (this.isActive(itemSub)) {
102
- return itemSubWithHrefClass + ' font-bold ';
103
- }
104
- return itemSubWithHrefClass;
58
+ getItemSub(item) {
59
+ return item instanceof MenuVerticalItemComponent ? item.subComponent : item.sub;
105
60
  }
106
- getClassesItemSubNoHref(itemSub) {
107
- let itemSubNoHrefClass = 'block px-xs text-neutral-dark ';
108
- if (itemSub.classes) {
109
- itemSubNoHrefClass = itemSubNoHrefClass + itemSub.classes;
110
- }
111
- if (this.isActive(itemSub)) {
112
- itemSubNoHrefClass = itemSubNoHrefClass + ' font-bold';
113
- }
114
- return itemSubNoHrefClass;
61
+ getSubItems(sub) {
62
+ const subItems = sub instanceof MenuVerticalItemSubComponent ? sub.itemComponents.toArray() : sub.items;
63
+ return subItems && subItems.length > 0 ? subItems : null;
115
64
  }
116
65
  }
117
66
  MenuVerticalComponent.decorators = [
118
67
  { type: Component, args: [{
119
68
  selector: 'desy-menu-vertical',
120
- template: "<nav [class]=\"classes\" [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"(role ? role : null)\"\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 <ul class=\"text-base\"\r\n [attr.role]=\"(isTree ? 'tree' : 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 *ngFor=\"let item of items; index as i\">\r\n <li class=\"m-base\" [attr.role]=\"(isTree ? 'none' : null )\">\r\n <div class=\"group\">\r\n <ng-container *ngIf=\"item.sub\">\r\n <div class=\"w-full h-full\">\r\n <button (click)=\"expand(item)\" \r\n [class]=\"getButtonClasses(item)\"\r\n [attr.id]=\"getId(item, i)\"\r\n [attr.role]=\"(isTree ? 'treeitem' : null )\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-disabled]=\"item.ariaDisabled\"\r\n [attr.aria-controls]=\"(item.sub.html ? ('sub-' + getId(item, i)) : item.ariaControls)\"\r\n [attr.aria-current]=\"item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"isItemExpanded(item)\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"item.tabindex\"\r\n [attr.disabled]=\"isDisabled(item)\">\r\n <span class=\"absolute flex items-center -left-4 w-4 top-0 bottom-0 text-primary-base font-bold\">\r\n <svg *ngIf=\"expandable && item.expanded\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M9.286 5.714H.714a.714.714 0 010-1.428h8.572a.714.714 0 010 1.428z\"/></svg>\r\n <svg *ngIf=\"expandable && !item.expanded\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10 10\" width=\"10\" height=\"10\" aria-hidden=\"true\"><path fill=\"currentColor\" d=\"M9.286 4.286H5.893a.179.179 0 01-.179-.179V.714a.714.714 0 00-1.428 0v3.393a.179.179 0 01-.179.179H.714a.714.714 0 000 1.428h3.393a.179.179 0 01.179.179v3.393a.714.714 0 001.428 0V5.893a.179.179 0 01.179-.179h3.393a.714.714 0 000-1.428z\"/></svg>\r\n </span>\r\n \r\n <ng-container *ngIf=\"item.text\">\r\n {{ item.text }}\r\n </ng-container>\r\n <div *ngIf=\"item.html\" [outerHTML]=\"item.html | innerHtml\"></div> \r\n </button>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.href || item.routerLink || item.fragment && !item.sub\">\r\n <a *ngIf=\"item.href\" [href]=item.href\r\n [class]=\"getItemWithHrefClass(item)\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n [target]=\"item.target ? item.target : null\"\r\n [attr.id]=\"getId(item, i)\"\r\n [attr.role]=\"item.role\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-disabled]=\"item.ariaDisabled\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-current]=\"isActive(item) ? 'page' : item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"(isDisabled(item) ? '-1' : item.tabindex)\"\r\n [attr.disabled]=\"isDisabled(item)\"\r\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\"></a>\r\n <a *ngIf=\"item.routerLink && !item.fragment && !item.href\" [routerLink]=\"item.routerLink\" [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\r\n [class]=\"getItemWithHrefClass(item)\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n [attr.id]=\"getId(item, i)\"\r\n [attr.role]=\"item.role\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-disabled]=\"item.ariaDisabled\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-current]=\"isActive(item) ? 'page' : item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"(item.tabindex ? item.tabindex : isDisabled(item) ? '-1' : item.tabindex)\"\r\n [attr.disabled]=\"isDisabled(item)\"\r\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\"></a>\r\n <a *ngIf=\"item.fragment && !item.routerLink && !item.href\" routerLink=\"./\" [fragment]=\"item.fragment\"\r\n [class]=\"getItemWithHrefClass(item)\"\r\n [desyInnerContent]=\"item.html ? item.html : item.text\" [isHtml]=\"item.html\"\r\n [attr.id]=\"getId(item, i)\"\r\n [attr.role]=\"item.role\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-disabled]=\"item.ariaDisabled\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-current]=\"isActive(item) ? 'page' : item.ariaCurrent\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.tabindex]=\"(item.tabindex ? item.tabindex : isDisabled(item) ? '-1' : item.tabindex)\"\r\n [attr.disabled]=\"isDisabled(item)\"\r\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\"></a>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf=\"item.sub\">\r\n <ng-container *ngIf=\"item.sub.items; else elseBlock1\">\r\n <ul [class]=\"item.sub.classes ? item.sub.classes : null\"\r\n role=\"group\"\r\n [attr.aria-describedby]=\"item.sub.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.sub.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.sub.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.sub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.sub.ariaHidden\"\r\n [attr.aria-disabled]=\"item.sub.ariaDisabled\"\r\n [attr.aria-controls]=\"item.sub.ariaControls\"\r\n [attr.aria-current]=\"item.sub.ariaCurrent\"\r\n [attr.aria-live]=\"item.sub.ariaLive\"\r\n [attr.aria-expanded]=\"item.sub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.sub.ariaHasPopup\"\r\n [attr.tabindex]=\"item.sub.tabindex\">\r\n <ng-container *ngFor=\"let itemSub of item.sub.items; index as k\">\r\n <li *ngIf=\"expandable ? item.expanded : true\" class=\"m-base origin-top-left text-sm\" @displayMenuVertical\r\n [attr.id]=\"getSubId(itemSub, k)\"\r\n role=\"treeitem\">\r\n <ng-container *ngIf=\"itemSub.href || itemSub.routerLink || itemSub.fragment; else elseBlock\">\r\n <a *ngIf=\"itemSub.href\" [href]=\"itemSub.href\" [desyInnerContent]=\"itemSub.html ? itemSub.html : itemSub.text\" [isHtml]=\"itemSub.html\"\r\n [attr.id]=\"itemSub.id ? getId(item, i) : null\" [class]=\"getClassesItemSubWithHref(itemSub)\" \r\n [title]=\"itemSub.title ? itemSub.title : null\" [target]=\"itemSub.target ? itemSub.target : null\"\r\n [attr.role]=\"itemSub.role\"\r\n [attr.aria-errormessage]=\"itemSub.ariaErrorMessage\"\r\n [attr.aria-label]=\"itemSub.ariaLabel\"\r\n [attr.aria-labelledby]=\"itemSub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"itemSub.ariaHidden\"\r\n [attr.aria-disabled]=\"isDisabled(itemSub) ? 'true' : null\"\r\n [attr.aria-controls]=\"itemSub.ariaControls\"\r\n [attr.aria-current]=\"isActive(itemSub) ? 'page' : itemSub.ariaCurrent\"\r\n [attr.aria-live]=\"itemSub.ariaLive\"\r\n [attr.aria-expanded]=\"itemSub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"itemSub.ariaHasPopup\"\r\n [attr.tabindex]=\"isDisabled(itemSub) ? '-1' : null\"\r\n [attr.disabled]=\"isDisabled(itemSub)\"></a>\r\n <a *ngIf=\"itemSub.routerLink && !itemSub.href && !itemSub.fragment\" \r\n [routerLink]=\"itemSub.routerLink\" [routerLinkActive]=\"itemSub.routerLinkActiveClasses ? itemSub.routerLinkActiveClasses : []\" \r\n [desyInnerContent]=\"itemSub.html ? itemSub.html : itemSub.text\" [isHtml]=\"itemSub.html\"\r\n [attr.id]=\"itemSub.id ? getId(item, i) : null\" [class]=\"getClassesItemSubWithHref(itemSub)\" \r\n [title]=\"itemSub.title ? itemSub.title : null\" \r\n [attr.role]=\"itemSub.role\"\r\n [attr.aria-errormessage]=\"itemSub.ariaErrorMessage\"\r\n [attr.aria-label]=\"itemSub.ariaLabel\"\r\n [attr.aria-labelledby]=\"itemSub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"itemSub.ariaHidden\"\r\n [attr.aria-disabled]=\"isDisabled(itemSub) ? 'true' : null\"\r\n [attr.aria-controls]=\"itemSub.ariaControls\"\r\n [attr.aria-current]=\"isActive(itemSub) ? 'page' : itemSub.ariaCurrent\"\r\n [attr.aria-live]=\"itemSub.ariaLive\"\r\n [attr.aria-expanded]=\"itemSub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"itemSub.ariaHasPopup\"\r\n [attr.tabindex]=\"isDisabled(itemSub) ? '-1' : null\"\r\n [attr.disabled]=\"isDisabled(itemSub)\"></a>\r\n <a *ngIf=\"itemSub.fragment && !itemSub.href && !itemSub.routerLink\" routerLink=\"./\" [fragment]=\"itemSub.fragment\"\r\n [desyInnerContent]=\"itemSub.html ? itemSub.html : itemSub.text\" [isHtml]=\"itemSub.html\"\r\n [attr.id]=\"itemSub.id ? getId(item, i) : null\" [class]=\"getClassesItemSubWithHref(itemSub)\" \r\n [title]=\"itemSub.title ? itemSub.title : null\"\r\n [attr.role]=\"itemSub.role\"\r\n [attr.aria-errormessage]=\"itemSub.ariaErrorMessage\"\r\n [attr.aria-label]=\"itemSub.ariaLabel\"\r\n [attr.aria-labelledby]=\"itemSub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"itemSub.ariaHidden\"\r\n [attr.aria-disabled]=\"isDisabled(itemSub) ? 'true' : null\"\r\n [attr.aria-controls]=\"itemSub.ariaControls\"\r\n [attr.aria-current]=\"isActive(itemSub) ? 'page' : itemSub.ariaCurrent\"\r\n [attr.aria-live]=\"itemSub.ariaLive\"\r\n [attr.aria-expanded]=\"itemSub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"itemSub.ariaHasPopup\"\r\n [attr.tabindex]=\"isDisabled(itemSub) ? '-1' : null\"\r\n [attr.disabled]=\"isDisabled(itemSub)\"></a>\r\n </ng-container>\r\n <ng-template #elseBlock>\r\n <ng-container *ngIf=\"itemSub.active; else elseBlock2\">\r\n <span [attr.id]=\"itemSub.id ? getId(item, i) : null\"\r\n [class]=\"getClassesItemSubNoHref(itemSub)\"\r\n [title]=\"itemSub.title ? itemSub.title : null\"\r\n [attr.role]=\"itemSub.role\"\r\n [attr.aria-errormessage]=\"itemSub.ariaErrorMessage\"\r\n [attr.aria-label]=\"itemSub.ariaLabel\"\r\n [attr.aria-labelledby]=\"itemSub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"itemSub.ariaHidden\"\r\n [attr.aria-disabled]=\"isDisabled(itemSub) ? 'true' : null\"\r\n [attr.aria-controls]=\"itemSub.ariaControls\"\r\n [attr.aria-current]=\"isActive(itemSub) ? 'page' : itemSub.ariaCurrent\"\r\n [attr.aria-live]=\"itemSub.ariaLive\"\r\n [attr.aria-expanded]=\"itemSub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"itemSub.ariaHasPopup\"\r\n [attr.tabindex]=\"isDisabled(itemSub) ? '-1' : null\"\r\n [attr.disabled]=\"isDisabled(itemSub)\"\r\n [attr.target]=\"itemSub.target ? itemSub.target : null\">\r\n <strong [desyInnerContent]=\"itemSub.html ? itemSub.html : itemSub.text\" [isHtml]=\"itemSub.html\"></strong>\r\n </span>\r\n </ng-container>\r\n <ng-template #elseBlock2>\r\n <span [attr.id]=\"getSubId(itemSub, i)\"\r\n [class]=\"getClassesItemSubNoHref(itemSub)\"\r\n [title]=\"itemSub.title ? itemSub.title : null\"\r\n [desyInnerContent]=\"itemSub.html ? itemSub.html : itemSub.text\" [isHtml]=\"itemSub.html\"\r\n [attr.role]=\"itemSub.role\"\r\n [attr.aria-errormessage]=\"itemSub.ariaErrorMessage\"\r\n [attr.aria-label]=\"itemSub.ariaLabel\"\r\n [attr.aria-labelledby]=\"itemSub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"itemSub.ariaHidden\"\r\n [attr.aria-disabled]=\"isDisabled(itemSub) ? 'true' : null\"\r\n [attr.aria-controls]=\"itemSub.ariaControls\"\r\n [attr.aria-current]=\"isActive(itemSub) ? 'page' : itemSub.ariaCurrent\"\r\n [attr.aria-live]=\"itemSub.ariaLive\"\r\n [attr.aria-expanded]=\"itemSub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"itemSub.ariaHasPopup\"\r\n [attr.tabindex]=\"isDisabled(itemSub) ? '-1' : null\"\r\n [attr.disabled]=\"isDisabled(itemSub)\"\r\n [attr.target]=\"itemSub.target ? itemSub.target : null\"></span>\r\n </ng-template>\r\n </ng-template> \r\n <ng-container *ngIf=\"itemSub.divider\"> \r\n <li 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 </li>\r\n </ng-container>\r\n </ul>\r\n </ng-container>\r\n <ng-template #elseBlock1>\r\n <ng-container *ngIf=\"item.sub.html\">\r\n <div [class]=\"item.sub.classes ? item.sub.classes : 'm-base px-xs origin-top-left text-sm'\"\r\n id=\"getSubId(itemSub, i)\"\r\n [desyInnerContent]=\"item.sub.html\" [isHtml]=\"item.sub.html\">\r\n </div>\r\n </ng-container>\r\n </ng-template>\r\n </ng-container>\r\n \r\n \r\n </li>\r\n <ng-container *ngIf=\"item.divider\">\r\n <li 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-container>\r\n </ul>\r\n</nav>",
69
+ template: "<!--\r\n Template para ser utilizado tanto por los items como por los subitems:\r\n - item: Item que representa\r\n - index: indice del item en la lista\r\n - id: identificador del item\r\n - isRoot: si pertenece al nivel raiz\r\n-->\r\n<ng-template #itemTemplate let-item=\"item\" let-index=\"index\" let-id=\"id\" let-sub=\"sub\" let-isRoot=\"isRoot\">\r\n <ng-container *ngIf=\"item\">\r\n <li class=\"m-base\" [ngClass]=\"{'origin-top-left text-sm': !isRoot}\">\r\n <ng-container *ngIf=\"item.href || item.routerLink; else notHref\">\r\n <a *ngIf=\"item.href; else hasRouterLink\" [attr.id]=\"id\"\r\n (desyContentEmpty)=\"handleItemContentEmpty(index, isRoot)\"\r\n [href]=\"item.href | externalHref\"\r\n [class]=\"['block px-xs focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{\r\n 'underline': hasUnderline,\r\n 'hover:text-primary-base hover:underline': !item.disabled,\r\n 'no-underline pointer-events-none': item.disabled,\r\n 'font-bold': item.active\r\n }\"\r\n [attr.title]=\"item.title\"\r\n [attr.tabindex]=\"item.disabled ? -1 : null\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-current]=\"item.active ? 'page' : null\"\r\n [attr.aria-disabled]=\"item.disabled\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.disabled]=\"item.disabled\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: getItemHtml(item), text: item.text }\"></ng-container>\r\n </a>\r\n <ng-template #hasRouterLink>\r\n <!-- Todos los enlaces que admiten o href o routerLink estar\u00EDa bien unificarlos (en todos los componentes).\r\n Para ello, ser\u00EDa necesario crear una directiva para a\u00F1adir o quitar la directiva routerLink si no tiene href.\r\n Sin embargo, esto no es posible actualmente, ya que Angular todav\u00EDa no permite a\u00F1adir directivas din\u00E1micamente:\r\n https://angular.io/guide/roadmap#support-adding-directives-to-host-elements -->\r\n <a [attr.id]=\"id\"\r\n (desyContentEmpty)=\"handleItemContentEmpty(index, isRoot)\"\r\n [routerLink]=\"item.routerLink\" [fragment]=\"item.fragment ? item.fragment : null\"\r\n [routerLinkActive]=\"item.routerLinkActiveClasses ? item.routerLinkActiveClasses : []\"\r\n [class]=\"['block px-xs focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{\r\n 'underline': hasUnderline,\r\n 'hover:text-primary-base hover:underline': !item.disabled,\r\n 'no-underline pointer-events-none': item.disabled,\r\n 'font-bold': item.active\r\n }\"\r\n [attr.title]=\"item.title\"\r\n [attr.tabindex]=\"item.disabled ? -1 : null\"\r\n [attr.target]=\"item.target ? item.target : null\"\r\n [attr.aria-current]=\"item.active ? 'page' : null\"\r\n [attr.aria-disabled]=\"item.disabled\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.disabled]=\"item.disabled\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: getItemHtml(item), text: item.text }\"></ng-container>\r\n </a>\r\n </ng-template>\r\n </ng-container>\r\n <ng-template #notHref>\r\n <span [attr.id]=\"id\"\r\n (desyContentEmpty)=\"handleItemContentEmpty(index, isRoot)\"\r\n [class]=\"['block px-xs', item.classes] | makeHtmlList\"\r\n [ngClass]=\"{'font-bold': item.active}\"\r\n\r\n [attr.title]=\"item.title\"\r\n [attr.tabindex]=\"item.disabled ? -1 : null\"\r\n [attr.aria-current]=\"item.active ? 'page' : null\"\r\n [attr.aria-disabled]=\"item.disabled\"\r\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\r\n [attr.aria-label]=\"item.ariaLabel\"\r\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"item.ariaHidden\"\r\n [attr.aria-controls]=\"item.ariaControls\"\r\n [attr.aria-live]=\"item.ariaLive\"\r\n [attr.aria-expanded]=\"item.ariaExpanded\"\r\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\r\n [attr.disabled]=\"item.disabled\">\r\n <ng-container *desyCustomInnerContent=\"{ component: item, html: getItemHtml(item), text: item.text }\"></ng-container>\r\n </span>\r\n </ng-template>\r\n <ng-container *ngIf=\"isRoot && sub\">\r\n <ul *ngIf=\"getSubItems(sub)\" [ngClass]=\"sub.classes\"\r\n [attr.aria-describedby]=\"sub.ariaDescribedBy\"\r\n [attr.aria-errormessage]=\"sub.ariaErrorMessage\"\r\n [attr.aria-label]=\"sub.ariaLabel\"\r\n [attr.aria-labelledby]=\"sub.ariaLabelledBy\"\r\n [attr.aria-hidden]=\"sub.ariaHidden\"\r\n [attr.aria-disabled]=\"sub.ariaDisabled\"\r\n [attr.aria-controls]=\"sub.ariaControls\"\r\n [attr.aria-current]=\"sub.ariaCurrent\"\r\n [attr.aria-live]=\"sub.ariaLive\"\r\n [attr.aria-expanded]=\"sub.ariaExpanded\"\r\n [attr.aria-haspopup]=\"sub.ariaHasPopup\"\r\n [attr.tabindex]=\"sub.tabindex\">\r\n <ng-container *ngFor=\"let subItem of getSubItems(sub); index as subIndex\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{\r\n item: subItem,\r\n id: getSubItemId(item, index, subIndex),\r\n index: subIndex,\r\n isRoot: false\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n <div *ngIf=\"!getSubItems(sub)\"\r\n [class]=\"['mb-base px-xs origin-top-left text-sm text-neutral-dark', sub.classes] | makeHtmlList\"\r\n [id]=\"'sub-' + id\">\r\n <ng-container *desyCustomInnerContent=\"{ component: sub, html: sub.html }\"></ng-container>\r\n </div>\r\n </ng-container>\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<nav [ngClass]=\"classes\"\r\n [attr.role]=\"(role ? role : null)\"\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 <ul class=\"text-base\">\r\n <ng-container *ngFor=\"let item of getItems(); index as index\">\r\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\r\n [ngTemplateOutletContext]=\"{ item: item, id: getId(item, index), index: index, sub: getItemSub(item), isRoot: true }\">\r\n </ng-container>\r\n </ng-container>\r\n </ul>\r\n</nav>\r\n",
121
70
  animations: [
122
71
  trigger('displayMenuVertical', [
123
72
  state('void', style({
@@ -138,8 +87,9 @@ MenuVerticalComponent.decorators = [
138
87
  MenuVerticalComponent.propDecorators = {
139
88
  id: [{ type: Input }],
140
89
  idPrefix: [{ type: Input }],
141
- expandable: [{ type: Input }],
142
90
  items: [{ type: Input }],
143
- classes: [{ type: Input }]
91
+ hasUnderline: [{ type: Input }],
92
+ classes: [{ type: Input }],
93
+ itemComponents: [{ type: ContentChildren, args: [MenuVerticalItemComponent,] }]
144
94
  };
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZXN5LW5hdi9jb21wb25lbnRzL21lbnUtdmVydGljYWwvbWVudS12ZXJ0aWNhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFzQmpGLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFXL0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsMEJBQTBCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZELElBQUksT0FBTyxDQUFDLEdBQUcsRUFBQztvQkFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztpQkFDcEI7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBRUgsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUEyQixFQUFFLENBQVM7UUFDMUMsSUFBSSxJQUFJLENBQUMs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Z0IsQ0FBQzt5QkFDMUIsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2FBQ0Y7OztpQkFHRSxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCwgdGV4dE9ySHRtbFJlcXVpcmVkRnVuY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbWVudS12ZXJ0aWNhbC1pdGVtcy1kYXRhJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE1lbnVWZXJ0aWNhbFN1YkRhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21lbnUtdmVydGljYWwtc3ViLWRhdGEnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW1lbnUtdmVydGljYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LXZlcnRpY2FsLmNvbXBvbmVudC5odG1sJyxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdkaXNwbGF5TWVudVZlcnRpY2FsJywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMC4wJyxcclxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwLjk1KSdcclxuICAgICAgfSkpLFxyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcclxuICAgICAgICBvcGFjaXR5OiAnMS4wJyxcclxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgxLjApJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLW91dCcpXHJcbiAgICAgIF0pXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVWZXJ0aWNhbENvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXhwYW5kYWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpdGVtczogQXJyYXk8TWVudVZlcnRpY2FsSXRlbXNEYXRhPjtcclxuXHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxuICBpc1RyZWU6IGJvb2xlYW47XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZFByZWZpeCl7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgaWRQcmVmaXggYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLml0ZW1zKXtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBpdGVtcyBhcmUgcmVxdWlyZWRgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgICAgIHRleHRPckh0bWxSZXF1aXJlZEZ1bmN0aW9uKGVsZW1lbnQudGV4dCwgZWxlbWVudC5odG1sKTtcclxuICAgICAgICAgIGlmIChlbGVtZW50LnN1Yil7XHJcbiAgICAgICAgICAgIHRoaXMuaXNUcmVlID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0SWQoaXRlbTogTWVudVZlcnRpY2FsSXRlbXNEYXRhLCBpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgaWYgKGl0ZW0uaWQpIHtcclxuICAgICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaSA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldElkUHJlZml4KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArIGk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogJ25hdi1pdGVtJyk7XHJcbiAgfVxyXG5cclxuICBnZXRTdWJJZChpdGVtU3ViOiBNZW51VmVydGljYWxTdWJEYXRhLCBpOiBudW1iZXIpOiBzdHJpbmd7XHJcbiAgICAgaWYgKGl0ZW1TdWIuaWQpIHtcclxuICAgICAgIHJldHVybiBpdGVtU3ViLmlkO1xyXG4gICAgIH0gZWxzZSB7XHJcbiAgICAgICBpZiAoaSA9PT0gMCkge1xyXG4gICAgICAgICByZXR1cm4gJ3N1Yi0nICsgdGhpcy5nZXRJZFByZWZpeCgpO1xyXG4gICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SWRQcmVmaXgoKSArICctJyArIGk7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG5cclxuICB9XHJcblxyXG5cclxuICBpc0Rpc2FibGVkKGl0ZW06IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQgPyB0cnVlIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGlzSXRlbUV4cGFuZGVkKGl0ZW06IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5leHBhbmRhYmxlKXtcclxuICAgICAgcmV0dXJuIGl0ZW0uZXhwYW5kZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICd0cnVlJztcclxuICB9XHJcblxyXG4gIGlzQWN0aXZlKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGl0ZW0uYWN0aXZlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZXhwYW5kKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXhwYW5kYWJsZSkge1xyXG4gICAgICBpdGVtLmV4cGFuZGVkID0gIWl0ZW0uZXhwYW5kZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRCdXR0b25DbGFzc2VzKGl0ZW06IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSk6IHN0cmluZyB7XHJcbiAgICBsZXQgaXRlbUJ1dHRvbkNsYXNzID0gJ3ctZnVsbCBmbGV4IHJlbGF0aXZlIHB4LXhzIGZvY3VzOmJnLXdhcm5pbmctYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6c2hhZG93LW91dGxpbmUtZm9jdXMgZm9jdXM6dGV4dC1ibGFjayB0ZXh0LWxlZnQgJztcclxuICAgIGlmIChpdGVtLmNsYXNzZXMpIHtcclxuICAgICAgaXRlbUJ1dHRvbkNsYXNzID0gaXRlbUJ1dHRvbkNsYXNzICsgaXRlbS5jbGFzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoaXRlbSkpe1xyXG4gICAgICBpdGVtQnV0dG9uQ2xhc3MgPSBpdGVtQnV0dG9uQ2xhc3MgKyAnIG9wYWNpdHktNTAgcG9pbnRlci1ldmVudHMtbm9uZSc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1CdXR0b25DbGFzcztcclxuICB9XHJcblxyXG4gIGdldEl0ZW1XaXRoSHJlZkNsYXNzKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICBsZXQgaXRlbVdpdGhIcmVmQ2xhc3MgPSAnYmxvY2sgcHgteHMgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrICAnO1xyXG4gICAgaWYgKGl0ZW0uY2xhc3Nlcykge1xyXG4gICAgICBpdGVtV2l0aEhyZWZDbGFzcyA9IGl0ZW1XaXRoSHJlZkNsYXNzICsgaXRlbS5jbGFzc2VzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgaXRlbVdpdGhIcmVmQ2xhc3MgPSBpdGVtV2l0aEhyZWZDbGFzcyArICcgZ3JvdXAtaG92ZXI6dGV4dC1wcmltYXJ5LWJhc2UgZ3JvdXAtaG92ZXI6dW5kZXJsaW5lICc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtV2l0aEhyZWZDbGFzcyA9IGl0ZW1XaXRoSHJlZkNsYXNzICsgJyBvcGFjaXR5LTUwIHBvaW50ZXItZXZlbnRzLW5vbmUnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzQWN0aXZlKGl0ZW0pKXtcclxuICAgICAgcmV0dXJuIGl0ZW1XaXRoSHJlZkNsYXNzICsgJyBmb250LWJvbGQgJztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtV2l0aEhyZWZDbGFzcztcclxuICB9XHJcblxyXG4gIGdldENsYXNzZXNJdGVtU3ViV2l0aEhyZWYoaXRlbVN1YjogYW55KTogc3RyaW5nIHtcclxuICAgIGxldCBpdGVtU3ViV2l0aEhyZWZDbGFzcyA9ICdibG9jayBweC14cyBob3Zlcjp0ZXh0LXByaW1hcnktYmFzZSBob3Zlcjp1bmRlcmxpbmUgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrICc7XHJcbiAgICBpZiAoaXRlbVN1Yi5jbGFzc2VzKSB7XHJcbiAgICAgIGl0ZW1TdWJXaXRoSHJlZkNsYXNzID0gaXRlbVN1YldpdGhIcmVmQ2xhc3MgKyBpdGVtU3ViLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKGl0ZW1TdWIpKXtcclxuICAgICAgaXRlbVN1YldpdGhIcmVmQ2xhc3MgPSBpdGVtU3ViV2l0aEhyZWZDbGFzcyArICcgb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lICc7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0FjdGl2ZShpdGVtU3ViKSl7XHJcbiAgICAgIHJldHVybiBpdGVtU3ViV2l0aEhyZWZDbGFzcyArICcgZm9udC1ib2xkICc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbVN1YldpdGhIcmVmQ2xhc3M7XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzc2VzSXRlbVN1Yk5vSHJlZihpdGVtU3ViOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgbGV0IGl0ZW1TdWJOb0hyZWZDbGFzcyA9ICdibG9jayBweC14cyB0ZXh0LW5ldXRyYWwtZGFyayAnO1xyXG4gICAgaWYgKGl0ZW1TdWIuY2xhc3Nlcykge1xyXG4gICAgICBpdGVtU3ViTm9IcmVmQ2xhc3MgPSBpdGVtU3ViTm9IcmVmQ2xhc3MgKyBpdGVtU3ViLmNsYXNzZXM7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0FjdGl2ZShpdGVtU3ViKSl7XHJcbiAgICAgIGl0ZW1TdWJOb0hyZWZDbGFzcyA9IGl0ZW1TdWJOb0hyZWZDbGFzcyArICcgZm9udC1ib2xkJztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtU3ViTm9IcmVmQ2xhc3M7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS12ZXJ0aWNhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL21lbnUtdmVydGljYWwvbWVudS12ZXJ0aWNhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBcUJ2RyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCO0lBVS9ELHNCQUFzQixDQUFDLEtBQWEsRUFBRSxNQUFlO1FBQ25ELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxrREFBa0QsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQTJCO1FBQ3JDLElBQUksUUFBZ0IsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBWSxJQUFJLENBQUMsSUFBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVksV0FBVyxDQUFDLFVBQVUsQ0FB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QUNkLFNBQVMsRUFBRSxhQUFhO3lCQUN6QixDQUFDLENBQUM7d0JBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7NEJBQ2YsT0FBTyxFQUFFLEtBQUs7NEJBQ2QsU0FBUyxFQUFFLFlBQVk7eUJBQ3hCLENBQUMsQ0FBQzt3QkFDSCxVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUM7eUJBQzFCLENBQUM7cUJBQ0gsQ0FBQztpQkFDSDthQUNGOzs7aUJBR0UsS0FBSzt1QkFDTCxLQUFLO29CQUNMLEtBQUs7MkJBQ0wsS0FBSztzQkFDTCxLQUFLOzZCQUVMLGVBQWUsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtNZW51VmVydGljYWxJdGVtc0RhdGEsIE1lbnVWZXJ0aWNhbFN1YkRhdGEsIE1lbnVWZXJ0aWNhbFN1Ykl0ZW1zRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQge01lbnVWZXJ0aWNhbEl0ZW1Db21wb25lbnR9IGZyb20gJy4vbWVudS12ZXJ0aWNhbC1pdGVtL21lbnUtdmVydGljYWwtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge01lbnVWZXJ0aWNhbEl0ZW1TdWJDb21wb25lbnR9IGZyb20gJy4vbWVudS12ZXJ0aWNhbC1pdGVtLXN1Yi9tZW51LXZlcnRpY2FsLWl0ZW0tc3ViLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktbWVudS12ZXJ0aWNhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtdmVydGljYWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2Rpc3BsYXlNZW51VmVydGljYWwnLCBbXHJcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xyXG4gICAgICAgIG9wYWNpdHk6ICcwLjAnLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDAuOTUpJ1xyXG4gICAgICB9KSksXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe1xyXG4gICAgICAgIG9wYWNpdHk6ICcxLjAnLFxyXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDEuMCknXHJcbiAgICAgIH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JylcclxuICAgICAgXSlcclxuICAgIF0pXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudVZlcnRpY2FsQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcclxuICBASW5wdXQoKSBpdGVtczogTWVudVZlcnRpY2FsSXRlbXNEYXRhW107XHJcbiAgQElucHV0KCkgaGFzVW5kZXJsaW5lOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihNZW51VmVydGljYWxJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PE1lbnVWZXJ0aWNhbEl0ZW1Db21wb25lbnQ+O1xyXG5cclxuICBoYW5kbGVJdGVtQ29udGVudEVtcHR5KGluZGV4OiBudW1iZXIsIGlzUm9vdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKGAke2lzUm9vdCA/ICdJdGVtJyA6ICdTdWJpdGVtJ30gY29udGVudCwgaHRtbCBvciB0ZXh0IGFyIHJlcXVpcmVkIGF0IHBvc2l0aW9uICR7aW5kZXh9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtSHRtbChpdGVtOiBNZW51VmVydGljYWxJdGVtc0RhdGEpOiBzdHJpbmcge1xyXG4gICAgbGV0IGl0ZW1IdG1sOiBzdHJpbmc7XHJcbiAgICBpZiAoaXRlbS5hY3RpdmUpIHtcclxuICAgICAgaXRlbUh0bWwgPSBpdGVtLmh0bWwgPyBgPHN0cm9uZz4keyBpdGVtLmh0bWwgfTwvc3Ryb25nPmAgOiBgPHN0cm9uZz4keyBTdHJpbmdVdGlscy5lc2NhcGVIdG1sKGl0ZW0udGV4dCkgfTwvc3Ryb25nPmA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtSHRtbCA9IGl0ZW0uaHRtbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaXRlbUh0bWw7XHJcbiAgfVxyXG5cclxuICBnZXRJZChpdGVtOiBNZW51VmVydGljYWxJdGVtc0RhdGEsIGk6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoaXRlbS5pZCkge1xyXG4gICAgICByZXR1cm4gaXRlbS5pZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGlkUHJlZml4ID0gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiAnbmF2LWl0ZW0nO1xyXG4gICAgICBpZiAoaSA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBpZFByZWZpeDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaWRQcmVmaXggKyAnLScgKyBpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTdWJJdGVtSWQoaXRlbTogTWVudVZlcnRpY2FsSXRlbXNEYXRhLCBpdGVtSW5kZXg6IG51bWJlciwgc3ViSXRlbUluZGV4OiBudW1iZXIpOiBzdHJpbmd7XHJcbiAgICBsZXQgc3ViSXRlbUlkOiBzdHJpbmc7XHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLmdldEl0ZW1TdWIoaXRlbSk7XHJcbiAgICBjb25zdCBzdWJJdGVtcyA9IHRoaXMuZ2V0U3ViSXRlbXMoc3ViKTtcclxuICAgIGNvbnN0IHN1Ykl0ZW0gPSBzdWJJdGVtc1tzdWJJdGVtSW5kZXhdO1xyXG4gICAgaWYgKHN1Ykl0ZW0pIHtcclxuICAgICAgaWYgKHN1Ykl0ZW0uaWQpIHtcclxuICAgICAgICBzdWJJdGVtSWQgPSBzdWJJdGVtLmlkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1JZCA9IHRoaXMuZ2V0SWQoaXRlbSwgaXRlbUluZGV4KTtcclxuICAgICAgICBzdWJJdGVtSWQgPSBzdWJJdGVtSW5kZXggPT09IDAgPyBgc3ViLSR7aXRlbUlkfWAgOiBgc3ViLSR7aXRlbUlkfS0ke3N1Ykl0ZW1JbmRleH1gO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN1Ykl0ZW1JZDtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1zKCk6IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YVtdIHtcclxuICAgIGNvbnN0IGl0ZW1MaXN0ID0gdGhpcy5pdGVtQ29tcG9uZW50cyAmJiB0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCA+IDAgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XHJcbiAgICBpZiAoIWl0ZW1MaXN0IHx8IGl0ZW1MaXN0Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgaXRlbXMgYXJlIHJlcXVpcmVkYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbUxpc3Q7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtU3ViKGl0ZW06IE1lbnVWZXJ0aWNhbEl0ZW1zRGF0YSk6IE1lbnVWZXJ0aWNhbFN1YkRhdGEge1xyXG4gICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBNZW51VmVydGljYWxJdGVtQ29tcG9uZW50ID8gaXRlbS5zdWJDb21wb25lbnQgOiBpdGVtLnN1YjtcclxuICB9XHJcblxyXG4gIGdldFN1Ykl0ZW1zKHN1YjogTWVudVZlcnRpY2FsU3ViRGF0YSk6IE1lbnVWZXJ0aWNhbFN1Ykl0ZW1zRGF0YVtdIHtcclxuICAgIGNvbnN0IHN1Ykl0ZW1zID0gc3ViIGluc3RhbmNlb2YgTWVudVZlcnRpY2FsSXRlbVN1YkNvbXBvbmVudCA/IHN1Yi5pdGVtQ29tcG9uZW50cy50b0FycmF5KCkgOiBzdWIuaXRlbXM7XHJcbiAgICByZXR1cm4gc3ViSXRlbXMgJiYgc3ViSXRlbXMubGVuZ3RoID4gMCA/IHN1Ykl0ZW1zIDogbnVsbDtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,36 @@
1
+ import { Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../../shared/components';
3
+ import { MenubarSubitemComponent } from '../menubar-subitem/menubar-subitem.component';
4
+ export class MenubarItemComponent extends ContentBaseComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.selected = new EventEmitter();
8
+ }
9
+ getSubItems() {
10
+ return this.subItems.toArray();
11
+ }
12
+ }
13
+ MenubarItemComponent.decorators = [
14
+ { type: Component, args: [{
15
+ selector: 'desy-menubar-item',
16
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
17
+ },] }
18
+ ];
19
+ MenubarItemComponent.propDecorators = {
20
+ href: [{ type: Input }],
21
+ target: [{ type: Input }],
22
+ routerLink: [{ type: Input }],
23
+ routerLinkActiveClasses: [{ type: Input }],
24
+ fragment: [{ type: Input }],
25
+ text: [{ type: Input }],
26
+ html: [{ type: Input }],
27
+ id: [{ type: Input }],
28
+ sub: [{ type: Input }],
29
+ classes: [{ type: Input }],
30
+ title: [{ type: Input }],
31
+ disabled: [{ type: Input }],
32
+ active: [{ type: Input }],
33
+ selected: [{ type: Output }],
34
+ subItems: [{ type: ContentChildren, args: [MenubarSubitemComponent,] }]
35
+ };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbWVudWJhci9jb21wb25lbnRzL21lbnViYXItaXRlbS9tZW51YmFyLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBTXJGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxvQkFBb0I7SUFKOUQ7O1FBcUJZLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBUS9DLENBQUM7SUFKUSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7WUEzQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLCtGQUE0QzthQUM3Qzs7O21CQUdFLEtBQUs7cUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NDQUNMLEtBQUs7dUJBQ0wsS0FBSzttQkFDTCxLQUFLO21CQUNMLEtBQUs7aUJBQ0wsS0FBSztrQkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBRUwsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBRUwsTUFBTTt1QkFFTixlQUFlLFNBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01lbnViYXJJdGVtfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL21lbnViYXItaXRlbSc7XHJcbmltcG9ydCB7TWVudWJhckl0ZW1TdWJ9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvbWVudWJhci1pdGVtLXN1Yic7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuaW1wb3J0IHtNZW51YmFyU3ViaXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vbWVudWJhci1zdWJpdGVtL21lbnViYXItc3ViaXRlbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW1lbnViYXItaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnViYXItaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnViYXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBNZW51YmFySXRlbSB7XHJcblxyXG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJvdXRlckxpbms/OiBzdHJpbmd8YW55W107XHJcbiAgQElucHV0KCkgcm91dGVyTGlua0FjdGl2ZUNsYXNzZXM/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnJhZ21lbnQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcclxuICBASW5wdXQoKSBodG1sPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1Yj86IE1lbnViYXJJdGVtU3ViO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBhY3RpdmU/OiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihNZW51YmFyU3ViaXRlbUNvbXBvbmVudCkgc3ViSXRlbXM6IFF1ZXJ5TGlzdDxNZW51YmFyU3ViaXRlbUNvbXBvbmVudD47XHJcblxyXG4gIHB1YmxpYyBnZXRTdWJJdGVtcygpOiBNZW51YmFyU3ViaXRlbUNvbXBvbmVudFtdIHtcclxuICAgIHJldHVybiB0aGlzLnN1Ykl0ZW1zLnRvQXJyYXkoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../../shared/components';
3
+ export class MenubarLabelComponent extends ContentBaseComponent {
4
+ }
5
+ MenubarLabelComponent.decorators = [
6
+ { type: Component, args: [{
7
+ selector: 'desy-menubar-label',
8
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
9
+ },] }
10
+ ];
11
+ MenubarLabelComponent.propDecorators = {
12
+ classes: [{ type: Input }]
13
+ };
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LW5hdi9jb21wb25lbnRzL21lbnViYXIvY29tcG9uZW50cy9tZW51YmFyLWxhYmVsL21lbnViYXItbGFiZWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTXRFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxvQkFBb0I7OztZQUo5RCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsK0ZBQTZDO2FBQzlDOzs7c0JBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1tZW51YmFyLWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudWJhci1sYWJlbC5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnViYXJMYWJlbENvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { MenubarSubsubitemComponent } from '../menubar-subsubitem/menubar-subsubitem.component';
3
+ import { ContentBaseComponent } from '../../../../../shared/components';
4
+ export class MenubarSubitemComponent extends ContentBaseComponent {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.selected = new EventEmitter();
8
+ this.checkedChange = new EventEmitter();
9
+ }
10
+ getSubItems() {
11
+ return this.subItems.toArray();
12
+ }
13
+ }
14
+ MenubarSubitemComponent.decorators = [
15
+ { type: Component, args: [{
16
+ selector: 'desy-menubar-subitem',
17
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
18
+ },] }
19
+ ];
20
+ MenubarSubitemComponent.propDecorators = {
21
+ text: [{ type: Input }],
22
+ html: [{ type: Input }],
23
+ checked: [{ type: Input }],
24
+ items: [{ type: Input }],
25
+ selected: [{ type: Output }],
26
+ checkedChange: [{ type: Output }],
27
+ subItems: [{ type: ContentChildren, args: [MenubarSubsubitemComponent,] }]
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci1zdWJpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbWVudWJhci9jb21wb25lbnRzL21lbnViYXItc3ViaXRlbS9tZW51YmFyLXN1Yml0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBTXRFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFKakU7O1FBV1ksYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBUXhELENBQUM7SUFKUSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7WUFsQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLCtGQUErQzthQUNoRDs7O21CQUdFLEtBQUs7bUJBQ0wsS0FBSztzQkFDTCxLQUFLO29CQUNMLEtBQUs7dUJBRUwsTUFBTTs0QkFDTixNQUFNO3VCQUVOLGVBQWUsU0FBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWVudWJhckl0ZW1TdWJJdGVtfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL21lbnViYXItaXRlbS1zdWItaXRlbSc7XHJcbmltcG9ydCB7TWVudWJhckl0ZW1TdWJJdGVtU3ViSXRlbX0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9tZW51YmFyLWl0ZW0tc3ViLWl0ZW0tc3ViLWl0ZW0nO1xyXG5pbXBvcnQge01lbnViYXJTdWJzdWJpdGVtQ29tcG9uZW50fSBmcm9tICcuLi9tZW51YmFyLXN1YnN1Yml0ZW0vbWVudWJhci1zdWJzdWJpdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29udGVudEJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1tZW51YmFyLXN1Yml0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51YmFyLXN1Yml0ZW0uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51YmFyU3ViaXRlbUNvbXBvbmVudCBleHRlbmRzIENvbnRlbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgTWVudWJhckl0ZW1TdWJJdGVtIHtcclxuXHJcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZztcclxuICBASW5wdXQoKSBodG1sPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQ/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGl0ZW1zPzogTWVudWJhckl0ZW1TdWJJdGVtU3ViSXRlbVtdO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihNZW51YmFyU3Vic3ViaXRlbUNvbXBvbmVudCkgc3ViSXRlbXM6IFF1ZXJ5TGlzdDxNZW51YmFyU3Vic3ViaXRlbUNvbXBvbmVudD47XHJcblxyXG4gIHB1YmxpYyBnZXRTdWJJdGVtcygpOiBNZW51YmFyU3Vic3ViaXRlbUNvbXBvbmVudFtdIHtcclxuICAgIHJldHVybiB0aGlzLnN1Ykl0ZW1zLnRvQXJyYXkoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../../shared/components';
3
+ export class MenubarSubsubitemComponent extends ContentBaseComponent {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.selected = new EventEmitter();
7
+ this.checkedChange = new EventEmitter();
8
+ }
9
+ }
10
+ MenubarSubsubitemComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: 'desy-menubar-subsubitem',
13
+ template: "<ng-template #contentTemplate>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n"
14
+ },] }
15
+ ];
16
+ MenubarSubsubitemComponent.propDecorators = {
17
+ html: [{ type: Input }],
18
+ text: [{ type: Input }],
19
+ checked: [{ type: Input }],
20
+ selected: [{ type: Output }],
21
+ checkedChange: [{ type: Output }]
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhci1zdWJzdWJpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktbmF2L2NvbXBvbmVudHMvbWVudWJhci9jb21wb25lbnRzL21lbnViYXItc3Vic3ViaXRlbS9tZW51YmFyLXN1YnN1Yml0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFNdEUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG9CQUFvQjtJQUpwRTs7UUFVWSxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFeEQsQ0FBQzs7O1lBYkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLCtGQUFrRDthQUNuRDs7O21CQUdFLEtBQUs7bUJBQ0wsS0FBSztzQkFDTCxLQUFLO3VCQUVMLE1BQU07NEJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge01lbnViYXJJdGVtU3ViSXRlbVN1Ykl0ZW19IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvbWVudWJhci1pdGVtLXN1Yi1pdGVtLXN1Yi1pdGVtJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW1lbnViYXItc3Vic3ViaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnViYXItc3Vic3ViaXRlbS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnViYXJTdWJzdWJpdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBNZW51YmFySXRlbVN1Ykl0ZW1TdWJJdGVtIHtcclxuXHJcbiAgQElucHV0KCkgaHRtbD86IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXh0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQ/OiBib29sZWFuO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,37 @@
1
+ import { ContentChild, ContentChildren, Directive, ElementRef, EventEmitter, Output } from '@angular/core';
2
+ export class MenubaritemDirective {
3
+ constructor(elementRef) {
4
+ this.elementRef = elementRef;
5
+ this.contentChanged = new EventEmitter();
6
+ this.contentHasBeenChecked = false;
7
+ }
8
+ ngAfterContentChecked() {
9
+ if (this.popupMenu !== this.lastPopupMenu || this.popupMenuItems !== this.lastPopupMenuItems
10
+ || this.link !== this.lastLink || this.itemContentWrapper !== this.lastItemContentWrapper) {
11
+ setTimeout(() => this.contentChanged.emit());
12
+ this.lastPopupMenu = this.popupMenu;
13
+ this.lastPopupMenuItems = this.popupMenuItems;
14
+ this.lastLink = this.link;
15
+ this.lastItemContentWrapper = this.itemContentWrapper;
16
+ }
17
+ if (!this.contentHasBeenChecked) {
18
+ setTimeout(() => this.contentHasBeenChecked = true);
19
+ }
20
+ }
21
+ }
22
+ MenubaritemDirective.decorators = [
23
+ { type: Directive, args: [{
24
+ selector: '[desyMenubaritem]'
25
+ },] }
26
+ ];
27
+ MenubaritemDirective.ctorParameters = () => [
28
+ { type: ElementRef }
29
+ ];
30
+ MenubaritemDirective.propDecorators = {
31
+ link: [{ type: ContentChild, args: ['link', { read: ElementRef },] }],
32
+ itemContentWrapper: [{ type: ContentChild, args: ['itemContentWrapper', { read: ElementRef },] }],
33
+ popupMenu: [{ type: ContentChild, args: ['popupMenu', { read: ElementRef },] }],
34
+ popupMenuItems: [{ type: ContentChildren, args: ['popupMenuItem', { read: ElementRef, descendants: true },] }],
35
+ contentChanged: [{ type: Output }]
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWJhcml0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1uYXYvY29tcG9uZW50cy9tZW51YmFyL2RpcmVjdGl2ZXMvbWVudWJhcml0ZW0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFHUCxNQUFNLGVBQWUsQ0FBQztBQUt2QixNQUFNLE9BQU8sb0JBQW9CO0lBZS9CLFlBQW1CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFUL0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9qRSwwQkFBcUIsR0FBRyxLQUFLLENBQUM7SUFFZSxDQUFDO0lBRTlDLHFCQUFxQjtRQUNuQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxrQkFBa0I7ZUFDckYsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDN0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzFCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FDdkQ7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOzs7WUFqQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7OztZQVRDLFVBQVU7OzttQkFXVCxZQUFZLFNBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtpQ0FDekMsWUFBWSxTQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTt3QkFDdkQsWUFBWSxTQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7NkJBQzlDLGVBQWUsU0FBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUM7NkJBRXZFLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbnRlbnRDaGlsZCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbZGVzeU1lbnViYXJpdGVtXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnViYXJpdGVtRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XHJcbiAgQENvbnRlbnRDaGlsZCgnbGluaycsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaW5rOiBFbGVtZW50UmVmO1xyXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1Db250ZW50V3JhcHBlcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBpdGVtQ29udGVudFdyYXBwZXI6IEVsZW1lbnRSZWY7XHJcbiAgQENvbnRlbnRDaGlsZCgncG9wdXBNZW51JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHBvcHVwTWVudTogRWxlbWVudFJlZjtcclxuICBAQ29udGVudENoaWxkcmVuKCdwb3B1cE1lbnVJdGVtJywgeyByZWFkOiBFbGVtZW50UmVmLCBkZXNjZW5kYW50czogdHJ1ZX0pIHBvcHVwTWVudUl0ZW1zOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj47XHJcblxyXG4gIEBPdXRwdXQoKSBjb250ZW50Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHByaXZhdGUgbGFzdFBvcHVwTWVudTogRWxlbWVudFJlZjtcclxuICBwcml2YXRlIGxhc3RQb3B1cE1lbnVJdGVtczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xyXG4gIHByaXZhdGUgbGFzdEl0ZW1Db250ZW50V3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBwcml2YXRlIGxhc3RMaW5rOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb250ZW50SGFzQmVlbkNoZWNrZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wb3B1cE1lbnUgIT09IHRoaXMubGFzdFBvcHVwTWVudSB8fCB0aGlzLnBvcHVwTWVudUl0ZW1zICE9PSB0aGlzLmxhc3RQb3B1cE1lbnVJdGVtc1xyXG4gICAgICAgIHx8IHRoaXMubGluayAhPT0gdGhpcy5sYXN0TGluayB8fCB0aGlzLml0ZW1Db250ZW50V3JhcHBlciAhPT0gdGhpcy5sYXN0SXRlbUNvbnRlbnRXcmFwcGVyKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb250ZW50Q2hhbmdlZC5lbWl0KCkpO1xyXG4gICAgICB0aGlzLmxhc3RQb3B1cE1lbnUgPSB0aGlzLnBvcHVwTWVudTtcclxuICAgICAgdGhpcy5sYXN0UG9wdXBNZW51SXRlbXMgPSB0aGlzLnBvcHVwTWVudUl0ZW1zO1xyXG4gICAgICB0aGlzLmxhc3RMaW5rID0gdGhpcy5saW5rO1xyXG4gICAgICB0aGlzLmxhc3RJdGVtQ29udGVudFdyYXBwZXIgPSB0aGlzLml0ZW1Db250ZW50V3JhcHBlcjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29udGVudEhhc0JlZW5DaGVja2VkKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jb250ZW50SGFzQmVlbkNoZWNrZWQgPSB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==