desy-angular 7.0.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/README.md +2 -2
  2. package/esm2022/desy-angular.mjs +2 -0
  3. package/{esm2020 → esm2022}/lib/desy-angular.module.mjs +37 -37
  4. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +115 -0
  5. package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
  6. package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +127 -0
  7. package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +39 -0
  8. package/{esm2020 → esm2022}/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +4 -4
  9. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +334 -0
  10. package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
  11. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +4 -4
  13. package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +61 -0
  14. package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +81 -0
  15. package/{esm2020 → esm2022}/lib/desy-commons/components/content/content.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/desy-commons/components/description/description.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/desy-commons/components/divider/divider.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/desy-commons/components/icon/icon.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/desy-commons/components/title/title.component.mjs +4 -4
  20. package/esm2022/lib/desy-commons/desy-commons.module.mjs +52 -0
  21. package/{esm2020 → esm2022}/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
  22. package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +222 -0
  23. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +15 -0
  24. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +268 -0
  25. package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +55 -0
  26. package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
  27. package/{esm2020 → esm2022}/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +4 -4
  28. package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +55 -0
  29. package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +51 -0
  30. package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +293 -0
  31. package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
  32. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/fieldset.component.mjs +10 -8
  33. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/legend/legend.component.mjs +4 -4
  34. package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +67 -0
  35. package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +120 -0
  36. package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +29 -0
  37. package/esm2022/lib/desy-forms/components/input/input.component.mjs +98 -0
  38. package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
  39. package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +59 -0
  40. package/{esm2020 → esm2022}/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +4 -4
  41. package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +51 -0
  42. package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +228 -0
  43. package/esm2022/lib/desy-forms/components/label/label.component.mjs +38 -0
  44. package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +170 -0
  45. package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +15 -0
  46. package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +281 -0
  47. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +60 -0
  48. package/{esm2020 → esm2022}/lib/desy-forms/components/select/option/option.component.mjs +4 -4
  49. package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
  50. package/{esm2020 → esm2022}/lib/desy-forms/components/select/select-item/select-item.component.mjs +4 -4
  51. package/esm2022/lib/desy-forms/components/select/select.component.mjs +92 -0
  52. package/{esm2020 → esm2022}/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/desy-forms/components/textarea/textarea.component.mjs +12 -13
  54. package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +173 -0
  55. package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +377 -0
  56. package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
  57. package/{esm2020 → esm2022}/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +4 -4
  58. package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +356 -0
  59. package/esm2022/lib/desy-forms/desy-forms.module.mjs +207 -0
  60. package/esm2022/lib/desy-forms/directives/condition.directive.mjs +34 -0
  61. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
  62. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
  63. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +150 -0
  64. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
  65. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
  66. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
  67. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
  68. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +182 -0
  69. package/esm2022/lib/desy-modals/desy-modals.module.mjs +61 -0
  70. package/{esm2020 → esm2022}/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
  71. package/esm2022/lib/desy-modals/interfaces/index.mjs +7 -0
  72. package/esm2022/lib/desy-modals/services/dialog.service.mjs +114 -0
  73. package/{esm2020 → esm2022}/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
  74. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +48 -0
  75. package/{esm2020 → esm2022}/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
  76. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +64 -0
  77. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
  78. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +31 -0
  79. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
  80. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
  81. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +74 -0
  82. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
  83. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +46 -0
  84. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
  85. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
  86. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
  87. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
  88. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +93 -0
  89. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
  90. package/esm2022/lib/desy-nav/components/header/header.component.mjs +107 -0
  91. package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +40 -0
  92. package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +14 -0
  93. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
  94. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
  95. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +78 -0
  96. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
  97. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
  98. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +602 -0
  99. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +46 -0
  100. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
  101. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
  102. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
  103. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
  104. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
  105. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
  106. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
  107. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
  108. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +713 -0
  109. package/{esm2020 → esm2022}/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
  110. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +115 -0
  111. package/{esm2020 → esm2022}/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
  112. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +143 -0
  113. package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +43 -0
  114. package/esm2022/lib/desy-nav/desy-nav.module.mjs +240 -0
  115. package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +2 -0
  116. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +191 -0
  117. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
  118. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
  119. package/{esm2020 → esm2022}/lib/desy-pagination/desy-pagination.module.mjs +15 -15
  120. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
  121. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
  122. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
  123. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
  124. package/esm2022/lib/desy-tables/components/table/table.component.mjs +79 -0
  125. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +50 -0
  126. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
  127. package/{esm2020 → esm2022}/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
  128. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
  129. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
  130. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +286 -0
  131. package/{esm2020 → esm2022}/lib/desy-tables/desy-tables.module.mjs +38 -38
  132. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +25 -0
  133. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
  134. package/esm2022/lib/desy-tables/directives/row.directive.mjs +22 -0
  135. package/{esm2020 → esm2022}/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
  136. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +61 -0
  137. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +199 -0
  138. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +41 -0
  139. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
  140. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
  141. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
  142. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +81 -0
  143. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
  144. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
  145. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +36 -0
  146. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
  147. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
  148. package/{esm2020 → esm2022}/lib/desy-views/components/details/details.component.mjs +4 -4
  149. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
  150. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
  151. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
  152. package/esm2022/lib/desy-views/components/item/item.component.mjs +121 -0
  153. package/{esm2020 → esm2022}/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
  154. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +117 -0
  155. package/{esm2020 → esm2022}/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
  156. package/esm2022/lib/desy-views/components/status/status.component.mjs +107 -0
  157. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +148 -0
  158. package/{esm2020 → esm2022}/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
  159. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +39 -0
  160. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +200 -0
  161. package/{esm2020 → esm2022}/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
  162. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +206 -0
  163. package/{esm2020 → esm2022}/lib/desy-views/desy-views.module.mjs +67 -67
  164. package/esm2022/lib/desy-views/services/alert.service.mjs +88 -0
  165. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +42 -0
  166. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
  168. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +21 -0
  169. package/{esm2020 → esm2022}/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
  170. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +30 -0
  171. package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +15 -0
  172. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +50 -0
  173. package/esm2022/lib/shared/directives/click-outside.directive.mjs +40 -0
  174. package/esm2022/lib/shared/directives/content-change.directive.mjs +41 -0
  175. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +44 -0
  176. package/esm2022/lib/shared/directives/inner-content.directive.mjs +37 -0
  177. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +28 -0
  178. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +21 -0
  179. package/{esm2020 → esm2022}/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
  180. package/esm2022/lib/shared/shared.module.mjs +83 -0
  181. package/esm2022/lib/shared/utils/search-utils.mjs +66 -0
  182. package/esm2022/lib/shared/utils/string-utils.mjs +11 -0
  183. package/esm2022/public-api.mjs +197 -0
  184. package/{fesm2020 → fesm2022}/desy-angular.mjs +1964 -2068
  185. package/fesm2022/desy-angular.mjs.map +1 -0
  186. package/index.d.ts +0 -3
  187. package/lib/desy-buttons/components/button/button.component.d.ts +1 -1
  188. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -1
  189. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +1 -1
  190. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -1
  191. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +1 -1
  192. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +16 -5
  193. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -1
  194. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +1 -1
  195. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +1 -1
  196. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +1 -1
  197. package/lib/desy-commons/components/content/content.component.d.ts +1 -1
  198. package/lib/desy-commons/components/description/description.component.d.ts +1 -1
  199. package/lib/desy-commons/components/divider/divider.component.d.ts +1 -1
  200. package/lib/desy-commons/components/icon/icon.component.d.ts +1 -1
  201. package/lib/desy-commons/components/title/title.component.d.ts +1 -1
  202. package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -1
  203. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -4
  204. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +13 -0
  205. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +13 -31
  206. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -1
  207. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +1 -1
  208. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -1
  209. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -1
  210. package/lib/desy-forms/components/date-input/date-input.component.d.ts +5 -8
  211. package/lib/desy-forms/components/error-message/error-message.component.d.ts +1 -1
  212. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +1 -8
  213. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +1 -1
  214. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -6
  215. package/lib/desy-forms/components/form-field/form-field.component.d.ts +10 -10
  216. package/lib/desy-forms/components/hint/hint.component.d.ts +1 -1
  217. package/lib/desy-forms/components/input/input.component.d.ts +1 -1
  218. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +2 -1
  219. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +1 -1
  220. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +2 -1
  221. package/lib/desy-forms/components/input-group/input-group.component.d.ts +3 -8
  222. package/lib/desy-forms/components/label/label.component.d.ts +1 -1
  223. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -5
  224. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +13 -0
  225. package/lib/desy-forms/components/radios/radios.component.d.ts +14 -31
  226. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +3 -5
  227. package/lib/desy-forms/components/select/option/option.component.d.ts +2 -2
  228. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +1 -1
  229. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +1 -1
  230. package/lib/desy-forms/components/select/select.component.d.ts +1 -1
  231. package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -1
  232. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +1 -1
  233. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +2 -5
  234. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +6 -2
  235. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +1 -1
  236. package/lib/desy-forms/components/tree/tree.component.d.ts +2 -59
  237. package/lib/desy-forms/directives/condition.directive.d.ts +1 -6
  238. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +1 -0
  239. package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
  240. package/lib/desy-modals/components/dialog/dialog.component.d.ts +2 -1
  241. package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +1 -1
  242. package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +1 -1
  243. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +1 -1
  244. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +1 -1
  245. package/lib/desy-modals/components/modal/modal.component.d.ts +1 -1
  246. package/lib/desy-modals/interfaces/dialog-options.d.ts +1 -0
  247. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +1 -1
  248. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  249. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +1 -1
  250. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +1 -1
  251. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +1 -1
  252. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +1 -1
  253. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +1 -1
  254. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +1 -1
  255. package/lib/desy-nav/components/footer/footer.component.d.ts +1 -1
  256. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +1 -1
  257. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +1 -1
  258. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +1 -1
  259. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +1 -8
  260. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
  261. package/lib/desy-nav/components/header/header.component.d.ts +3 -2
  262. package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +20 -0
  263. package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +7 -0
  264. package/lib/desy-nav/components/links-list/links-list.component.d.ts +13 -0
  265. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +1 -1
  266. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +1 -1
  267. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +1 -1
  268. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +1 -1
  269. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +1 -1
  270. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -1
  271. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +1 -1
  272. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +1 -1
  273. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -1
  274. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +1 -1
  275. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +1 -1
  276. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +1 -1
  277. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +1 -1
  278. package/lib/desy-nav/components/menubar/menubar.component.d.ts +1 -8
  279. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
  280. package/lib/desy-nav/components/nav/nav.component.d.ts +1 -1
  281. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +1 -1
  282. package/lib/desy-nav/components/notification/notification.component.d.ts +1 -1
  283. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +2 -1
  284. package/lib/desy-nav/desy-nav.module.d.ts +29 -26
  285. package/lib/desy-nav/interfaces/header-skiplink-data.d.ts +7 -0
  286. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +12 -7
  287. package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +1 -1
  288. package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +1 -1
  289. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +1 -1
  290. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +1 -1
  291. package/lib/desy-tables/components/table/table.component.d.ts +1 -1
  292. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +1 -1
  293. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +1 -1
  294. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +1 -1
  295. package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
  296. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -56
  297. package/lib/desy-tables/directives/cell.directive.d.ts +1 -4
  298. package/lib/desy-tables/directives/row.directive.d.ts +1 -8
  299. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
  300. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  301. package/lib/desy-views/components/accordion/accordion.component.d.ts +1 -1
  302. package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +1 -1
  303. package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +1 -1
  304. package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +1 -1
  305. package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
  306. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +1 -1
  307. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +1 -1
  308. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +1 -1
  309. package/lib/desy-views/components/description-list/description-list.component.d.ts +1 -1
  310. package/lib/desy-views/components/description-list/term/term.component.d.ts +1 -1
  311. package/lib/desy-views/components/details/details.component.d.ts +1 -1
  312. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +1 -1
  313. package/lib/desy-views/components/item/item.component.d.ts +2 -1
  314. package/lib/desy-views/components/media-object/media-object.component.d.ts +1 -1
  315. package/lib/desy-views/components/spinner/spinner.component.d.ts +1 -1
  316. package/lib/desy-views/components/status/status.component.d.ts +3 -1
  317. package/lib/desy-views/components/status-item/status-item.component.d.ts +1 -1
  318. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +1 -1
  319. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +1 -1
  320. package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -1
  321. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +1 -1
  322. package/lib/shared/components/accessibility/accessibility.component.d.ts +1 -4
  323. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +1 -9
  324. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -7
  325. package/lib/shared/components/content-base/content-base.component.d.ts +0 -3
  326. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +1 -5
  327. package/lib/shared/decorators/desy-content-child.decorator.d.ts +0 -11
  328. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +0 -4
  329. package/lib/shared/directives/attribute-change.directive.d.ts +2 -1
  330. package/lib/shared/directives/click-outside.directive.d.ts +1 -1
  331. package/lib/shared/directives/content-change.directive.d.ts +1 -5
  332. package/lib/shared/directives/custom-inner-content.directive.d.ts +1 -7
  333. package/lib/shared/directives/inner-content.directive.d.ts +1 -1
  334. package/lib/shared/pipes/external-href.pipe.d.ts +0 -4
  335. package/lib/shared/utils/search-utils.d.ts +0 -10
  336. package/lib/shared/utils/string-utils.d.ts +0 -7
  337. package/package.json +13 -19
  338. package/public-api.d.ts +4 -0
  339. package/esm2020/desy-angular.mjs +0 -5
  340. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +0 -115
  341. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -63
  342. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -126
  343. package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -32
  344. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -291
  345. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +0 -80
  346. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -59
  347. package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +0 -82
  348. package/esm2020/lib/desy-commons/desy-commons.module.mjs +0 -53
  349. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -240
  350. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -264
  351. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -52
  352. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
  353. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -52
  354. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -48
  355. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +0 -266
  356. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +0 -31
  357. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -72
  358. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +0 -124
  359. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +0 -29
  360. package/esm2020/lib/desy-forms/components/input/input.component.mjs +0 -99
  361. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
  362. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -53
  363. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -45
  364. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +0 -223
  365. package/esm2020/lib/desy-forms/components/label/label.component.mjs +0 -38
  366. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -185
  367. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +0 -270
  368. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -66
  369. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
  370. package/esm2020/lib/desy-forms/components/select/select.component.mjs +0 -93
  371. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -167
  372. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -397
  373. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
  374. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +0 -425
  375. package/esm2020/lib/desy-forms/desy-forms.module.mjs +0 -209
  376. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +0 -34
  377. package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +0 -9
  378. package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +0 -9
  379. package/esm2020/lib/desy-forms/services/checkbox.service.mjs +0 -61
  380. package/esm2020/lib/desy-forms/services/radio.service.mjs +0 -53
  381. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +0 -130
  382. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
  383. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
  384. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
  385. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
  386. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +0 -178
  387. package/esm2020/lib/desy-modals/desy-modals.module.mjs +0 -62
  388. package/esm2020/lib/desy-modals/interfaces/index.mjs +0 -8
  389. package/esm2020/lib/desy-modals/services/dialog.service.mjs +0 -114
  390. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -47
  391. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -62
  392. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -30
  393. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -19
  394. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +0 -71
  395. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -45
  396. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
  397. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -95
  398. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
  399. package/esm2020/lib/desy-nav/components/header/header.component.mjs +0 -103
  400. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -79
  401. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -49
  402. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -616
  403. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -45
  404. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
  405. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -113
  406. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
  407. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
  408. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -45
  409. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +0 -727
  410. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +0 -116
  411. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +0 -141
  412. package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -37
  413. package/esm2020/lib/desy-nav/desy-nav.module.mjs +0 -221
  414. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -167
  415. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
  416. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
  417. package/esm2020/lib/desy-tables/components/table/table.component.mjs +0 -78
  418. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -47
  419. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
  420. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
  421. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
  422. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -342
  423. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +0 -28
  424. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -81
  425. package/esm2020/lib/desy-tables/directives/row.directive.mjs +0 -29
  426. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -57
  427. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +0 -198
  428. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -39
  429. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -19
  430. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +0 -81
  431. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -81
  432. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -34
  433. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +0 -28
  434. package/esm2020/lib/desy-views/components/item/item.component.mjs +0 -121
  435. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +0 -115
  436. package/esm2020/lib/desy-views/components/status/status.component.mjs +0 -97
  437. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +0 -143
  438. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -37
  439. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +0 -199
  440. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -202
  441. package/esm2020/lib/desy-views/services/alert.service.mjs +0 -88
  442. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +0 -45
  443. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +0 -24
  444. package/esm2020/lib/shared/decorators/desy-content-child.decorator.mjs +0 -41
  445. package/esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -19
  446. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +0 -45
  447. package/esm2020/lib/shared/directives/click-outside.directive.mjs +0 -40
  448. package/esm2020/lib/shared/directives/content-change.directive.mjs +0 -45
  449. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +0 -60
  450. package/esm2020/lib/shared/directives/inner-content.directive.mjs +0 -37
  451. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +0 -32
  452. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +0 -20
  453. package/esm2020/lib/shared/shared.module.mjs +0 -99
  454. package/esm2020/lib/shared/utils/search-utils.mjs +0 -78
  455. package/esm2020/lib/shared/utils/string-utils.mjs +0 -18
  456. package/esm2020/public-api.mjs +0 -221
  457. package/fesm2015/desy-angular.mjs +0 -11752
  458. package/fesm2015/desy-angular.mjs.map +0 -1
  459. package/fesm2020/desy-angular.mjs.map +0 -1
  460. package/lib/desy-forms/models/checkbox-service-item.component.d.ts +0 -13
  461. package/lib/desy-forms/models/radio-service-item.component.d.ts +0 -12
  462. package/lib/desy-forms/services/checkbox.service.d.ts +0 -14
  463. package/lib/desy-forms/services/radio.service.d.ts +0 -13
  464. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/content-data.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/description-data.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/divider-data.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/icon-data.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/title-data.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/accesibility-data.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/error-message-data.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/fieldset-data.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/hint-data.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-data.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/label-data.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/legend-data.mjs +0 -0
  487. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-button-data.mjs +0 -0
  488. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-data.mjs +0 -0
  489. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -0
  490. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-options.mjs +0 -0
  491. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -0
  492. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -0
  493. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/error-summary-data.mjs +0 -0
  494. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/footer-data.mjs +0 -0
  495. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -0
  496. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -0
  497. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -0
  498. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -0
  499. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -0
  500. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/index.mjs +0 -0
  501. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -0
  502. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -0
  503. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -0
  504. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -0
  505. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation.mjs +0 -0
  506. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -0
  507. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -0
  508. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -0
  509. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -0
  510. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -0
  511. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -0
  512. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item.mjs +0 -0
  513. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -0
  514. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item.data.mjs +0 -0
  515. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-items-data.mjs +0 -0
  516. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-options.mjs +0 -0
  517. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/index.mjs +0 -0
  518. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -0
  519. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/cell-data.mjs +0 -0
  520. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/head-cell-data.mjs +0 -0
  521. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/index.mjs +0 -0
  522. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -0
  523. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/row-data.mjs +0 -0
  524. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/wrapper-data.mjs +0 -0
  525. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-header.data.mjs +0 -0
  526. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-item.data.mjs +0 -0
  527. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/alert-options.mjs +0 -0
  528. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/description-item.data.mjs +0 -0
  529. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/index.mjs +0 -0
  530. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/open-alert-result.mjs +0 -0
  531. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-data.mjs +0 -0
  532. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-icon-data.mjs +0 -0
  533. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-item-title-data.mjs +0 -0
  534. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-items-data.mjs +0 -0
  535. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -0
  536. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/term-definition.data.mjs +0 -0
  537. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  538. /package/{esm2020 → esm2022}/lib/shared/interfaces/accesibility-data.mjs +0 -0
  539. /package/{esm2020 → esm2022}/lib/shared/utils/focus-utils.mjs +0 -0
@@ -1,143 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ContentChildren, HostBinding, Input } from '@angular/core';
3
- import { AccessibilityComponent } from '../../../shared/components';
4
- import { DescriptionItemComponent } from '../description-list/description-item/description-item.component';
5
- import { TitleComponent } from '../../../desy-commons/components/title/title.component';
6
- import { HintComponent } from '../../../desy-forms/components/hint/hint.component';
7
- import { ErrorMessageComponent } from '../../../desy-forms/components/error-message/error-message.component';
8
- import { StatusComponent } from '../status/status.component';
9
- import { ContentComponent } from '../../../desy-commons/components/content/content.component';
10
- import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- import * as i2 from "../../../shared/directives/custom-inner-content.directive";
14
- import * as i3 from "../../../desy-forms/components/hint/hint.component";
15
- import * as i4 from "../../../desy-forms/components/error-message/error-message.component";
16
- import * as i5 from "../status/status.component";
17
- export class StatusItemComponent extends AccessibilityComponent {
18
- ngOnChanges(changes) {
19
- this.classes = this.classes ? this.classes : null;
20
- this.idData = this.id ? this.id : null;
21
- this.roleData = this.role ? this.role : null;
22
- this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
23
- this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
24
- this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
25
- this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
26
- this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
27
- this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
28
- this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
29
- this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
30
- this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
31
- this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
32
- this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
33
- this.tabindexData = this.tabindex ? this.tabindex : null;
34
- }
35
- getItems() {
36
- return (this.itemComponents.length > 0) ? this.itemComponents.toArray() : this.items;
37
- }
38
- }
39
- StatusItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
40
- StatusItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: StatusItemComponent, selector: "desy-status-item", inputs: { id: "id", errorId: "errorId", describedBy: "describedBy", title: "title", hint: "hint", errorMessage: "errorMessage", items: "items", status: "status", classes: "classes", caller: "caller" }, host: { properties: { "class": "this.classes", "attr.id": "this.idData", "attr.role": "this.roleData", "attr.aria-describedby": "this.ariaDescribedbyData", "attr.aria-errormessage": "this.ariaErrormessageData", "attr.aria-label": "this.ariaLabelData", "attr.aria-labelledby": "this.ariaLabelledbyData", "attr.aria-hidden": "this.ariaHiddenData", "attr.aria-disabled": "this.ariaDisabledData", "attr.aria-controls": "this.ariaControlsData", "attr.aria-current": "this.ariaCurrentData", "attr.aria-live": "this.ariaLiveData", "attr.aria-expanded": "this.ariaExpandedData", "attr.aria-haspopup": "this.ariaHaspopupData", "attr.tabindex": "this.tabindexData" } }, queries: [{ propertyName: "titleComponent", predicate: TitleComponent }, { propertyName: "hintComponent", predicate: HintComponent }, { propertyName: "errorMessageComponent", predicate: ErrorMessageComponent }, { propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "itemComponents", predicate: DescriptionItemComponent }, { propertyName: "statusComponent", predicate: StatusComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #commonHtml>\n <p *ngIf=\"titleComponent || title\" [class]=\"title ? title.classes : 'my-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </p>\n\n <ng-container *ngIf=\"hintComponent\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hintComponent && hint\">\n <desy-hint [text]=\"hint.text\" [html]=\"hint.html\" [classes]=\"hint.classes\" [id]=\"hint.id\"\n [role]=\"hint.role\"\n [ariaLabel]=\"hint.ariaLabel\"\n [ariaDescribedBy]=\"(hint.ariaDescribedBy ? hint.ariaDescribedBy + '' + hint.id : hint.id)\"\n [ariaLabelledBy]=\"hint.ariaLabelledBy\"\n [ariaHidden]=\"hint.ariaHidden\"\n [ariaDisabled]=\"hint.ariaDisabled\"\n [ariaControls]=\"hint.ariaControls\"\n [ariaCurrent]=\"hint.ariaCurrent\"\n [ariaLive]=\"hint.ariaLive\"\n [ariaExpanded]=\"hint.ariaExpanded\"\n [ariaErrorMessage]=\"hint.ariaErrorMessage\"\n [ariaHasPopup]=\"hint.ariaHasPopup\"\n [tabindex]=\"hint.tabindex\"></desy-hint>\n </ng-container>\n\n <ng-container *ngIf=\"errorMessageComponent\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!errorMessageComponent && errorMessage\">\n <desy-error-message [text]=\"errorMessage.text\" [html]=\"errorMessage.html\"\n [visuallyHiddenText]=\"errorMessage.visuallyHiddenText\"\n [id]=\"(errorId ? errorId : id + '-error')\" [classes]=\"errorMessage.classes\"\n [role]=\"errorMessage.role\"\n [ariaLabel]=\"errorMessage.ariaLabel\"\n [ariaDescribedBy]=\"(errorMessage.ariaDescribedBy ? errorMessage.ariaDescribedBy + '' + errorId : errorId)\"\n [ariaLabelledBy]=\"errorMessage.ariaLabelledBy\"\n [ariaHidden]=\"errorMessage.ariaHidden\"\n [ariaDisabled]=\"errorMessage.ariaDisabled\"\n [ariaControls]=\"errorMessage.ariaControls\"\n [ariaCurrent]=\"errorMessage.ariaCurrent\"\n [ariaLive]=\"errorMessage.ariaLive\"\n [ariaExpanded]=\"errorMessage.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessage.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessage.ariaHasPopup\"\n [tabindex]=\"errorMessage.tabindex\"></desy-error-message>\n </ng-container>\n</ng-template>\n\n<div class=\"lg:flex lg:justify-between lg:items-start -my-px px-base py-sm border-t border-b border-neutral-base\">\n <ng-container *ngIf=\"getItems(); else noItems\">\n <div class=\"lg:w-2/3\">\n <ng-container *ngTemplateOutlet=\"commonHtml\"></ng-container>\n <dl>\n <div *ngFor=\"let item of getItems()\"\n [class]=\"(item.classes ? 'flex lg-flex-wrap ' + item.classes : 'flex lg-flex-wrap')\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\">\n <dt [class]=\"(item.term.classes ? item.term.classes : 'w-1/2 my-sm')\"\n [attr.id]=\"item.term.id ? item.term.id : null\"\n [attr.role]=\"item.term.role\"\n [attr.aria-describedby]=\"item.term.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.term.ariaErrorMessage\"\n [attr.aria-label]=\"item.term.ariaLabel\"\n [attr.aria-labelledby]=\"item.term.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.term.ariaHidden\"\n [attr.aria-disabled]=\"item.term.ariaDisabled\"\n [attr.aria-controls]=\"item.term.ariaControls\"\n [attr.aria-current]=\"item.term.ariaCurrent\"\n [attr.aria-live]=\"item.term.ariaLive\"\n [attr.aria-expanded]=\"item.term.ariaExpanded\"\n [attr.aria-haspopup]=\"item.term.ariaHasPopup\">\n <ng-container *desyCustomInnerContent=\"{ component: item.term, html: item.term.html, text: item.term.text}\"></ng-container>\n </dt>\n <dd [class]=\"(item.definition.classes ? item.definition.classes : 'w-1/2 my-sm font-semibold')\"\n [attr.id]=\"item.definition.id ? item.definition.id : null\"\n [attr.role]=\"item.definition.role\"\n [attr.aria-describedby]=\"item.definition.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.definition.ariaErrorMessage\"\n [attr.aria-label]=\"item.definition.ariaLabel\"\n [attr.aria-labelledby]=\"item.definition.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.definition.ariaHidden\"\n [attr.aria-disabled]=\"item.definition.ariaDisabled\"\n [attr.aria-controls]=\"item.definition.ariaControls\"\n [attr.aria-current]=\"item.definition.ariaCurrent\"\n [attr.aria-live]=\"item.definition.ariaLive\"\n [attr.aria-expanded]=\"item.definition.ariaExpanded\"\n [attr.aria-haspopup]=\"item.definition.ariaHasPopup\">\n <ng-container *desyCustomInnerContent=\"{ component: item.definition, html: item.definition.html, text: item.definition.text}\"></ng-container>\n </dd>\n </div>\n </dl>\n </div>\n </ng-container>\n <ng-template #noItems>\n <div class=\"lg:w-2/3\">\n <ng-container *ngTemplateOutlet=\"commonHtml\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"lg:flex lg:flex-wrap lg:items-center lg:1/3\">\n\n <div *ngIf=\"contentComponent || caller\" [id]=\"id + '-status-item'\"\n [class]=\"'w-full lg:w-auto lg:text-right mt-base lg:mt-0 mb-base lg:mb-0'\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div *ngIf=\"statusComponent || status\" class=\"mb-base lg:mb-0 ml-base py-sm\">\n <ng-container *ngIf=\"statusComponent\">\n <ng-content select=\"desy-status\"></ng-content>\n </ng-container>\n <desy-status *ngIf=\"!statusComponent && status\"\n [text]=\"status.text\" [icon]=\"status.icon\" [classes]=\"status.classes\" [id]=\"status.id\"\n [role]=\"status.role\"\n [ariaLabel]=\"status.ariaLabel\"\n [ariaDescribedBy]=\"status.ariaDescribedBy\"\n [ariaLabelledBy]=\"status.ariaLabelledBy\"\n [ariaHidden]=\"status.ariaHidden\"\n [ariaDisabled]=\"status.ariaDisabled\"\n [ariaControls]=\"status.ariaControls\"\n [ariaCurrent]=\"status.ariaCurrent\"\n [ariaLive]=\"status.ariaLive\"\n [ariaExpanded]=\"status.ariaExpanded\"\n [ariaErrorMessage]=\"status.ariaErrorMessage\"\n [ariaHasPopup]=\"status.ariaHasPopup\"\n [tabindex]=\"status.tabindex\"></desy-status>\n </div>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i3.HintComponent, selector: "desy-hint", inputs: ["id", "classes", "html", "text"] }, { kind: "component", type: i4.ErrorMessageComponent, selector: "desy-error-message", inputs: ["id", "classes", "html", "text", "visuallyHiddenText"] }, { kind: "component", type: i5.StatusComponent, selector: "desy-status", inputs: ["text", "id", "icon", "classes"] }] });
41
- __decorate([
42
- DesyContentChild()
43
- ], StatusItemComponent.prototype, "titleComponent", void 0);
44
- __decorate([
45
- DesyContentChild()
46
- ], StatusItemComponent.prototype, "hintComponent", void 0);
47
- __decorate([
48
- DesyContentChild()
49
- ], StatusItemComponent.prototype, "errorMessageComponent", void 0);
50
- __decorate([
51
- DesyContentChild()
52
- ], StatusItemComponent.prototype, "contentComponent", void 0);
53
- __decorate([
54
- DesyContentChild()
55
- ], StatusItemComponent.prototype, "statusComponent", void 0);
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: StatusItemComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'desy-status-item', template: "<ng-template #commonHtml>\n <p *ngIf=\"titleComponent || title\" [class]=\"title ? title.classes : 'my-sm'\">\n <ng-container *desyCustomInnerContent=\"{\n component: titleComponent,\n html: title ? title.html : null,\n text: title ? title.text : null\n }\"></ng-container>\n </p>\n\n <ng-container *ngIf=\"hintComponent\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hintComponent && hint\">\n <desy-hint [text]=\"hint.text\" [html]=\"hint.html\" [classes]=\"hint.classes\" [id]=\"hint.id\"\n [role]=\"hint.role\"\n [ariaLabel]=\"hint.ariaLabel\"\n [ariaDescribedBy]=\"(hint.ariaDescribedBy ? hint.ariaDescribedBy + '' + hint.id : hint.id)\"\n [ariaLabelledBy]=\"hint.ariaLabelledBy\"\n [ariaHidden]=\"hint.ariaHidden\"\n [ariaDisabled]=\"hint.ariaDisabled\"\n [ariaControls]=\"hint.ariaControls\"\n [ariaCurrent]=\"hint.ariaCurrent\"\n [ariaLive]=\"hint.ariaLive\"\n [ariaExpanded]=\"hint.ariaExpanded\"\n [ariaErrorMessage]=\"hint.ariaErrorMessage\"\n [ariaHasPopup]=\"hint.ariaHasPopup\"\n [tabindex]=\"hint.tabindex\"></desy-hint>\n </ng-container>\n\n <ng-container *ngIf=\"errorMessageComponent\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!errorMessageComponent && errorMessage\">\n <desy-error-message [text]=\"errorMessage.text\" [html]=\"errorMessage.html\"\n [visuallyHiddenText]=\"errorMessage.visuallyHiddenText\"\n [id]=\"(errorId ? errorId : id + '-error')\" [classes]=\"errorMessage.classes\"\n [role]=\"errorMessage.role\"\n [ariaLabel]=\"errorMessage.ariaLabel\"\n [ariaDescribedBy]=\"(errorMessage.ariaDescribedBy ? errorMessage.ariaDescribedBy + '' + errorId : errorId)\"\n [ariaLabelledBy]=\"errorMessage.ariaLabelledBy\"\n [ariaHidden]=\"errorMessage.ariaHidden\"\n [ariaDisabled]=\"errorMessage.ariaDisabled\"\n [ariaControls]=\"errorMessage.ariaControls\"\n [ariaCurrent]=\"errorMessage.ariaCurrent\"\n [ariaLive]=\"errorMessage.ariaLive\"\n [ariaExpanded]=\"errorMessage.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessage.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessage.ariaHasPopup\"\n [tabindex]=\"errorMessage.tabindex\"></desy-error-message>\n </ng-container>\n</ng-template>\n\n<div class=\"lg:flex lg:justify-between lg:items-start -my-px px-base py-sm border-t border-b border-neutral-base\">\n <ng-container *ngIf=\"getItems(); else noItems\">\n <div class=\"lg:w-2/3\">\n <ng-container *ngTemplateOutlet=\"commonHtml\"></ng-container>\n <dl>\n <div *ngFor=\"let item of getItems()\"\n [class]=\"(item.classes ? 'flex lg-flex-wrap ' + item.classes : 'flex lg-flex-wrap')\"\n [attr.id]=\"item.id ? item.id : null\"\n [attr.role]=\"item.role\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-disabled]=\"item.ariaDisabled\"\n [attr.aria-controls]=\"item.ariaControls\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\">\n <dt [class]=\"(item.term.classes ? item.term.classes : 'w-1/2 my-sm')\"\n [attr.id]=\"item.term.id ? item.term.id : null\"\n [attr.role]=\"item.term.role\"\n [attr.aria-describedby]=\"item.term.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.term.ariaErrorMessage\"\n [attr.aria-label]=\"item.term.ariaLabel\"\n [attr.aria-labelledby]=\"item.term.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.term.ariaHidden\"\n [attr.aria-disabled]=\"item.term.ariaDisabled\"\n [attr.aria-controls]=\"item.term.ariaControls\"\n [attr.aria-current]=\"item.term.ariaCurrent\"\n [attr.aria-live]=\"item.term.ariaLive\"\n [attr.aria-expanded]=\"item.term.ariaExpanded\"\n [attr.aria-haspopup]=\"item.term.ariaHasPopup\">\n <ng-container *desyCustomInnerContent=\"{ component: item.term, html: item.term.html, text: item.term.text}\"></ng-container>\n </dt>\n <dd [class]=\"(item.definition.classes ? item.definition.classes : 'w-1/2 my-sm font-semibold')\"\n [attr.id]=\"item.definition.id ? item.definition.id : null\"\n [attr.role]=\"item.definition.role\"\n [attr.aria-describedby]=\"item.definition.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.definition.ariaErrorMessage\"\n [attr.aria-label]=\"item.definition.ariaLabel\"\n [attr.aria-labelledby]=\"item.definition.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.definition.ariaHidden\"\n [attr.aria-disabled]=\"item.definition.ariaDisabled\"\n [attr.aria-controls]=\"item.definition.ariaControls\"\n [attr.aria-current]=\"item.definition.ariaCurrent\"\n [attr.aria-live]=\"item.definition.ariaLive\"\n [attr.aria-expanded]=\"item.definition.ariaExpanded\"\n [attr.aria-haspopup]=\"item.definition.ariaHasPopup\">\n <ng-container *desyCustomInnerContent=\"{ component: item.definition, html: item.definition.html, text: item.definition.text}\"></ng-container>\n </dd>\n </div>\n </dl>\n </div>\n </ng-container>\n <ng-template #noItems>\n <div class=\"lg:w-2/3\">\n <ng-container *ngTemplateOutlet=\"commonHtml\"></ng-container>\n </div>\n </ng-template>\n\n <div class=\"lg:flex lg:flex-wrap lg:items-center lg:1/3\">\n\n <div *ngIf=\"contentComponent || caller\" [id]=\"id + '-status-item'\"\n [class]=\"'w-full lg:w-auto lg:text-right mt-base lg:mt-0 mb-base lg:mb-0'\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, template: caller }\"></ng-container>\n </div>\n\n <div *ngIf=\"statusComponent || status\" class=\"mb-base lg:mb-0 ml-base py-sm\">\n <ng-container *ngIf=\"statusComponent\">\n <ng-content select=\"desy-status\"></ng-content>\n </ng-container>\n <desy-status *ngIf=\"!statusComponent && status\"\n [text]=\"status.text\" [icon]=\"status.icon\" [classes]=\"status.classes\" [id]=\"status.id\"\n [role]=\"status.role\"\n [ariaLabel]=\"status.ariaLabel\"\n [ariaDescribedBy]=\"status.ariaDescribedBy\"\n [ariaLabelledBy]=\"status.ariaLabelledBy\"\n [ariaHidden]=\"status.ariaHidden\"\n [ariaDisabled]=\"status.ariaDisabled\"\n [ariaControls]=\"status.ariaControls\"\n [ariaCurrent]=\"status.ariaCurrent\"\n [ariaLive]=\"status.ariaLive\"\n [ariaExpanded]=\"status.ariaExpanded\"\n [ariaErrorMessage]=\"status.ariaErrorMessage\"\n [ariaHasPopup]=\"status.ariaHasPopup\"\n [tabindex]=\"status.tabindex\"></desy-status>\n </div>\n </div>\n</div>" }]
59
- }], propDecorators: { id: [{
60
- type: Input
61
- }], errorId: [{
62
- type: Input
63
- }], describedBy: [{
64
- type: Input
65
- }], title: [{
66
- type: Input
67
- }], hint: [{
68
- type: Input
69
- }], errorMessage: [{
70
- type: Input
71
- }], items: [{
72
- type: Input
73
- }], status: [{
74
- type: Input
75
- }], classes: [{
76
- type: Input
77
- }, {
78
- type: HostBinding,
79
- args: ['class']
80
- }], idData: [{
81
- type: HostBinding,
82
- args: ['attr.id']
83
- }], roleData: [{
84
- type: HostBinding,
85
- args: ['attr.role']
86
- }], ariaDescribedbyData: [{
87
- type: HostBinding,
88
- args: ['attr.aria-describedby']
89
- }], ariaErrormessageData: [{
90
- type: HostBinding,
91
- args: ['attr.aria-errormessage']
92
- }], ariaLabelData: [{
93
- type: HostBinding,
94
- args: ['attr.aria-label']
95
- }], ariaLabelledbyData: [{
96
- type: HostBinding,
97
- args: ['attr.aria-labelledby']
98
- }], ariaHiddenData: [{
99
- type: HostBinding,
100
- args: ['attr.aria-hidden']
101
- }], ariaDisabledData: [{
102
- type: HostBinding,
103
- args: ['attr.aria-disabled']
104
- }], ariaControlsData: [{
105
- type: HostBinding,
106
- args: ['attr.aria-controls']
107
- }], ariaCurrentData: [{
108
- type: HostBinding,
109
- args: ['attr.aria-current']
110
- }], ariaLiveData: [{
111
- type: HostBinding,
112
- args: ['attr.aria-live']
113
- }], ariaExpandedData: [{
114
- type: HostBinding,
115
- args: ['attr.aria-expanded']
116
- }], ariaHaspopupData: [{
117
- type: HostBinding,
118
- args: ['attr.aria-haspopup']
119
- }], tabindexData: [{
120
- type: HostBinding,
121
- args: ['attr.tabindex']
122
- }], titleComponent: [{
123
- type: ContentChildren,
124
- args: [TitleComponent]
125
- }], hintComponent: [{
126
- type: ContentChildren,
127
- args: [HintComponent]
128
- }], errorMessageComponent: [{
129
- type: ContentChildren,
130
- args: [ErrorMessageComponent]
131
- }], contentComponent: [{
132
- type: ContentChildren,
133
- args: [ContentComponent]
134
- }], itemComponents: [{
135
- type: ContentChildren,
136
- args: [DescriptionItemComponent]
137
- }], statusComponent: [{
138
- type: ContentChildren,
139
- args: [StatusComponent]
140
- }], caller: [{
141
- type: Input
142
- }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3N0YXR1cy1pdGVtL3N0YXR1cy1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy9zdGF0dXMtaXRlbS9zdGF0dXMtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBb0QsTUFBTSxlQUFlLENBQUM7QUFDakksT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDM0csT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDOUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7Ozs7QUFNekYsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHNCQUFzQjtJQWlEN0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMs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LGdCQUFnQjtzQkFBbEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBRVUsY0FBYztzQkFBeEQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBR1AsZUFBZTtzQkFBaEQsZUFBZTt1QkFBQyxlQUFlO2dCQUN2QixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIFF1ZXJ5TGlzdCwgU2ltcGxlQ2hhbmdlcywgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbkl0ZW1EYXRhLCBTdGF0dXNJdGVtVGl0bGVEYXRhLCBTdGF0dXNEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VEYXRhLCBIaW50RGF0YSB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktZm9ybXMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9kZXNjcmlwdGlvbi1saXN0L2Rlc2NyaXB0aW9uLWl0ZW0vZGVzY3JpcHRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGludENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9oaW50L2hpbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IFN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4uL3N0YXR1cy9zdGF0dXMuY29tcG9uZW50JztcbmltcG9ydCB7IENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktc3RhdHVzLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vc3RhdHVzLWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c0l0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzeyAgXG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZzsgIFxuXG4gIEBJbnB1dCgpIGVycm9ySWQ6IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpYmVkQnk6IHN0cmluZztcblxuICBASW5wdXQoKSB0aXRsZTogU3RhdHVzSXRlbVRpdGxlRGF0YTtcbiAgQElucHV0KCkgaGludDogSGludERhdGE7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlRGF0YTtcbiAgQElucHV0KCkgaXRlbXM6IERlc2NyaXB0aW9uSXRlbURhdGFbXTtcbiAgQElucHV0KCkgc3RhdHVzOiBTdGF0dXNEYXRhO1xuXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc2VzOiBhbnk7XG5cbiAgLy9BY2Nlc3NpYmlsaXR5XG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGVEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgYXJpYURlc2NyaWJlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2UnKSBhcmlhRXJyb3JtZXNzYWdlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIGFyaWFMYWJlbERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBhcmlhSGlkZGVuRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpIGFyaWFEaXNhYmxlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKSBhcmlhQ29udHJvbHNEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWN1cnJlbnQnKSBhcmlhQ3VycmVudERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGl2ZScpIGFyaWFMaXZlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpIGFyaWFFeHBhbmRlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKSBhcmlhSGFzcG9wdXBEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4RGF0YTogYW55O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUaXRsZUNvbXBvbmVudCkgdGl0bGVDb21wb25lbnQ6IFRpdGxlQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihIaW50Q29tcG9uZW50KSBoaW50Q29tcG9uZW50OiBIaW50Q29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihFcnJvck1lc3NhZ2VDb21wb25lbnQpIGVycm9yTWVzc2FnZUNvbXBvbmVudDogRXJyb3JNZXNzYWdlQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50OiBDb250ZW50Q29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRGVzY3JpcHRpb25JdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PERlc2NyaXB0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFN0YXR1c0NvbXBvbmVudCkgc3RhdHVzQ29tcG9uZW50OiBTdGF0dXNDb21wb25lbnQ7XG4gIEBJbnB1dCgpIGNhbGxlcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzID0gdGhpcy5jbGFzc2VzID8gdGhpcy5jbGFzc2VzIDogbnVsbDtcbiAgICB0aGlzLmlkRGF0YSA9IHRoaXMuaWQgPyB0aGlzLmlkIDogbnVsbDtcbiAgICB0aGlzLnJvbGVEYXRhID0gdGhpcy5yb2xlID8gdGhpcy5yb2xlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRieURhdGEgPSB0aGlzLmFyaWFEZXNjcmliZWRCeSA/IHRoaXMuYXJpYURlc2NyaWJlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFFcnJvcm1lc3NhZ2VEYXRhID0gdGhpcy5hcmlhRXJyb3JNZXNzYWdlID8gdGhpcy5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbERhdGEgPSB0aGlzLmFyaWFMYWJlbCA/IHRoaXMuYXJpYUxhYmVsIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZGJ5RGF0YSA9IHRoaXMuYXJpYUxhYmVsbGVkQnkgPyB0aGlzLmFyaWFMYWJlbGxlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFIaWRkZW5EYXRhID0gdGhpcy5hcmlhSGlkZGVuID8gdGhpcy5hcmlhSGlkZGVuIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEaXNhYmxlZERhdGEgPSB0aGlzLmFyaWFEaXNhYmxlZCA/IHRoaXMuYXJpYURpc2FibGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDb250cm9sc0RhdGEgPSB0aGlzLmFyaWFDb250cm9scyA/IHRoaXMuYXJpYUNvbnRyb2xzIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDdXJyZW50RGF0YSA9IHRoaXMuYXJpYUN1cnJlbnQgPyB0aGlzLmFyaWFDdXJyZW50IDogbnVsbDtcbiAgICB0aGlzLmFyaWFMaXZlRGF0YSA9IHRoaXMuYXJpYUxpdmUgPyB0aGlzLmFyaWFMaXZlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFFeHBhbmRlZERhdGEgPSB0aGlzLmFyaWFFeHBhbmRlZCA/IHRoaXMuYXJpYUV4cGFuZGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFIYXNwb3B1cERhdGEgPSB0aGlzLmFyaWFIYXNQb3B1cCA/IHRoaXMuYXJpYUhhc1BvcHVwIDogbnVsbDtcbiAgICB0aGlzLnRhYmluZGV4RGF0YSA9IHRoaXMudGFiaW5kZXggPyB0aGlzLnRhYmluZGV4IDogbnVsbDtcbiAgfVxuXG4gIGdldEl0ZW1zKCk6IERlc2NyaXB0aW9uSXRlbURhdGFbXXxEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnRbXSB7XG4gICAgcmV0dXJuICh0aGlzLml0ZW1Db21wb25lbnRzLmxlbmd0aCA+IDApID8gdGhpcy5pdGVtQ29tcG9uZW50cy50b0FycmF5KCkgOiB0aGlzLml0ZW1zO1xuICB9XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbW1vbkh0bWw+XG4gIDxwICpuZ0lmPVwidGl0bGVDb21wb25lbnQgfHwgdGl0bGVcIiBbY2xhc3NdPVwidGl0bGUgPyAgdGl0bGUuY2xhc3NlcyA6ICdteS1zbSdcIj5cbiAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cIntcbiAgICAgICAgY29tcG9uZW50OiB0aXRsZUNvbXBvbmVudCxcbiAgICAgICAgaHRtbDogdGl0bGUgPyB0aXRsZS5odG1sIDogbnVsbCxcbiAgICAgICAgdGV4dDogdGl0bGUgPyB0aXRsZS50ZXh0IDogbnVsbFxuICAgICAgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L3A+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpbnRDb21wb25lbnRcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktaGludFwiPjwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGludENvbXBvbmVudCAmJiBoaW50XCI+XG4gICAgPGRlc3ktaGludCBbdGV4dF09XCJoaW50LnRleHRcIiBbaHRtbF09XCJoaW50Lmh0bWxcIiBbY2xhc3Nlc109XCJoaW50LmNsYXNzZXNcIiBbaWRdPVwiaGludC5pZFwiXG4gICAgICAgICAgICAgICBbcm9sZV09XCJoaW50LnJvbGVcIlxuICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJoaW50LmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cIihoaW50LmFyaWFEZXNjcmliZWRCeSA/IGhpbnQuYXJpYURlc2NyaWJlZEJ5ICsgJycgKyBoaW50LmlkIDogaGludC5pZClcIlxuICAgICAgICAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImhpbnQuYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwiaGludC5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgIFthcmlhRGlzYWJsZWRdPVwiaGludC5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgW2FyaWFDb250cm9sc109XCJoaW50LmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgICBbYXJpYUN1cnJlbnRdPVwiaGludC5hcmlhQ3VycmVudFwiXG4gICAgICAgICAgICAgICBbYXJpYUxpdmVdPVwiaGludC5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICBbYXJpYUV4cGFuZGVkXT1cImhpbnQuYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgIFthcmlhRXJyb3JNZXNzYWdlXT1cImhpbnQuYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICBbYXJpYUhhc1BvcHVwXT1cImhpbnQuYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJoaW50LnRhYmluZGV4XCI+PC9kZXN5LWhpbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJlcnJvck1lc3NhZ2VDb21wb25lbnRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWVycm9yLW1lc3NhZ2VcIj48L25nLWNvbnRlbnQ+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVycm9yTWVzc2FnZUNvbXBvbmVudCAmJiBlcnJvck1lc3NhZ2VcIj5cbiAgICA8ZGVzeS1lcnJvci1tZXNzYWdlIFt0ZXh0XT1cImVycm9yTWVzc2FnZS50ZXh0XCIgW2h0bWxdPVwiZXJyb3JNZXNzYWdlLmh0bWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Zpc3VhbGx5SGlkZGVuVGV4dF09XCJlcnJvck1lc3NhZ2UudmlzdWFsbHlIaWRkZW5UZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCIoZXJyb3JJZCA/IGVycm9ySWQgOiBpZCArICctZXJyb3InKVwiIFtjbGFzc2VzXT1cImVycm9yTWVzc2FnZS5jbGFzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyb2xlXT1cImVycm9yTWVzc2FnZS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZXJyb3JNZXNzYWdlLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cIihlcnJvck1lc3NhZ2UuYXJpYURlc2NyaWJlZEJ5ID8gZXJyb3JNZXNzYWdlLmFyaWFEZXNjcmliZWRCeSArICcnICsgZXJyb3JJZCA6IGVycm9ySWQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJlcnJvck1lc3NhZ2UuYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwiZXJyb3JNZXNzYWdlLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJlcnJvck1lc3NhZ2UuYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ29udHJvbHNdPVwiZXJyb3JNZXNzYWdlLmFyaWFDb250cm9sc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUN1cnJlbnRdPVwiZXJyb3JNZXNzYWdlLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJlcnJvck1lc3NhZ2UuYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFFeHBhbmRlZF09XCJlcnJvck1lc3NhZ2UuYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhRXJyb3JNZXNzYWdlXT1cImVycm9yTWVzc2FnZS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiZXJyb3JNZXNzYWdlLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiZXJyb3JNZXNzYWdlLnRhYmluZGV4XCI+PC9kZXN5LWVycm9yLW1lc3NhZ2U+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cImxnOmZsZXggbGc6anVzdGlmeS1iZXR3ZWVuIGxnOml0ZW1zLXN0YXJ0IC1teS1weCBweC1iYXNlIHB5LXNtIGJvcmRlci10IGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2VcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldEl0ZW1zKCk7IGVsc2Ugbm9JdGVtc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJsZzp3LTIvM1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbW1vbkh0bWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkbD5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpXCJcbiAgICAgICAgICAgIFtjbGFzc109XCIoaXRlbS5jbGFzc2VzID8gJ2ZsZXggbGctZmxleC13cmFwICcgKyBpdGVtLmNsYXNzZXMgOiAnZmxleCBsZy1mbGV4LXdyYXAnKVwiXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnJvbGVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiPlxuICAgICAgICAgIDxkdCBbY2xhc3NdPVwiKGl0ZW0udGVybS5jbGFzc2VzID8gIGl0ZW0udGVybS5jbGFzc2VzIDogJ3ctMS8yIG15LXNtJylcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpdGVtLnRlcm0uaWQgPyBpdGVtLnRlcm0uaWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCJpdGVtLnRlcm0ucm9sZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS50ZXJtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0udGVybS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLnRlcm0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0udGVybS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0udGVybS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpdGVtLnRlcm0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpdGVtLnRlcm0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0udGVybS5hcmlhQ3VycmVudFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLnRlcm0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0udGVybS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0udGVybS5hcmlhSGFzUG9wdXBcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLnRlcm0sIGh0bWw6IGl0ZW0udGVybS5odG1sLCB0ZXh0OiBpdGVtLnRlcm0udGV4dH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2R0PlxuICAgICAgICAgIDxkZCBbY2xhc3NdPVwiKGl0ZW0uZGVmaW5pdGlvbi5jbGFzc2VzID8gIGl0ZW0uZGVmaW5pdGlvbi5jbGFzc2VzIDogJ3ctMS8yIG15LXNtIGZvbnQtc2VtaWJvbGQnKVwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cIml0ZW0uZGVmaW5pdGlvbi5pZCA/IGl0ZW0uZGVmaW5pdGlvbi5pZCA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5yb2xlXT1cIml0ZW0uZGVmaW5pdGlvbi5yb2xlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmRlZmluaXRpb24uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uZGVmaW5pdGlvbi5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIml0ZW0uZGVmaW5pdGlvbi5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIml0ZW0uZGVmaW5pdGlvbi5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cIml0ZW0uZGVmaW5pdGlvbi5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiaXRlbS5kZWZpbml0aW9uLmFyaWFIYXNQb3B1cFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0uZGVmaW5pdGlvbiwgaHRtbDogaXRlbS5kZWZpbml0aW9uLmh0bWwsIHRleHQ6IGl0ZW0uZGVmaW5pdGlvbi50ZXh0fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kbD5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cbiAgICA8ZGl2IGNsYXNzPVwibGc6dy0yLzNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb21tb25IdG1sXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImxnOmZsZXggbGc6ZmxleC13cmFwIGxnOml0ZW1zLWNlbnRlciBsZzoxLzNcIj5cblxuICAgIDxkaXYgKm5nSWY9XCJjb250ZW50Q29tcG9uZW50IHx8IGNhbGxlclwiIFtpZF09XCJpZCArICctc3RhdHVzLWl0ZW0nXCJcbiAgICAgICAgICBbY2xhc3NdPVwiJ3ctZnVsbCBsZzp3LWF1dG8gbGc6dGV4dC1yaWdodCBtdC1iYXNlIGxnOm10LTAgbWItYmFzZSBsZzptYi0wJ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBjb250ZW50Q29tcG9uZW50LCB0ZW1wbGF0ZTogY2FsbGVyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCJzdGF0dXNDb21wb25lbnQgfHwgc3RhdHVzXCIgY2xhc3M9XCJtYi1iYXNlIGxnOm1iLTAgbWwtYmFzZSBweS1zbVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0YXR1c0NvbXBvbmVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LXN0YXR1c1wiPjwvbmctY29udGVudD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRlc3ktc3RhdHVzICpuZ0lmPVwiIXN0YXR1c0NvbXBvbmVudCAmJiBzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJzdGF0dXMudGV4dFwiIFtpY29uXT1cInN0YXR1cy5pY29uXCIgW2NsYXNzZXNdPVwic3RhdHVzLmNsYXNzZXNcIiBbaWRdPVwic3RhdHVzLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvbGVdPVwic3RhdHVzLnJvbGVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cInN0YXR1cy5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cInN0YXR1cy5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwic3RhdHVzLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFIaWRkZW5dPVwic3RhdHVzLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYURpc2FibGVkXT1cInN0YXR1cy5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUNvbnRyb2xzXT1cInN0YXR1cy5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUN1cnJlbnRdPVwic3RhdHVzLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMaXZlXT1cInN0YXR1cy5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhRXhwYW5kZWRdPVwic3RhdHVzLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhRXJyb3JNZXNzYWdlXT1cInN0YXR1cy5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFIYXNQb3B1cF09XCJzdGF0dXMuYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInN0YXR1cy50YWJpbmRleFwiPjwvZGVzeS1zdGF0dXM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -1,37 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ContentChildren, Input } from '@angular/core';
3
- import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
4
- import { ContentComponent } from '../../../../desy-commons/components/content/content.component';
5
- import { PanelComponent } from '../panel/panel.component';
6
- import { AccessibilityComponent } from '../../../../shared/components';
7
- import * as i0 from "@angular/core";
8
- export class TabItemComponent extends AccessibilityComponent {
9
- }
10
- TabItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
- TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TabItemComponent, selector: "desy-tab-item", inputs: { classes: "classes", disabled: "disabled", id: "id" }, queries: [{ propertyName: "contentComponent", predicate: ContentComponent }, { propertyName: "panelComponent", predicate: PanelComponent }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
12
- __decorate([
13
- DesyContentChild()
14
- ], TabItemComponent.prototype, "contentComponent", void 0);
15
- __decorate([
16
- DesyContentChild()
17
- ], TabItemComponent.prototype, "panelComponent", void 0);
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabItemComponent, decorators: [{
19
- type: Component,
20
- args: [{
21
- selector: 'desy-tab-item',
22
- template: ''
23
- }]
24
- }], propDecorators: { contentComponent: [{
25
- type: ContentChildren,
26
- args: [ContentComponent]
27
- }], panelComponent: [{
28
- type: ContentChildren,
29
- args: [PanelComponent]
30
- }], classes: [{
31
- type: Input
32
- }], disabled: [{
33
- type: Input
34
- }], id: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3RhYnMvdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDL0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQU12RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsc0JBQXNCOzs2R0FBL0MsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isc0pBR1YsZ0JBQWdCLGlEQUdoQixjQUFjLG9EQVJyQixFQUFFO0FBS1o7SUFEQyxnQkFBZ0IsRUFBRTswREFDbUQ7QUFHdEU7SUFEQyxnQkFBZ0IsRUFBRTt3REFDNkM7MkZBTnJELGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBSW9DLGdCQUFnQjtzQkFBbEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBR0EsY0FBYztzQkFBOUMsZUFBZTt1QkFBQyxjQUFjO2dCQUV0QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7Q29udGVudENvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vZGVzeS1jb21tb25zL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3BhbmVsL3BhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJzSXRlbXNEYXRhLCBUYWJzUGFuZWxEYXRhIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRhYi1pdGVtJyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIFRhYkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgVGFic0l0ZW1zRGF0YSB7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFBhbmVsQ29tcG9uZW50KSBwYW5lbENvbXBvbmVudDogUGFuZWxDb21wb25lbnQ7XG5cbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgcGFuZWw/OiBUYWJzUGFuZWxEYXRhO1xuXG59XG4iXX0=
@@ -1,199 +0,0 @@
1
- import { Component, ContentChildren, HostBinding, Input, ViewChild, ViewChildren } from '@angular/core';
2
- import { AccessibilityComponent } from '../../../shared/components';
3
- import { StringUtils } from '../../../shared/utils/string-utils';
4
- import { TabItemComponent } from './tab-item/tab-item.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/cdk/layout";
7
- import * as i2 from "@angular/common";
8
- import * as i3 from "../../../shared/directives/custom-inner-content.directive";
9
- import * as i4 from "../../../shared/pipes/make-html-list.pipe";
10
- export class TabsComponent extends AccessibilityComponent {
11
- constructor(changeDetector, media) {
12
- super();
13
- this.changeDetector = changeDetector;
14
- this.currentTab = 0;
15
- this.mobileQuery = media.matchMedia("(max-width: 600px)");
16
- this.queryListener = () => changeDetector.detectChanges();
17
- this.mobileQuery.addEventListener('change', this.queryListener);
18
- }
19
- ngOnChanges(changes) {
20
- this.classes = this.classes ? 'c-tabs ' + this.classes : 'c-tabs';
21
- this.idData = this.id ? this.id : null;
22
- this.roleData = this.role ? this.role : null;
23
- this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
24
- this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
25
- this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
26
- this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
27
- this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
28
- this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
29
- this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
30
- this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
31
- this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
32
- this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
33
- this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
34
- this.tabindexData = this.tabindex ? this.tabindex : null;
35
- }
36
- ngAfterViewInit() {
37
- if (this.items) {
38
- const item = this.getItems();
39
- this.selectTab(item.findIndex(value => !value.disabled));
40
- }
41
- this.changeDetector.detectChanges();
42
- }
43
- getItems() {
44
- const items = (this.itemComponents.length > 0) ? this.itemComponents.toArray() : this.items;
45
- return items;
46
- }
47
- getItemPanel(tab) {
48
- let panel;
49
- const items = this.getItems();
50
- const item = items[tab];
51
- if (item instanceof TabItemComponent) {
52
- panel = item.panelComponent;
53
- }
54
- return panel;
55
- }
56
- getIdPrefix() {
57
- if (this.idPrefix) {
58
- return this.idPrefix;
59
- }
60
- }
61
- getItemId(index) {
62
- let id;
63
- const item = this.getItems();
64
- if (item[index].id) {
65
- id = item[index].id;
66
- }
67
- else {
68
- id = this.getIdPrefix() + '-' + index;
69
- }
70
- return id;
71
- }
72
- isDisabled(item) {
73
- return item.disabled ? true : null;
74
- }
75
- selectTab(i) {
76
- this.currentTab = i;
77
- const currentItem = this.getItems()[i];
78
- this.currentPanel = currentItem instanceof TabItemComponent ? currentItem.panelComponent : currentItem.panel;
79
- this.tabSrOnly.nativeElement.innerHTML = this.tabSelectorContentWrapper.toArray()[this.currentTab].nativeElement.innerHTML;
80
- }
81
- focusFirstTab(event) {
82
- if (event) {
83
- event.preventDefault();
84
- }
85
- const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
86
- enabledTabs[0].nativeElement.focus();
87
- }
88
- focusLastTab(event) {
89
- if (event) {
90
- event.preventDefault();
91
- }
92
- const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
93
- enabledTabs[enabledTabs.length - 1].nativeElement.focus();
94
- }
95
- focusNextTab(focusedTab) {
96
- const item = this.getItems();
97
- let nextTab = (focusedTab + 1) % item.length;
98
- while (nextTab !== focusedTab) {
99
- if (!item[nextTab].disabled) {
100
- this.tabSelectors.find((i, index) => index === nextTab).nativeElement.focus();
101
- break;
102
- }
103
- nextTab = (nextTab + 1) % item.length;
104
- }
105
- }
106
- focusPreviousTab(focusedTab) {
107
- const item = this.getItems();
108
- let previousTab = (focusedTab - 1 + item.length) % item.length;
109
- while (previousTab !== focusedTab) {
110
- if (!item[previousTab].disabled) {
111
- this.tabSelectors.find((i, index) => index === previousTab).nativeElement.focus();
112
- break;
113
- }
114
- previousTab = (previousTab - 1 + item.length) % item.length;
115
- }
116
- }
117
- getPanelContent(tab) {
118
- const item = this.getItems();
119
- return item[tab].panel && item[tab].panel.text ? `<p>${StringUtils.escapeHtml(item[tab].panel.text)}</p>` : null;
120
- }
121
- }
122
- TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MediaMatcher }], target: i0.ɵɵFactoryTarget.Component });
123
- TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TabsComponent, selector: "desy-tabs", inputs: { id: "id", idPrefix: "idPrefix", headingLevel: "headingLevel", title: "title", tablistAriaLabel: "tablistAriaLabel", items: "items", classes: "classes" }, host: { properties: { "class": "this.classes", "attr.id": "this.idData", "attr.role": "this.roleData", "attr.aria-describedby": "this.ariaDescribedbyData", "attr.aria-errormessage": "this.ariaErrormessageData", "attr.aria-label": "this.ariaLabelData", "attr.aria-labelledby": "this.ariaLabelledbyData", "attr.aria-hidden": "this.ariaHiddenData", "attr.aria-disabled": "this.ariaDisabledData", "attr.aria-controls": "this.ariaControlsData", "attr.aria-current": "this.ariaCurrentData", "attr.aria-live": "this.ariaLiveData", "attr.aria-expanded": "this.ariaExpandedData", "attr.aria-haspopup": "this.ariaHaspopupData", "attr.tabindex": "this.tabindexData" } }, queries: [{ propertyName: "itemComponents", predicate: TabItemComponent }], viewQueries: [{ propertyName: "tabSrOnly", first: true, predicate: ["tabSrOnly"], descendants: true }, { propertyName: "tabSelectors", predicate: ["tabSelector"], descendants: true }, { propertyName: "tabSelectorContentWrapper", predicate: ["tabSelectorContentWrapper"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"!title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">Contenido</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">Contenido</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">Contenido</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">Contenido</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"getItems()\">\n <div class=\"c-tabs lg:flex lg:flex-wrap mb-[-0.125rem]\" role=\"tablist\" [attr.aria-label]=tablistAriaLabel>\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <button #tabSelector\n (click)=\"selectTab(i)\"\n (keydown.home)=\"focusFirstTab($event)\"\n (keydown.end)=\"focusLastTab($event)\"\n (keydown.arrowleft)=\"focusPreviousTab(i)\"\n (keydown.arrowright)=\"focusNextTab(i)\"\n class=\"aria-selected:bg-white aria-selected:rounded-t-[0.1875rem] aria-selected:border-b-0 relative flex items-center text-black underline truncate border border-transparent aria-selected:no-underline py-sm lg:px-lg lg:py-base hover:text-primary-base focus:outline-none\"\n [ngClass]=\"{'opacity-50 pointer-events-none': isDisabled(item), 'aria-selected:border-[rgb(146_148_155/1)]' : !this.mobileQuery.matches}\"\n [attr.id]=\"getItemId(i)\"\n [attr.role]=\"(item.role ? role : 'tab')\"\n [attr.aria-selected]=\"currentTab === i ? 'true' : 'false'\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-controls]=\"'tab-' + getItemId(i)\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"(currentTab !== i || item.disabled ? '-1' : null)\"\n [attr.disabled]=\"isDisabled(item)\"\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\">\n <span #tabSelectorContentWrapper class=\"flex items-center pointer-events-none\">\n <ng-container *desyCustomInnerContent=\"{ component: item.contentComponent, html: item.html, text: item.text}\"></ng-container>\n </span>\n </button>\n </ng-container>\n </div>\n\n <div [class]=\"['p-base mt-base lg:mt-0 border border-neutral-base focus:outline-none focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base', currentPanel?.classes] | makeHtmlList\"\n [attr.id]=\"'tab-' + getItemId(currentTab)\"\n [attr.role]=\"(currentPanel?.role ? currentPanel?.role : 'tabpanel')\"\n [attr.aria-describedby]=\"currentPanel?.ariaDescribedBy\"\n [attr.aria-errormessage]=\"currentPanel?.ariaErrorMessage\"\n [attr.aria-label]=\"currentPanel?.ariaLabel\"\n [attr.aria-labelledby]=\"getItemId(currentTab)\"\n [attr.aria-hidden]=\"currentPanel?.ariaHidden\"\n [attr.aria-disabled]=\"currentPanel?.ariaDisabled\"\n [attr.aria-controls]=\"currentPanel?.ariaControls\"\n [attr.aria-current]=\"currentPanel?.ariaCurrent\"\n [attr.aria-live]=\"currentPanel?.ariaLive\"\n [attr.aria-expanded]=\"currentPanel?.ariaExpanded\"\n [attr.aria-haspopup]=\"currentPanel?.ariaHasPopup\"\n [attr.tabindex]=\"(currentPanel?.tabindex ? currentPanel?.tabindex : '0')\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h1>\n <h2 *ngSwitchCase=\"2\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h2>\n <h3 *ngSwitchCase=\"3\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n <h4 *ngSwitchCase=\"4\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h4>\n <h5 *ngSwitchCase=\"5\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h5>\n <h3 *ngSwitchDefault #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n </ng-container>\n <ng-container *desyCustomInnerContent=\"{ component: getItemPanel(currentTab), template: currentPanel?.html, html: getPanelContent(currentTab) }\"></ng-container>\n </div>\n</ng-container>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TabsComponent, decorators: [{
125
- type: Component,
126
- args: [{ selector: 'desy-tabs', template: "<ng-container *ngIf=\"title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">{{title}}</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">{{title}}</h2>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"!title\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" class=\"lg:hidden mb-sm text-sm\">Contenido</h1>\n <h2 *ngSwitchCase=\"2\" class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n <h3 *ngSwitchCase=\"3\" class=\"lg:hidden mb-sm text-sm\">Contenido</h3>\n <h4 *ngSwitchCase=\"4\" class=\"lg:hidden mb-sm text-sm\">Contenido</h4>\n <h5 *ngSwitchCase=\"5\" class=\"lg:hidden mb-sm text-sm\">Contenido</h5>\n <h2 *ngSwitchDefault class=\"lg:hidden mb-sm text-sm\">Contenido</h2>\n </ng-container>\n</ng-container>\n\n<ng-container *ngIf=\"getItems()\">\n <div class=\"c-tabs lg:flex lg:flex-wrap mb-[-0.125rem]\" role=\"tablist\" [attr.aria-label]=tablistAriaLabel>\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <button #tabSelector\n (click)=\"selectTab(i)\"\n (keydown.home)=\"focusFirstTab($event)\"\n (keydown.end)=\"focusLastTab($event)\"\n (keydown.arrowleft)=\"focusPreviousTab(i)\"\n (keydown.arrowright)=\"focusNextTab(i)\"\n class=\"aria-selected:bg-white aria-selected:rounded-t-[0.1875rem] aria-selected:border-b-0 relative flex items-center text-black underline truncate border border-transparent aria-selected:no-underline py-sm lg:px-lg lg:py-base hover:text-primary-base focus:outline-none\"\n [ngClass]=\"{'opacity-50 pointer-events-none': isDisabled(item), 'aria-selected:border-[rgb(146_148_155/1)]' : !this.mobileQuery.matches}\"\n [attr.id]=\"getItemId(i)\"\n [attr.role]=\"(item.role ? role : 'tab')\"\n [attr.aria-selected]=\"currentTab === i ? 'true' : 'false'\"\n [attr.aria-describedby]=\"item.ariaDescribedBy\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage\"\n [attr.aria-label]=\"item.ariaLabel\"\n [attr.aria-labelledby]=\"item.ariaLabelledBy\"\n [attr.aria-hidden]=\"item.ariaHidden\"\n [attr.aria-controls]=\"'tab-' + getItemId(i)\"\n [attr.aria-current]=\"item.ariaCurrent\"\n [attr.aria-live]=\"item.ariaLive\"\n [attr.aria-expanded]=\"item.ariaExpanded\"\n [attr.aria-haspopup]=\"item.ariaHasPopup\"\n [attr.tabindex]=\"(currentTab !== i || item.disabled ? '-1' : null)\"\n [attr.disabled]=\"isDisabled(item)\"\n [attr.aria-disabled]=\"isDisabled(item) ? 'true' : (ariaDisabled ? ariaDisabled : null)\">\n <span #tabSelectorContentWrapper class=\"flex items-center pointer-events-none\">\n <ng-container *desyCustomInnerContent=\"{ component: item.contentComponent, html: item.html, text: item.text}\"></ng-container>\n </span>\n </button>\n </ng-container>\n </div>\n\n <div [class]=\"['p-base mt-base lg:mt-0 border border-neutral-base focus:outline-none focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base', currentPanel?.classes] | makeHtmlList\"\n [attr.id]=\"'tab-' + getItemId(currentTab)\"\n [attr.role]=\"(currentPanel?.role ? currentPanel?.role : 'tabpanel')\"\n [attr.aria-describedby]=\"currentPanel?.ariaDescribedBy\"\n [attr.aria-errormessage]=\"currentPanel?.ariaErrorMessage\"\n [attr.aria-label]=\"currentPanel?.ariaLabel\"\n [attr.aria-labelledby]=\"getItemId(currentTab)\"\n [attr.aria-hidden]=\"currentPanel?.ariaHidden\"\n [attr.aria-disabled]=\"currentPanel?.ariaDisabled\"\n [attr.aria-controls]=\"currentPanel?.ariaControls\"\n [attr.aria-current]=\"currentPanel?.ariaCurrent\"\n [attr.aria-live]=\"currentPanel?.ariaLive\"\n [attr.aria-expanded]=\"currentPanel?.ariaExpanded\"\n [attr.aria-haspopup]=\"currentPanel?.ariaHasPopup\"\n [attr.tabindex]=\"(currentPanel?.tabindex ? currentPanel?.tabindex : '0')\">\n <ng-container [ngSwitch]=\"headingLevel\">\n <h1 *ngSwitchCase=\"1\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h1>\n <h2 *ngSwitchCase=\"2\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h2>\n <h3 *ngSwitchCase=\"3\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n <h4 *ngSwitchCase=\"4\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h4>\n <h5 *ngSwitchCase=\"5\" #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h5>\n <h3 *ngSwitchDefault #tabSrOnly class=\"lg:sr-only inline-flex items-center mb-base lg:mb-0 font-semibold\"></h3>\n </ng-container>\n <ng-container *desyCustomInnerContent=\"{ component: getItemPanel(currentTab), template: currentPanel?.html, html: getPanelContent(currentTab) }\"></ng-container>\n </div>\n</ng-container>" }]
127
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, propDecorators: { itemComponents: [{
128
- type: ContentChildren,
129
- args: [TabItemComponent]
130
- }], tabSelectors: [{
131
- type: ViewChildren,
132
- args: ['tabSelector']
133
- }], tabSelectorContentWrapper: [{
134
- type: ViewChildren,
135
- args: ['tabSelectorContentWrapper']
136
- }], tabSrOnly: [{
137
- type: ViewChild,
138
- args: ['tabSrOnly']
139
- }], id: [{
140
- type: Input
141
- }], idPrefix: [{
142
- type: Input
143
- }], headingLevel: [{
144
- type: Input
145
- }], title: [{
146
- type: Input
147
- }], tablistAriaLabel: [{
148
- type: Input
149
- }], items: [{
150
- type: Input
151
- }], classes: [{
152
- type: Input
153
- }, {
154
- type: HostBinding,
155
- args: ['class']
156
- }], idData: [{
157
- type: HostBinding,
158
- args: ['attr.id']
159
- }], roleData: [{
160
- type: HostBinding,
161
- args: ['attr.role']
162
- }], ariaDescribedbyData: [{
163
- type: HostBinding,
164
- args: ['attr.aria-describedby']
165
- }], ariaErrormessageData: [{
166
- type: HostBinding,
167
- args: ['attr.aria-errormessage']
168
- }], ariaLabelData: [{
169
- type: HostBinding,
170
- args: ['attr.aria-label']
171
- }], ariaLabelledbyData: [{
172
- type: HostBinding,
173
- args: ['attr.aria-labelledby']
174
- }], ariaHiddenData: [{
175
- type: HostBinding,
176
- args: ['attr.aria-hidden']
177
- }], ariaDisabledData: [{
178
- type: HostBinding,
179
- args: ['attr.aria-disabled']
180
- }], ariaControlsData: [{
181
- type: HostBinding,
182
- args: ['attr.aria-controls']
183
- }], ariaCurrentData: [{
184
- type: HostBinding,
185
- args: ['attr.aria-current']
186
- }], ariaLiveData: [{
187
- type: HostBinding,
188
- args: ['attr.aria-live']
189
- }], ariaExpandedData: [{
190
- type: HostBinding,
191
- args: ['attr.aria-expanded']
192
- }], ariaHaspopupData: [{
193
- type: HostBinding,
194
- args: ['attr.aria-haspopup']
195
- }], tabindexData: [{
196
- type: HostBinding,
197
- args: ['attr.tabindex']
198
- }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxhQUFjLFNBQVEsc0JBQXNCO0lBd0N2RCxZQUFvQixjQUFpQyxFQUFFLEtBQW1CO1FBQ3hFLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBTnJELGVBQVUsR0FBRyxDQUFDLENBQUM7UUFRYixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENB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Vzt1QkFBQyxrQkFBa0I7Z0JBQ0ksZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNDLGVBQWU7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNELFlBQVk7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNNLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSCxZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7IFN0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQgeyBUYWJzSXRlbXNEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUYWJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi90YWItaXRlbS90YWItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFNYXRjaGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUYWJzQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJJdGVtQ29tcG9uZW50KSBpdGVtQ29tcG9uZW50czogUXVlcnlMaXN0PFRhYkl0ZW1Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkcmVuKCd0YWJTZWxlY3RvcicpIHRhYlNlbGVjdG9yczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkcmVuKCd0YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyJykgdGFiU2VsZWN0b3JDb250ZW50V3JhcHBlcjogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuICBAVmlld0NoaWxkKCd0YWJTck9ubHknKSB0YWJTck9ubHk6IEVsZW1lbnRSZWY7XG5cblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBoZWFkaW5nTGV2ZWw6IG51bWJlcjtcbiAgXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhYmxpc3RBcmlhTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgaXRlbXM6IFRhYnNJdGVtc0RhdGFbXTtcbiAgXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc2VzOiBhbnk7XG5cbiAgLy9BY2Nlc3NpYmlsaXR5XG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpIGlkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGVEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgYXJpYURlc2NyaWJlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2UnKSBhcmlhRXJyb3JtZXNzYWdlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpIGFyaWFMYWJlbERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBhcmlhSGlkZGVuRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpIGFyaWFEaXNhYmxlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKSBhcmlhQ29udHJvbHNEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWN1cnJlbnQnKSBhcmlhQ3VycmVudERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGl2ZScpIGFyaWFMaXZlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpIGFyaWFFeHBhbmRlZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGFzcG9wdXAnKSBhcmlhSGFzcG9wdXBEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4RGF0YTogYW55O1xuXG4gIGN1cnJlbnRUYWIgPSAwO1xuICBjdXJyZW50UGFuZWw7XG5cbiAgbW9iaWxlUXVlcnk6IE1lZGlhUXVlcnlMaXN0O1xuICBwcml2YXRlIHF1ZXJ5TGlzdGVuZXI6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIG1lZGlhOiBNZWRpYU1hdGNoZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubW9iaWxlUXVlcnkgPSBtZWRpYS5tYXRjaE1lZGlhKFwiKG1heC13aWR0aDogNjAwcHgpXCIpO1xuICAgIHRoaXMucXVlcnlMaXN0ZW5lciA9ICgpID0+IGNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMucXVlcnlMaXN0ZW5lcik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzID0gdGhpcy5jbGFzc2VzID8gJ2MtdGFicyAnICsgdGhpcy5jbGFzc2VzIDogJ2MtdGFicyc7XG4gICAgdGhpcy5pZERhdGEgPSB0aGlzLmlkID8gdGhpcy5pZCA6IG51bGw7XG4gICAgdGhpcy5yb2xlRGF0YSA9IHRoaXMucm9sZSA/IHRoaXMucm9sZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGVzY3JpYmVkYnlEYXRhID0gdGhpcy5hcmlhRGVzY3JpYmVkQnkgPyB0aGlzLmFyaWFEZXNjcmliZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXJyb3JtZXNzYWdlRGF0YSA9IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA/IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxEYXRhID0gdGhpcy5hcmlhTGFiZWwgPyB0aGlzLmFyaWFMYWJlbCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRieURhdGEgPSB0aGlzLmFyaWFMYWJlbGxlZEJ5ID8gdGhpcy5hcmlhTGFiZWxsZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGlkZGVuRGF0YSA9IHRoaXMuYXJpYUhpZGRlbiA/IHRoaXMuYXJpYUhpZGRlbiA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGlzYWJsZWREYXRhID0gdGhpcy5hcmlhRGlzYWJsZWQgPyB0aGlzLmFyaWFEaXNhYmxlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ29udHJvbHNEYXRhID0gdGhpcy5hcmlhQ29udHJvbHMgPyB0aGlzLmFyaWFDb250cm9scyA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ3VycmVudERhdGEgPSB0aGlzLmFyaWFDdXJyZW50ID8gdGhpcy5hcmlhQ3VycmVudCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGl2ZURhdGEgPSB0aGlzLmFyaWFMaXZlID8gdGhpcy5hcmlhTGl2ZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXhwYW5kZWREYXRhID0gdGhpcy5hcmlhRXhwYW5kZWQgPyB0aGlzLmFyaWFFeHBhbmRlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGFzcG9wdXBEYXRhID0gdGhpcy5hcmlhSGFzUG9wdXAgPyB0aGlzLmFyaWFIYXNQb3B1cCA6IG51bGw7XG4gICAgdGhpcy50YWJpbmRleERhdGEgPSB0aGlzLnRhYmluZGV4ID8gdGhpcy50YWJpbmRleCA6IG51bGw7XG4gIH1cbiAgXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZih0aGlzLml0ZW1zKXtcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgICB0aGlzLnNlbGVjdFRhYihpdGVtLmZpbmRJbmRleCh2YWx1ZSA9PiAhdmFsdWUuZGlzYWJsZWQpKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnZXRJdGVtcygpOiBUYWJzSXRlbXNEYXRhW118VGFiSXRlbUNvbXBvbmVudFtdIHtcbiAgICBjb25zdCBpdGVtcyA9ICAodGhpcy5pdGVtQ29tcG9uZW50cy5sZW5ndGggPiAwKSA/IHRoaXMuaXRlbUNvbXBvbmVudHMudG9BcnJheSgpIDogdGhpcy5pdGVtcztcbiAgICByZXR1cm4gaXRlbXM7XG4gIH1cblxuICBnZXRJdGVtUGFuZWwodGFiOiBudW1iZXIpOiBUYWJJdGVtQ29tcG9uZW50IHtcbiAgICBsZXQgcGFuZWw7XG4gICAgY29uc3QgaXRlbXMgPSAgdGhpcy5nZXRJdGVtcygpO1xuICAgIGNvbnN0IGl0ZW0gPSBpdGVtc1t0YWJdO1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgVGFiSXRlbUNvbXBvbmVudCl7XG4gICAgICBwYW5lbCA9IGl0ZW0ucGFuZWxDb21wb25lbnQ7XG4gICAgfVxuICAgIHJldHVybiBwYW5lbDtcbiAgfVxuXG5cbiAgZ2V0SWRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pZFByZWZpeCkge1xuICAgICAgcmV0dXJuIHRoaXMuaWRQcmVmaXg7XG4gICAgfVxuICB9XG5cbiAgZ2V0SXRlbUlkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpZDtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGlmIChpdGVtW2luZGV4XS5pZCkge1xuICAgICAgaWQgPSBpdGVtW2luZGV4XS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWQgPSB0aGlzLmdldElkUHJlZml4KCkgKyAnLScgKyBpbmRleDtcbiAgICB9XG4gICAgcmV0dXJuIGlkO1xuICB9XG5cbiAgaXNEaXNhYmxlZChpdGVtOiBUYWJzSXRlbXNEYXRhKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQgPyB0cnVlIDogbnVsbDtcbiAgfVxuXG5cbiAgc2VsZWN0VGFiKCBpOiBudW1iZXIgKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50VGFiID0gaTtcbiAgICBjb25zdCBjdXJyZW50SXRlbSA9IHRoaXMuZ2V0SXRlbXMoKVtpXTtcbiAgICB0aGlzLmN1cnJlbnRQYW5lbCA9IGN1cnJlbnRJdGVtIGluc3RhbmNlb2YgVGFiSXRlbUNvbXBvbmVudCA/IGN1cnJlbnRJdGVtLnBhbmVsQ29tcG9uZW50IDogY3VycmVudEl0ZW0ucGFuZWw7XG4gICAgdGhpcy50YWJTck9ubHkubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLnRhYlNlbGVjdG9yQ29udGVudFdyYXBwZXIudG9BcnJheSgpW3RoaXMuY3VycmVudFRhYl0ubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XG4gIH1cblxuICBmb2N1c0ZpcnN0VGFiKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmFibGVkVGFicyA9IHRoaXMudGFiU2VsZWN0b3JzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+ICFpdGVtW2luZGV4XS5kaXNhYmxlZCk7XG4gICAgZW5hYmxlZFRhYnNbMF0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNMYXN0VGFiKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBlbmFibGVkVGFicyA9IHRoaXMudGFiU2VsZWN0b3JzLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+ICFpdGVtW2luZGV4XS5kaXNhYmxlZCk7XG4gICAgZW5hYmxlZFRhYnNbZW5hYmxlZFRhYnMubGVuZ3RoIC0gMV0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZm9jdXNOZXh0VGFiKGZvY3VzZWRUYWI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgbGV0IG5leHRUYWIgPSAoZm9jdXNlZFRhYiArIDEpICUgaXRlbS5sZW5ndGg7XG4gICAgd2hpbGUgKG5leHRUYWIgICE9PSBmb2N1c2VkVGFiKSB7XG4gICAgICBpZiAoIWl0ZW1bbmV4dFRhYl0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy50YWJTZWxlY3RvcnMuZmluZCgoaSwgaW5kZXgpID0+IGluZGV4ID09PSBuZXh0VGFiKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgbmV4dFRhYiA9IChuZXh0VGFiICsgMSkgJSBpdGVtLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICBmb2N1c1ByZXZpb3VzVGFiKGZvY3VzZWRUYWI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgbGV0IHByZXZpb3VzVGFiID0gKGZvY3VzZWRUYWIgLSAxICsgaXRlbS5sZW5ndGgpICUgaXRlbS5sZW5ndGg7XG4gICAgd2hpbGUgKHByZXZpb3VzVGFiICAhPT0gZm9jdXNlZFRhYikge1xuICAgICAgaWYgKCFpdGVtW3ByZXZpb3VzVGFiXS5kaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnRhYlNlbGVjdG9ycy5maW5kKChpLCBpbmRleCkgPT4gaW5kZXggPT09IHByZXZpb3VzVGFiKS5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgcHJldmlvdXNUYWIgPSAocHJldmlvdXNUYWIgLSAxICsgaXRlbS5sZW5ndGgpICUgaXRlbS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgZ2V0UGFuZWxDb250ZW50KHRhYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtW3RhYl0ucGFuZWwgJiYgaXRlbVt0YWJdLnBhbmVsLnRleHQgPyBgPHA+JHsgU3RyaW5nVXRpbHMuZXNjYXBlSHRtbChpdGVtW3RhYl0ucGFuZWwudGV4dCkgfTwvcD5gIDogbnVsbDtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlXCI+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gxPlxuICAgIDxoMiAqbmdTd2l0Y2hDYXNlPVwiMlwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gyPlxuICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gzPlxuICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2g0PlxuICAgIDxoNSAqbmdTd2l0Y2hDYXNlPVwiNVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2g1PlxuICAgIDxoMiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj57e3RpdGxlfX08L2gyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0aXRsZVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgICAgPGgxICpuZ1N3aXRjaENhc2U9XCIxXCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDE+XG4gICAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMj5cbiAgICAgIDxoMyAqbmdTd2l0Y2hDYXNlPVwiM1wiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gzPlxuICAgICAgPGg0ICpuZ1N3aXRjaENhc2U9XCI0XCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDQ+XG4gICAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oNT5cbiAgICAgIDxoMiAqbmdTd2l0Y2hEZWZhdWx0IGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRJdGVtcygpXCI+XG4gIDxkaXYgY2xhc3M9XCJjLXRhYnMgbGc6ZmxleCBsZzpmbGV4LXdyYXAgbWItWy0wLjEyNXJlbV1cIiByb2xlPVwidGFibGlzdFwiIFthdHRyLmFyaWEtbGFiZWxdPXRhYmxpc3RBcmlhTGFiZWw+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiAjdGFiU2VsZWN0b3JcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0VGFiKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cImZvY3VzRmlyc3RUYWIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW5kKT1cImZvY3VzTGFzdFRhYigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd2xlZnQpPVwiZm9jdXNQcmV2aW91c1RhYihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dyaWdodCk9XCJmb2N1c05leHRUYWIoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXJpYS1zZWxlY3RlZDpiZy13aGl0ZSBhcmlhLXNlbGVjdGVkOnJvdW5kZWQtdC1bMC4xODc1cmVtXSBhcmlhLXNlbGVjdGVkOmJvcmRlci1iLTAgcmVsYXRpdmUgZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1ibGFjayB1bmRlcmxpbmUgdHJ1bmNhdGUgYm9yZGVyIGJvcmRlci10cmFuc3BhcmVudCBhcmlhLXNlbGVjdGVkOm5vLXVuZGVybGluZSBweS1zbSBsZzpweC1sZyBsZzpweS1iYXNlIGhvdmVyOnRleHQtcHJpbWFyeS1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvcGFjaXR5LTUwIHBvaW50ZXItZXZlbnRzLW5vbmUnOiBpc0Rpc2FibGVkKGl0ZW0pLCAnYXJpYS1zZWxlY3RlZDpib3JkZXItW3JnYigxNDZfMTQ4XzE1NS8xKV0nIDogIXRoaXMubW9iaWxlUXVlcnkubWF0Y2hlc31cIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldEl0ZW1JZChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCIoaXRlbS5yb2xlID8gcm9sZSA6ICd0YWInKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJjdXJyZW50VGFiID09PSBpID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiaXRlbS5hcmlhSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIid0YWItJyArIGdldEl0ZW1JZChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCIoY3VycmVudFRhYiAhPT0gaSB8fCBpdGVtLmRpc2FibGVkID8gJy0xJyA6IG51bGwpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImlzRGlzYWJsZWQoaXRlbSkgPyAndHJ1ZScgOiAoYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbClcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICN0YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcG9pbnRlci1ldmVudHMtbm9uZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGl0ZW0uY29udGVudENvbXBvbmVudCwgaHRtbDogaXRlbS5odG1sLCB0ZXh0OiBpdGVtLnRleHR9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW2NsYXNzXT1cIlsncC1iYXNlIG10LWJhc2UgbGc6bXQtMCBib3JkZXIgYm9yZGVyLW5ldXRyYWwtYmFzZSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6Ym9yZGVyLWJsYWNrIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzLWlucHV0IGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLXdhcm5pbmctYmFzZScsIGN1cnJlbnRQYW5lbD8uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICBbYXR0ci5pZF09XCIndGFiLScgKyBnZXRJdGVtSWQoY3VycmVudFRhYilcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cIihjdXJyZW50UGFuZWw/LnJvbGUgPyBjdXJyZW50UGFuZWw/LnJvbGUgOiAndGFicGFuZWwnKVwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiY3VycmVudFBhbmVsPy5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJjdXJyZW50UGFuZWw/LmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImN1cnJlbnRQYW5lbD8uYXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldEl0ZW1JZChjdXJyZW50VGFiKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImN1cnJlbnRQYW5lbD8uYXJpYUhpZGRlblwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiY3VycmVudFBhbmVsPy5hcmlhRGlzYWJsZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImN1cnJlbnRQYW5lbD8uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImN1cnJlbnRQYW5lbD8uYXJpYUN1cnJlbnRcIlxuICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiY3VycmVudFBhbmVsPy5hcmlhTGl2ZVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiY3VycmVudFBhbmVsPy5hcmlhRXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImN1cnJlbnRQYW5lbD8uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiKGN1cnJlbnRQYW5lbD8udGFiaW5kZXggPyBjdXJyZW50UGFuZWw/LnRhYmluZGV4IDogJzAnKVwiPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImhlYWRpbmdMZXZlbFwiPlxuICAgICAgPGgxICpuZ1N3aXRjaENhc2U9XCIxXCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMT5cbiAgICAgIDxoMiAqbmdTd2l0Y2hDYXNlPVwiMlwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDI+XG4gICAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gzPlxuICAgICAgPGg0ICpuZ1N3aXRjaENhc2U9XCI0XCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oND5cbiAgICAgIDxoNSAqbmdTd2l0Y2hDYXNlPVwiNVwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDU+XG4gICAgICA8aDMgKm5nU3dpdGNoRGVmYXVsdCAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogZ2V0SXRlbVBhbmVsKGN1cnJlbnRUYWIpLCB0ZW1wbGF0ZTogY3VycmVudFBhbmVsPy5odG1sLCBodG1sOiBnZXRQYW5lbENvbnRlbnQoY3VycmVudFRhYikgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPiJdfQ==