desy-angular 6.0.2 → 7.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 (618) hide show
  1. package/esm2020/desy-angular.mjs +5 -0
  2. package/esm2020/lib/desy-angular.module.mjs +75 -0
  3. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +115 -0
  4. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
  5. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +126 -0
  6. package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +32 -0
  7. package/esm2020/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +14 -0
  8. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +291 -0
  9. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
  10. package/esm2020/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +17 -0
  11. package/esm2020/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +17 -0
  12. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +59 -0
  13. package/{esm2015/lib/desy-buttons/desy-buttons.module.js → esm2020/lib/desy-buttons/desy-buttons.module.mjs} +64 -35
  14. package/esm2020/lib/desy-commons/components/content/content.component.mjs +14 -0
  15. package/esm2020/lib/desy-commons/components/description/description.component.mjs +19 -0
  16. package/esm2020/lib/desy-commons/components/divider/divider.component.mjs +16 -0
  17. package/esm2020/lib/desy-commons/components/icon/icon.component.mjs +16 -0
  18. package/esm2020/lib/desy-commons/components/title/title.component.mjs +17 -0
  19. package/esm2020/lib/desy-commons/desy-commons.module.mjs +53 -0
  20. package/esm2020/lib/desy-forms/components/character-count/character-count.component.mjs +130 -0
  21. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +240 -0
  22. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +264 -0
  23. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +52 -0
  24. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
  25. package/esm2020/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +16 -0
  26. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +52 -0
  27. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +48 -0
  28. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +266 -0
  29. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
  30. package/esm2020/lib/desy-forms/components/fieldset/fieldset.component.mjs +56 -0
  31. package/esm2020/lib/desy-forms/components/fieldset/legend/legend.component.mjs +23 -0
  32. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +72 -0
  33. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +124 -0
  34. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +29 -0
  35. package/esm2020/lib/desy-forms/components/input/input.component.mjs +99 -0
  36. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
  37. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +53 -0
  38. package/esm2020/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +16 -0
  39. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +45 -0
  40. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +223 -0
  41. package/esm2020/lib/desy-forms/components/label/label.component.mjs +38 -0
  42. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +185 -0
  43. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +270 -0
  44. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +66 -0
  45. package/esm2020/lib/desy-forms/components/select/option/option.component.mjs +22 -0
  46. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
  47. package/esm2020/lib/desy-forms/components/select/select-item/select-item.component.mjs +14 -0
  48. package/esm2020/lib/desy-forms/components/select/select.component.mjs +93 -0
  49. package/esm2020/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +12 -0
  50. package/esm2020/lib/desy-forms/components/textarea/textarea.component.mjs +86 -0
  51. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +167 -0
  52. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +397 -0
  53. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
  54. package/esm2020/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +15 -0
  55. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +425 -0
  56. package/esm2020/lib/desy-forms/desy-forms.module.mjs +209 -0
  57. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +34 -0
  58. package/{esm2015/lib/desy-forms/interfaces/select-item-data.js → esm2020/lib/desy-forms/interfaces/select-item-data.mjs} +1 -1
  59. package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +9 -0
  60. package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +9 -0
  61. package/esm2020/lib/desy-forms/services/checkbox.service.mjs +61 -0
  62. package/esm2020/lib/desy-forms/services/radio.service.mjs +53 -0
  63. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +130 -0
  64. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
  65. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
  66. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
  67. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
  68. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +178 -0
  69. package/esm2020/lib/desy-modals/desy-modals.module.mjs +62 -0
  70. package/esm2020/lib/desy-modals/services/dialog.service.mjs +114 -0
  71. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +16 -0
  72. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +47 -0
  73. package/esm2020/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +19 -0
  74. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +62 -0
  75. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +21 -0
  76. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +30 -0
  77. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +21 -0
  78. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
  79. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +71 -0
  80. package/esm2020/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +15 -0
  81. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +45 -0
  82. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +27 -0
  83. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
  84. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +20 -0
  85. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +15 -0
  86. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +95 -0
  87. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
  88. package/esm2020/lib/desy-nav/components/header/header.component.mjs +103 -0
  89. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +40 -0
  90. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +79 -0
  91. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
  92. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +43 -0
  93. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +616 -0
  94. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +45 -0
  95. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
  96. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +34 -0
  97. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
  98. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
  99. package/esm2020/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +14 -0
  100. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
  101. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +27 -0
  102. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
  103. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +727 -0
  104. package/esm2020/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +41 -0
  105. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +116 -0
  106. package/esm2020/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +25 -0
  107. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +141 -0
  108. package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +37 -0
  109. package/esm2020/lib/desy-nav/desy-nav.module.mjs +221 -0
  110. package/{esm2015/lib/desy-nav/interfaces/menu-horizontal-item-data.js → esm2020/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs} +1 -1
  111. package/{esm2015/lib/desy-nav/interfaces/menu-horizontal-item-event-data.js → esm2020/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs} +1 -1
  112. package/esm2020/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +2 -0
  113. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +167 -0
  114. package/esm2020/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +19 -0
  115. package/esm2020/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +17 -0
  116. package/esm2020/lib/desy-pagination/desy-pagination.module.mjs +46 -0
  117. package/esm2020/lib/desy-tables/components/table/components/table-caption.component.mjs +17 -0
  118. package/esm2020/lib/desy-tables/components/table/components/table-cell.component.mjs +23 -0
  119. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
  120. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
  121. package/esm2020/lib/desy-tables/components/table/table.component.mjs +78 -0
  122. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +47 -0
  123. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
  124. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +23 -0
  125. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
  126. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
  127. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +342 -0
  128. package/esm2020/lib/desy-tables/desy-tables.module.mjs +102 -0
  129. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +28 -0
  130. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
  131. package/esm2020/lib/desy-tables/directives/row.directive.mjs +29 -0
  132. package/esm2020/lib/desy-tables/interfaces/head-cell-data.mjs +7 -0
  133. package/esm2020/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +17 -0
  134. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +57 -0
  135. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +198 -0
  136. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +39 -0
  137. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
  138. package/esm2020/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +17 -0
  139. package/esm2020/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +17 -0
  140. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +81 -0
  141. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
  142. package/esm2020/lib/desy-views/components/description-list/definition/definition.component.mjs +19 -0
  143. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +34 -0
  144. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
  145. package/esm2020/lib/desy-views/components/description-list/term/term.component.mjs +19 -0
  146. package/esm2020/lib/desy-views/components/details/details.component.mjs +31 -0
  147. package/esm2020/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +17 -0
  148. package/esm2020/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +15 -0
  149. package/esm2020/lib/desy-views/components/item/item-item/item-item.component.mjs +15 -0
  150. package/esm2020/lib/desy-views/components/item/item.component.mjs +121 -0
  151. package/esm2020/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +12 -0
  152. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +115 -0
  153. package/esm2020/lib/desy-views/components/spinner/spinner.component.mjs +77 -0
  154. package/esm2020/lib/desy-views/components/status/status.component.mjs +97 -0
  155. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +143 -0
  156. package/esm2020/lib/desy-views/components/tabs/panel/panel.component.mjs +19 -0
  157. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +37 -0
  158. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +199 -0
  159. package/esm2020/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +12 -0
  160. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +202 -0
  161. package/esm2020/lib/desy-views/desy-views.module.mjs +175 -0
  162. package/{esm2015/lib/desy-views/interfaces/accordion-item.data.js → esm2020/lib/desy-views/interfaces/accordion-item.data.mjs} +1 -1
  163. package/esm2020/lib/desy-views/interfaces/tabs-items-data.mjs +2 -0
  164. package/esm2020/lib/desy-views/services/alert.service.mjs +88 -0
  165. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +45 -0
  166. package/esm2020/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +44 -0
  167. package/esm2020/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +41 -0
  168. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +24 -0
  169. package/esm2020/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +18 -0
  170. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +45 -0
  171. package/esm2020/lib/shared/directives/click-outside.directive.mjs +40 -0
  172. package/esm2020/lib/shared/directives/content-change.directive.mjs +45 -0
  173. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +60 -0
  174. package/esm2020/lib/shared/directives/inner-content.directive.mjs +37 -0
  175. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +32 -0
  176. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +20 -0
  177. package/esm2020/lib/shared/pipes/make-html-list.pipe.mjs +20 -0
  178. package/esm2020/lib/shared/shared.module.mjs +99 -0
  179. package/esm2020/public-api.mjs +221 -0
  180. package/fesm2015/desy-angular.mjs +11752 -0
  181. package/fesm2015/desy-angular.mjs.map +1 -0
  182. package/fesm2020/desy-angular.mjs +11731 -0
  183. package/fesm2020/desy-angular.mjs.map +1 -0
  184. package/index.d.ts +5 -0
  185. package/lib/desy-angular.module.d.ts +12 -0
  186. package/lib/desy-buttons/components/button/button.component.d.ts +7 -2
  187. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +7 -1
  188. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +3 -0
  189. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -0
  190. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +3 -0
  191. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +5 -2
  192. package/lib/desy-buttons/components/pill/pill.component.d.ts +7 -2
  193. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +3 -0
  194. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +3 -0
  195. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +3 -0
  196. package/lib/desy-buttons/desy-buttons.module.d.ts +18 -0
  197. package/lib/desy-commons/components/content/content.component.d.ts +3 -0
  198. package/lib/desy-commons/components/description/description.component.d.ts +3 -0
  199. package/lib/desy-commons/components/divider/divider.component.d.ts +3 -0
  200. package/lib/desy-commons/components/icon/icon.component.d.ts +3 -0
  201. package/lib/desy-commons/components/title/title.component.d.ts +3 -0
  202. package/lib/desy-commons/desy-commons.module.d.ts +12 -0
  203. package/lib/desy-forms/components/character-count/character-count.component.d.ts +3 -0
  204. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -3
  205. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +11 -10
  206. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +3 -0
  207. package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +3 -0
  208. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +3 -0
  209. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +3 -0
  210. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +3 -0
  211. package/lib/desy-forms/components/date-input/date-input.component.d.ts +8 -3
  212. package/lib/desy-forms/components/error-message/error-message.component.d.ts +3 -0
  213. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +3 -0
  214. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +7 -1
  215. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +4 -1
  216. package/lib/desy-forms/components/form-field/form-field.component.d.ts +3 -0
  217. package/lib/desy-forms/components/hint/hint.component.d.ts +3 -0
  218. package/lib/desy-forms/components/input/input.component.d.ts +4 -0
  219. package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +3 -0
  220. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +3 -0
  221. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +3 -0
  222. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +3 -0
  223. package/lib/desy-forms/components/input-group/input-group.component.d.ts +5 -1
  224. package/lib/desy-forms/components/label/label.component.d.ts +7 -2
  225. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -3
  226. package/lib/desy-forms/components/radios/radios.component.d.ts +11 -10
  227. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +4 -0
  228. package/lib/desy-forms/components/select/option/option.component.d.ts +3 -0
  229. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +3 -0
  230. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +3 -0
  231. package/lib/desy-forms/components/select/select.component.d.ts +4 -0
  232. package/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.d.ts +3 -0
  233. package/lib/desy-forms/components/textarea/textarea.component.d.ts +4 -1
  234. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +4 -1
  235. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +9 -6
  236. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +3 -0
  237. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +3 -0
  238. package/lib/desy-forms/components/tree/tree.component.d.ts +3 -0
  239. package/lib/desy-forms/desy-forms.module.d.ts +45 -0
  240. package/lib/desy-forms/directives/condition.directive.d.ts +3 -0
  241. package/lib/desy-forms/interfaces/select-item-data.d.ts +3 -0
  242. package/lib/desy-forms/models/checkbox-service-item.component.d.ts +13 -0
  243. package/lib/desy-forms/models/radio-service-item.component.d.ts +12 -0
  244. package/lib/desy-forms/services/checkbox.service.d.ts +14 -0
  245. package/lib/desy-forms/services/radio.service.d.ts +13 -0
  246. package/lib/desy-modals/components/dialog/dialog.component.d.ts +5 -2
  247. package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +3 -0
  248. package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +3 -0
  249. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +3 -0
  250. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +3 -0
  251. package/lib/desy-modals/components/modal/modal.component.d.ts +3 -0
  252. package/lib/desy-modals/desy-modals.module.d.ts +14 -0
  253. package/lib/desy-modals/services/dialog.service.d.ts +3 -0
  254. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +3 -0
  255. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +3 -0
  256. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +3 -0
  257. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +3 -0
  258. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +3 -0
  259. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +3 -0
  260. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +3 -0
  261. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +3 -0
  262. package/lib/desy-nav/components/footer/footer.component.d.ts +3 -0
  263. package/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.d.ts +3 -0
  264. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +3 -0
  265. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +3 -0
  266. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +3 -0
  267. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +3 -0
  268. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
  269. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +3 -0
  270. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +3 -0
  271. package/lib/desy-nav/components/header/header.component.d.ts +3 -0
  272. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +3 -0
  273. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +3 -0
  274. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +3 -0
  275. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +3 -0
  276. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +3 -0
  277. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +3 -0
  278. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +3 -0
  279. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +3 -0
  280. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +3 -0
  281. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +3 -0
  282. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +3 -0
  283. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +3 -0
  284. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +3 -0
  285. package/lib/desy-nav/components/menubar/directives/menubaritem.directive.d.ts +3 -0
  286. package/lib/desy-nav/components/menubar/menubar.component.d.ts +3 -0
  287. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +3 -0
  288. package/lib/desy-nav/components/nav/nav.component.d.ts +6 -3
  289. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +3 -0
  290. package/lib/desy-nav/components/notification/notification.component.d.ts +3 -0
  291. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +3 -0
  292. package/lib/desy-nav/desy-nav.module.d.ts +46 -0
  293. package/lib/desy-nav/interfaces/menu-horizontal-item-data.d.ts +1 -0
  294. package/lib/desy-nav/interfaces/menu-horizontal-item-event-data.d.ts +1 -0
  295. package/lib/desy-nav/interfaces/menu-navigation-item-sub-item.d.ts +8 -0
  296. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +3 -0
  297. package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +3 -0
  298. package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +3 -0
  299. package/lib/desy-pagination/desy-pagination.module.d.ts +11 -0
  300. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +3 -0
  301. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +3 -0
  302. package/lib/desy-tables/components/table/components/table-header.component.d.ts +3 -0
  303. package/lib/desy-tables/components/table/components/table-row.component.d.ts +3 -0
  304. package/lib/desy-tables/components/table/table.component.d.ts +4 -1
  305. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +3 -0
  306. package/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.d.ts +3 -0
  307. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +3 -0
  308. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +3 -0
  309. package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +3 -0
  310. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +6 -3
  311. package/lib/desy-tables/desy-tables.module.d.ts +23 -0
  312. package/lib/desy-tables/directives/cell.directive.d.ts +3 -0
  313. package/lib/desy-tables/directives/focus-clicked-cell.directive.d.ts +3 -0
  314. package/lib/desy-tables/directives/row.directive.d.ts +3 -0
  315. package/lib/desy-tables/interfaces/head-cell-data.d.ts +2 -0
  316. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +3 -0
  317. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +3 -0
  318. package/lib/desy-views/components/accordion/accordion.component.d.ts +3 -0
  319. package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +3 -0
  320. package/lib/desy-views/components/accordion-history/accordion-history.component.d.ts +3 -0
  321. package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +3 -0
  322. package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +3 -0
  323. package/lib/desy-views/components/alert/alert.component.d.ts +4 -1
  324. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +5 -1
  325. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +3 -0
  326. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +3 -0
  327. package/lib/desy-views/components/description-list/description-list.component.d.ts +3 -0
  328. package/lib/desy-views/components/description-list/term/term.component.d.ts +3 -0
  329. package/lib/desy-views/components/details/details.component.d.ts +7 -1
  330. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +3 -0
  331. package/lib/desy-views/components/item/item-content-right/item-content-right.component.d.ts +3 -0
  332. package/lib/desy-views/components/item/item-item/item-item.component.d.ts +3 -0
  333. package/lib/desy-views/components/item/item.component.d.ts +4 -1
  334. package/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.d.ts +3 -0
  335. package/lib/desy-views/components/media-object/media-object.component.d.ts +3 -0
  336. package/lib/desy-views/components/spinner/spinner.component.d.ts +3 -0
  337. package/lib/desy-views/components/status/status.component.d.ts +7 -2
  338. package/lib/desy-views/components/status-item/status-item.component.d.ts +3 -0
  339. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +3 -0
  340. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +3 -0
  341. package/lib/desy-views/components/tabs/tabs.component.d.ts +9 -3
  342. package/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.d.ts +3 -0
  343. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +3 -0
  344. package/lib/desy-views/desy-views.module.d.ts +37 -0
  345. package/lib/desy-views/interfaces/accordion-item.data.d.ts +1 -0
  346. package/lib/desy-views/interfaces/tabs-items-data.d.ts +2 -0
  347. package/lib/desy-views/services/alert.service.d.ts +3 -0
  348. package/lib/shared/components/accessibility/accessibility.component.d.ts +3 -0
  349. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +4 -1
  350. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +3 -0
  351. package/lib/shared/components/content-base/content-base.component.d.ts +3 -0
  352. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +3 -0
  353. package/lib/shared/directives/attribute-change.directive.d.ts +3 -0
  354. package/lib/shared/directives/click-outside.directive.d.ts +3 -0
  355. package/lib/shared/directives/content-change.directive.d.ts +3 -0
  356. package/lib/shared/directives/custom-inner-content.directive.d.ts +3 -0
  357. package/lib/shared/directives/inner-content.directive.d.ts +3 -0
  358. package/lib/shared/pipes/external-href.pipe.d.ts +3 -0
  359. package/lib/shared/pipes/inner-html.pipe.d.ts +3 -0
  360. package/lib/shared/pipes/make-html-list.pipe.d.ts +3 -0
  361. package/lib/shared/shared.module.d.ts +19 -0
  362. package/package.json +33 -20
  363. package/public-api.d.ts +24 -0
  364. package/bundles/desy-angular.umd.js +0 -10918
  365. package/bundles/desy-angular.umd.js.map +0 -1
  366. package/bundles/desy-angular.umd.min.js +0 -2
  367. package/bundles/desy-angular.umd.min.js.map +0 -1
  368. package/desy-angular.d.ts +0 -51
  369. package/desy-angular.metadata.json +0 -1
  370. package/esm2015/desy-angular.js +0 -52
  371. package/esm2015/lib/desy-angular.module.js +0 -38
  372. package/esm2015/lib/desy-buttons/components/button/button.component.js +0 -92
  373. package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +0 -50
  374. package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +0 -111
  375. package/esm2015/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.js +0 -26
  376. package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +0 -14
  377. package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +0 -265
  378. package/esm2015/lib/desy-buttons/components/pill/pill.component.js +0 -64
  379. package/esm2015/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.js +0 -15
  380. package/esm2015/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.js +0 -15
  381. package/esm2015/lib/desy-buttons/components/toggle/toggle.component.js +0 -44
  382. package/esm2015/lib/desy-commons/components/content/content.component.js +0 -14
  383. package/esm2015/lib/desy-commons/components/description/description.component.js +0 -15
  384. package/esm2015/lib/desy-commons/components/divider/divider.component.js +0 -15
  385. package/esm2015/lib/desy-commons/components/icon/icon.component.js +0 -15
  386. package/esm2015/lib/desy-commons/components/title/title.component.js +0 -14
  387. package/esm2015/lib/desy-commons/desy-commons.module.js +0 -36
  388. package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +0 -109
  389. package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +0 -188
  390. package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +0 -226
  391. package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +0 -38
  392. package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +0 -19
  393. package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +0 -13
  394. package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +0 -38
  395. package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +0 -36
  396. package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +0 -222
  397. package/esm2015/lib/desy-forms/components/error-message/error-message.component.js +0 -28
  398. package/esm2015/lib/desy-forms/components/fieldset/fieldset.component.js +0 -44
  399. package/esm2015/lib/desy-forms/components/fieldset/legend/legend.component.js +0 -16
  400. package/esm2015/lib/desy-forms/components/file-upload/file-upload.component.js +0 -51
  401. package/esm2015/lib/desy-forms/components/form-field/form-field.component.js +0 -103
  402. package/esm2015/lib/desy-forms/components/hint/hint.component.js +0 -27
  403. package/esm2015/lib/desy-forms/components/input/input.component.js +0 -67
  404. package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +0 -20
  405. package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +0 -39
  406. package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +0 -13
  407. package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +0 -35
  408. package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +0 -179
  409. package/esm2015/lib/desy-forms/components/label/label.component.js +0 -30
  410. package/esm2015/lib/desy-forms/components/radios/radio-item/radio-item.component.js +0 -144
  411. package/esm2015/lib/desy-forms/components/radios/radios.component.js +0 -233
  412. package/esm2015/lib/desy-forms/components/search-bar/search-bar.component.js +0 -45
  413. package/esm2015/lib/desy-forms/components/select/option/option.component.js +0 -17
  414. package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +0 -17
  415. package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +0 -14
  416. package/esm2015/lib/desy-forms/components/select/select.component.js +0 -64
  417. package/esm2015/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.js +0 -12
  418. package/esm2015/lib/desy-forms/components/textarea/textarea.component.js +0 -60
  419. package/esm2015/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.js +0 -151
  420. package/esm2015/lib/desy-forms/components/tree/tree-item/tree-item.component.js +0 -370
  421. package/esm2015/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.js +0 -25
  422. package/esm2015/lib/desy-forms/components/tree/tree-sub/tree-sub.component.js +0 -14
  423. package/esm2015/lib/desy-forms/components/tree/tree.component.js +0 -408
  424. package/esm2015/lib/desy-forms/desy-forms.module.js +0 -130
  425. package/esm2015/lib/desy-forms/directives/condition.directive.js +0 -32
  426. package/esm2015/lib/desy-modals/components/dialog/dialog.component.js +0 -121
  427. package/esm2015/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.js +0 -20
  428. package/esm2015/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.js +0 -19
  429. package/esm2015/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.js +0 -19
  430. package/esm2015/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.js +0 -19
  431. package/esm2015/lib/desy-modals/components/modal/modal.component.js +0 -145
  432. package/esm2015/lib/desy-modals/desy-modals.module.js +0 -41
  433. package/esm2015/lib/desy-modals/services/dialog.service.js +0 -117
  434. package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.js +0 -15
  435. package/esm2015/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.js +0 -42
  436. package/esm2015/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.js +0 -15
  437. package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +0 -46
  438. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +0 -16
  439. package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +0 -23
  440. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +0 -16
  441. package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +0 -16
  442. package/esm2015/lib/desy-nav/components/footer/footer.component.js +0 -52
  443. package/esm2015/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.js +0 -11
  444. package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +0 -36
  445. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +0 -19
  446. package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +0 -29
  447. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +0 -22
  448. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +0 -11
  449. package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +0 -88
  450. package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +0 -34
  451. package/esm2015/lib/desy-nav/components/header/header.component.js +0 -66
  452. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.js +0 -28
  453. package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +0 -68
  454. package/esm2015/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.js +0 -35
  455. package/esm2015/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.js +0 -31
  456. package/esm2015/lib/desy-nav/components/menu-navigation/menu-navigation.component.js +0 -568
  457. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +0 -32
  458. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +0 -16
  459. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +0 -24
  460. package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +0 -89
  461. package/esm2015/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.js +0 -36
  462. package/esm2015/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.js +0 -14
  463. package/esm2015/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.js +0 -29
  464. package/esm2015/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.js +0 -23
  465. package/esm2015/lib/desy-nav/components/menubar/directives/menubaritem.directive.js +0 -37
  466. package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +0 -672
  467. package/esm2015/lib/desy-nav/components/nav/nav-item/nav-item.component.js +0 -30
  468. package/esm2015/lib/desy-nav/components/nav/nav.component.js +0 -105
  469. package/esm2015/lib/desy-nav/components/notification/notification-item/notification-item.component.js +0 -18
  470. package/esm2015/lib/desy-nav/components/notification/notification.component.js +0 -102
  471. package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +0 -33
  472. package/esm2015/lib/desy-nav/desy-nav.module.js +0 -136
  473. package/esm2015/lib/desy-nav/interfaces/menu-navigation-item-sub-item.js +0 -2
  474. package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +0 -138
  475. package/esm2015/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.js +0 -15
  476. package/esm2015/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.js +0 -14
  477. package/esm2015/lib/desy-pagination/desy-pagination.module.js +0 -31
  478. package/esm2015/lib/desy-tables/components/table/components/table-caption.component.js +0 -14
  479. package/esm2015/lib/desy-tables/components/table/components/table-cell.component.js +0 -17
  480. package/esm2015/lib/desy-tables/components/table/components/table-header.component.js +0 -14
  481. package/esm2015/lib/desy-tables/components/table/components/table-row.component.js +0 -14
  482. package/esm2015/lib/desy-tables/components/table/table.component.js +0 -55
  483. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.js +0 -33
  484. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.js +0 -14
  485. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.js +0 -17
  486. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.js +0 -20
  487. package/esm2015/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.js +0 -22
  488. package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +0 -316
  489. package/esm2015/lib/desy-tables/desy-tables.module.js +0 -64
  490. package/esm2015/lib/desy-tables/directives/cell.directive.js +0 -26
  491. package/esm2015/lib/desy-tables/directives/focus-clicked-cell.directive.js +0 -78
  492. package/esm2015/lib/desy-tables/directives/row.directive.js +0 -24
  493. package/esm2015/lib/desy-tables/interfaces/head-cell-data.js +0 -7
  494. package/esm2015/lib/desy-views/components/accordion/accordion-header/accordion-header.component.js +0 -14
  495. package/esm2015/lib/desy-views/components/accordion/accordion-item/accordion-item.component.js +0 -43
  496. package/esm2015/lib/desy-views/components/accordion/accordion.component.js +0 -153
  497. package/esm2015/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.js +0 -31
  498. package/esm2015/lib/desy-views/components/accordion-history/accordion-history.component.js +0 -15
  499. package/esm2015/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.js +0 -14
  500. package/esm2015/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.js +0 -14
  501. package/esm2015/lib/desy-views/components/alert/alert.component.js +0 -75
  502. package/esm2015/lib/desy-views/components/collapsible/collapsible.component.js +0 -55
  503. package/esm2015/lib/desy-views/components/description-list/definition/definition.component.js +0 -15
  504. package/esm2015/lib/desy-views/components/description-list/description-item/description-item.component.js +0 -26
  505. package/esm2015/lib/desy-views/components/description-list/description-list.component.js +0 -22
  506. package/esm2015/lib/desy-views/components/description-list/term/term.component.js +0 -15
  507. package/esm2015/lib/desy-views/components/details/details.component.js +0 -20
  508. package/esm2015/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.js +0 -14
  509. package/esm2015/lib/desy-views/components/item/item-content-right/item-content-right.component.js +0 -11
  510. package/esm2015/lib/desy-views/components/item/item-item/item-item.component.js +0 -11
  511. package/esm2015/lib/desy-views/components/item/item.component.js +0 -87
  512. package/esm2015/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.js +0 -11
  513. package/esm2015/lib/desy-views/components/media-object/media-object.component.js +0 -67
  514. package/esm2015/lib/desy-views/components/spinner/spinner.component.js +0 -45
  515. package/esm2015/lib/desy-views/components/status/status.component.js +0 -58
  516. package/esm2015/lib/desy-views/components/status-item/status-item.component.js +0 -86
  517. package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +0 -15
  518. package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +0 -28
  519. package/esm2015/lib/desy-views/components/tabs/tabs.component.js +0 -150
  520. package/esm2015/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.js +0 -11
  521. package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +0 -155
  522. package/esm2015/lib/desy-views/desy-views.module.js +0 -108
  523. package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +0 -2
  524. package/esm2015/lib/desy-views/services/alert.service.js +0 -89
  525. package/esm2015/lib/shared/components/accessibility/accessibility.component.js +0 -29
  526. package/esm2015/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.js +0 -27
  527. package/esm2015/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.js +0 -26
  528. package/esm2015/lib/shared/components/content-base/content-base.component.js +0 -20
  529. package/esm2015/lib/shared/components/text-or-html-required/text-or-html-required.component.js +0 -14
  530. package/esm2015/lib/shared/directives/attribute-change.directive.js +0 -43
  531. package/esm2015/lib/shared/directives/click-outside.directive.js +0 -35
  532. package/esm2015/lib/shared/directives/content-change.directive.js +0 -43
  533. package/esm2015/lib/shared/directives/custom-inner-content.directive.js +0 -62
  534. package/esm2015/lib/shared/directives/inner-content.directive.js +0 -34
  535. package/esm2015/lib/shared/pipes/external-href.pipe.js +0 -28
  536. package/esm2015/lib/shared/pipes/inner-html.pipe.js +0 -19
  537. package/esm2015/lib/shared/pipes/make-html-list.pipe.js +0 -16
  538. package/esm2015/lib/shared/shared.module.js +0 -62
  539. package/esm2015/public-api.js +0 -197
  540. package/fesm2015/desy-angular.js +0 -9650
  541. package/fesm2015/desy-angular.js.map +0 -1
  542. /package/{esm2015/lib/desy-buttons/interfaces/listbox-item-data.js → esm2020/lib/desy-buttons/interfaces/listbox-item-data.mjs} +0 -0
  543. /package/{esm2015/lib/desy-buttons/interfaces/listbox-label-data.js → esm2020/lib/desy-buttons/interfaces/listbox-label-data.mjs} +0 -0
  544. /package/{esm2015/lib/desy-commons/interfaces/content-data.js → esm2020/lib/desy-commons/interfaces/content-data.mjs} +0 -0
  545. /package/{esm2015/lib/desy-commons/interfaces/description-data.js → esm2020/lib/desy-commons/interfaces/description-data.mjs} +0 -0
  546. /package/{esm2015/lib/desy-commons/interfaces/divider-data.js → esm2020/lib/desy-commons/interfaces/divider-data.mjs} +0 -0
  547. /package/{esm2015/lib/desy-commons/interfaces/icon-data.js → esm2020/lib/desy-commons/interfaces/icon-data.mjs} +0 -0
  548. /package/{esm2015/lib/desy-commons/interfaces/index.js → esm2020/lib/desy-commons/interfaces/index.mjs} +0 -0
  549. /package/{esm2015/lib/desy-commons/interfaces/title-data.js → esm2020/lib/desy-commons/interfaces/title-data.mjs} +0 -0
  550. /package/{esm2015/lib/desy-forms/components/tree/interfaces/itree-item.js → esm2020/lib/desy-forms/components/tree/interfaces/itree-item.mjs} +0 -0
  551. /package/{esm2015/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.js → esm2020/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs} +0 -0
  552. /package/{esm2015/lib/desy-forms/interfaces/accesibility-data.js → esm2020/lib/desy-forms/interfaces/accesibility-data.mjs} +0 -0
  553. /package/{esm2015/lib/desy-forms/interfaces/error-message-data.js → esm2020/lib/desy-forms/interfaces/error-message-data.mjs} +0 -0
  554. /package/{esm2015/lib/desy-forms/interfaces/fieldset-data.js → esm2020/lib/desy-forms/interfaces/fieldset-data.mjs} +0 -0
  555. /package/{esm2015/lib/desy-forms/interfaces/hint-data.js → esm2020/lib/desy-forms/interfaces/hint-data.mjs} +0 -0
  556. /package/{esm2015/lib/desy-forms/interfaces/index.js → esm2020/lib/desy-forms/interfaces/index.mjs} +0 -0
  557. /package/{esm2015/lib/desy-forms/interfaces/item-checkbox-data.js → esm2020/lib/desy-forms/interfaces/item-checkbox-data.mjs} +0 -0
  558. /package/{esm2015/lib/desy-forms/interfaces/item-date-input-data.js → esm2020/lib/desy-forms/interfaces/item-date-input-data.mjs} +0 -0
  559. /package/{esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js → esm2020/lib/desy-forms/interfaces/item-divider-date-input-data.mjs} +0 -0
  560. /package/{esm2015/lib/desy-forms/interfaces/item-divider-input-group-data.js → esm2020/lib/desy-forms/interfaces/item-divider-input-group-data.mjs} +0 -0
  561. /package/{esm2015/lib/desy-forms/interfaces/item-input-group-data.js → esm2020/lib/desy-forms/interfaces/item-input-group-data.mjs} +0 -0
  562. /package/{esm2015/lib/desy-forms/interfaces/item-radio-data.js → esm2020/lib/desy-forms/interfaces/item-radio-data.mjs} +0 -0
  563. /package/{esm2015/lib/desy-forms/interfaces/item-radio-with-template-data.js → esm2020/lib/desy-forms/interfaces/item-radio-with-template-data.mjs} +0 -0
  564. /package/{esm2015/lib/desy-forms/interfaces/label-data.js → esm2020/lib/desy-forms/interfaces/label-data.mjs} +0 -0
  565. /package/{esm2015/lib/desy-forms/interfaces/legend-data.js → esm2020/lib/desy-forms/interfaces/legend-data.mjs} +0 -0
  566. /package/{esm2015/lib/desy-modals/interfaces/dialog-options.js → esm2020/lib/desy-modals/interfaces/dialog-options.mjs} +0 -0
  567. /package/{esm2015/lib/desy-modals/interfaces/index.js → esm2020/lib/desy-modals/interfaces/index.mjs} +0 -0
  568. /package/{esm2015/lib/desy-modals/interfaces/modal-button-data.js → esm2020/lib/desy-modals/interfaces/modal-button-data.mjs} +0 -0
  569. /package/{esm2015/lib/desy-modals/interfaces/modal-data.js → esm2020/lib/desy-modals/interfaces/modal-data.mjs} +0 -0
  570. /package/{esm2015/lib/desy-modals/interfaces/modal-icon-data.js → esm2020/lib/desy-modals/interfaces/modal-icon-data.mjs} +0 -0
  571. /package/{esm2015/lib/desy-modals/interfaces/modal-options.js → esm2020/lib/desy-modals/interfaces/modal-options.mjs} +0 -0
  572. /package/{esm2015/lib/desy-modals/interfaces/open-dialog-result.js → esm2020/lib/desy-modals/interfaces/open-dialog-result.mjs} +0 -0
  573. /package/{esm2015/lib/desy-nav/interfaces/breadcrumbs.data.js → esm2020/lib/desy-nav/interfaces/breadcrumbs.data.mjs} +0 -0
  574. /package/{esm2015/lib/desy-nav/interfaces/error-summary-data.js → esm2020/lib/desy-nav/interfaces/error-summary-data.mjs} +0 -0
  575. /package/{esm2015/lib/desy-nav/interfaces/footer-data.js → esm2020/lib/desy-nav/interfaces/footer-data.mjs} +0 -0
  576. /package/{esm2015/lib/desy-nav/interfaces/header-dropdown-data.js → esm2020/lib/desy-nav/interfaces/header-dropdown-data.mjs} +0 -0
  577. /package/{esm2015/lib/desy-nav/interfaces/header-navigation-data.js → esm2020/lib/desy-nav/interfaces/header-navigation-data.mjs} +0 -0
  578. /package/{esm2015/lib/desy-nav/interfaces/header-navigation-item-data.js → esm2020/lib/desy-nav/interfaces/header-navigation-item-data.mjs} +0 -0
  579. /package/{esm2015/lib/desy-nav/interfaces/header-offcanvas-data.js → esm2020/lib/desy-nav/interfaces/header-offcanvas-data.mjs} +0 -0
  580. /package/{esm2015/lib/desy-nav/interfaces/header-subnav-data.js → esm2020/lib/desy-nav/interfaces/header-subnav-data.mjs} +0 -0
  581. /package/{esm2015/lib/desy-nav/interfaces/index.js → esm2020/lib/desy-nav/interfaces/index.mjs} +0 -0
  582. /package/{esm2015/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs} +0 -0
  583. /package/{esm2015/lib/desy-nav/interfaces/menu-navigation.js → esm2020/lib/desy-nav/interfaces/menu-navigation.mjs} +0 -0
  584. /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-items-data.mjs} +0 -0
  585. /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-sub-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs} +0 -0
  586. /package/{esm2015/lib/desy-nav/interfaces/menu-vertical-sub-items-data.js → esm2020/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs} +0 -0
  587. /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs} +0 -0
  588. /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub-item.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub-item.mjs} +0 -0
  589. /package/{esm2015/lib/desy-nav/interfaces/menubar-item-sub.js → esm2020/lib/desy-nav/interfaces/menubar-item-sub.mjs} +0 -0
  590. /package/{esm2015/lib/desy-nav/interfaces/menubar-item.js → esm2020/lib/desy-nav/interfaces/menubar-item.mjs} +0 -0
  591. /package/{esm2015/lib/desy-nav/interfaces/nav-item-event.data.js → esm2020/lib/desy-nav/interfaces/nav-item-event.data.mjs} +0 -0
  592. /package/{esm2015/lib/desy-nav/interfaces/nav-item.data.js → esm2020/lib/desy-nav/interfaces/nav-item.data.mjs} +0 -0
  593. /package/{esm2015/lib/desy-nav/interfaces/notification-items-data.js → esm2020/lib/desy-nav/interfaces/notification-items-data.mjs} +0 -0
  594. /package/{esm2015/lib/desy-nav/interfaces/notification-options.js → esm2020/lib/desy-nav/interfaces/notification-options.mjs} +0 -0
  595. /package/{esm2015/lib/desy-pagination/interfaces/index.js → esm2020/lib/desy-pagination/interfaces/index.mjs} +0 -0
  596. /package/{esm2015/lib/desy-pagination/interfaces/pagination-item.data.js → esm2020/lib/desy-pagination/interfaces/pagination-item.data.mjs} +0 -0
  597. /package/{esm2015/lib/desy-tables/interfaces/cell-data.js → esm2020/lib/desy-tables/interfaces/cell-data.mjs} +0 -0
  598. /package/{esm2015/lib/desy-tables/interfaces/index.js → esm2020/lib/desy-tables/interfaces/index.mjs} +0 -0
  599. /package/{esm2015/lib/desy-tables/interfaces/recalculate-table-params.js → esm2020/lib/desy-tables/interfaces/recalculate-table-params.mjs} +0 -0
  600. /package/{esm2015/lib/desy-tables/interfaces/row-data.js → esm2020/lib/desy-tables/interfaces/row-data.mjs} +0 -0
  601. /package/{esm2015/lib/desy-tables/interfaces/wrapper-data.js → esm2020/lib/desy-tables/interfaces/wrapper-data.mjs} +0 -0
  602. /package/{esm2015/lib/desy-views/interfaces/accordion-header.data.js → esm2020/lib/desy-views/interfaces/accordion-header.data.mjs} +0 -0
  603. /package/{esm2015/lib/desy-views/interfaces/alert-options.js → esm2020/lib/desy-views/interfaces/alert-options.mjs} +0 -0
  604. /package/{esm2015/lib/desy-views/interfaces/description-item.data.js → esm2020/lib/desy-views/interfaces/description-item.data.mjs} +0 -0
  605. /package/{esm2015/lib/desy-views/interfaces/index.js → esm2020/lib/desy-views/interfaces/index.mjs} +0 -0
  606. /package/{esm2015/lib/desy-views/interfaces/open-alert-result.js → esm2020/lib/desy-views/interfaces/open-alert-result.mjs} +0 -0
  607. /package/{esm2015/lib/desy-views/interfaces/status-data.js → esm2020/lib/desy-views/interfaces/status-data.mjs} +0 -0
  608. /package/{esm2015/lib/desy-views/interfaces/status-icon-data.js → esm2020/lib/desy-views/interfaces/status-icon-data.mjs} +0 -0
  609. /package/{esm2015/lib/desy-views/interfaces/status-item-title-data.js → esm2020/lib/desy-views/interfaces/status-item-title-data.mjs} +0 -0
  610. /package/{esm2015/lib/desy-views/interfaces/tabs-panel-data.js → esm2020/lib/desy-views/interfaces/tabs-panel-data.mjs} +0 -0
  611. /package/{esm2015/lib/desy-views/interfaces/term-definition.data.js → esm2020/lib/desy-views/interfaces/term-definition.data.mjs} +0 -0
  612. /package/{esm2015/lib/shared/components/index.js → esm2020/lib/shared/components/index.mjs} +0 -0
  613. /package/{esm2015/lib/shared/decorators/desy-content-child.decorator.js → esm2020/lib/shared/decorators/desy-content-child.decorator.mjs} +0 -0
  614. /package/{esm2015/lib/shared/decorators/desy-on-input-change.decorator.js → esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs} +0 -0
  615. /package/{esm2015/lib/shared/interfaces/accesibility-data.js → esm2020/lib/shared/interfaces/accesibility-data.mjs} +0 -0
  616. /package/{esm2015/lib/shared/utils/focus-utils.js → esm2020/lib/shared/utils/focus-utils.mjs} +0 -0
  617. /package/{esm2015/lib/shared/utils/search-utils.js → esm2020/lib/shared/utils/search-utils.mjs} +0 -0
  618. /package/{esm2015/lib/shared/utils/string-utils.js → esm2020/lib/shared/utils/string-utils.mjs} +0 -0
@@ -0,0 +1,199 @@
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==
@@ -0,0 +1,12 @@
1
+ import { Component } from '@angular/core';
2
+ import { ContentBaseComponent } from '../../../../shared/components';
3
+ import * as i0 from "@angular/core";
4
+ export class TooltipContentComponent extends ContentBaseComponent {
5
+ }
6
+ TooltipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ TooltipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TooltipContentComponent, selector: "desy-tooltip-content", usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipContentComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'desy-tooltip-content', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
+ }] });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGVudC90b29sdGlwLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9COztvSEFBcEQsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUZDUHBDLCtFQUdBOzJGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,202 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ContentChildren, ElementRef, HostBinding, Input, ViewChild } from '@angular/core';
3
+ import { AccessibilityComponent } from '../../../shared/components';
4
+ import { ContentComponent } from '../../../desy-commons/components/content/content.component';
5
+ import { IconComponent } from '../../../desy-commons/components/icon/icon.component';
6
+ import { TooltipContentComponent } from './tooltip-content/tooltip-content.component';
7
+ import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common";
10
+ import * as i2 from "../../../shared/directives/custom-inner-content.directive";
11
+ import * as i3 from "ngx-tippy-wrapper";
12
+ import * as i4 from "../../../shared/pipes/make-html-list.pipe";
13
+ export class TooltipComponent extends AccessibilityComponent {
14
+ constructor(changeDetectorRef) {
15
+ super();
16
+ this.changeDetectorRef = changeDetectorRef;
17
+ this.hasContent = true;
18
+ this.hasIconComponentContent = true;
19
+ }
20
+ ngOnChanges(changes) {
21
+ this.classes = this.classes ? this.classes : null;
22
+ this.idData = this.id ? this.id : null;
23
+ this.roleData = this.role ? this.role : null;
24
+ this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
25
+ this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
26
+ this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
27
+ this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
28
+ this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
29
+ this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
30
+ this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
31
+ this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
32
+ this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
33
+ this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
34
+ this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
35
+ this.tabindexData = this.tabindex ? this.tabindex : null;
36
+ }
37
+ ngAfterContentInit() {
38
+ const contentTooltip = this.tooltipContent.nativeElement;
39
+ this.tippyProperties = {
40
+ placement: 'top',
41
+ inlinePositioning: true,
42
+ content: contentTooltip,
43
+ allowHTML: true,
44
+ trigger: 'mouseenter focus',
45
+ hideOnClick: false,
46
+ theme: '',
47
+ plugins: [{
48
+ name: 'hideOnEsc',
49
+ defaultValue: true,
50
+ fn({ hide }) {
51
+ function onKeyDown(event) {
52
+ if (event.key === TooltipComponent.KEY_CODE_ESC) {
53
+ hide();
54
+ }
55
+ }
56
+ return {
57
+ onShow() {
58
+ document.addEventListener('keydown', onKeyDown);
59
+ },
60
+ onHide() {
61
+ document.removeEventListener('keydown', onKeyDown);
62
+ },
63
+ };
64
+ },
65
+ }],
66
+ role: 'tooltip',
67
+ aria: {
68
+ content: this.complex ? 'describedby' : 'labelledby',
69
+ },
70
+ };
71
+ }
72
+ getIdButton() {
73
+ return this.id + '-button';
74
+ }
75
+ getIdTooltip() {
76
+ return this.id + '-tooltip';
77
+ }
78
+ handleEmptyContent(isEmpty) {
79
+ this.hasContent = !isEmpty;
80
+ this.changeDetectorRef.detectChanges();
81
+ }
82
+ handleEmptyIconContent(isEmpty) {
83
+ this.hasIconComponentContent = !isEmpty;
84
+ this.changeDetectorRef.detectChanges();
85
+ }
86
+ getMainContent() {
87
+ let content;
88
+ if (this.html) {
89
+ content = this.html;
90
+ }
91
+ else if (this.text) {
92
+ content = `<p>${this.text}</p>`;
93
+ }
94
+ return content;
95
+ }
96
+ getIconContent(icon) {
97
+ let iconContent;
98
+ if (icon.html) {
99
+ iconContent = this.icon.html;
100
+ }
101
+ else if (icon.type === 'info') {
102
+ iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-primary-base" role="img" aria-label="Información"><path d="M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z" fill="currentColor"/></svg>';
103
+ }
104
+ else if (icon.type === 'alert') {
105
+ iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-alert-base" role="img" aria-label="Alerta"><path d="M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z" fill="currentColor"/></svg>';
106
+ }
107
+ else {
108
+ iconContent = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4 text-primary-base" role="img" aria-label="Ayuda"><path d="M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z" fill="currentColor"/></svg>';
109
+ }
110
+ return iconContent;
111
+ }
112
+ }
113
+ TooltipComponent.KEY_CODE_ESC = 'Escape';
114
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
115
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TooltipComponent, selector: "desy-tooltip", inputs: { id: "id", text: "text", html: "html", complex: "complex", classesTooltip: "classesTooltip", icon: "icon", caller: "caller", 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: "contentComponent", predicate: ContentComponent }, { propertyName: "iconComponent", predicate: IconComponent }, { propertyName: "tooltipContentComponent", predicate: TooltipContentComponent }], viewQueries: [{ propertyName: "tooltipContent", first: true, predicate: ["tooltipContent"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"tippyProperties\" [attr.id]=\"getIdButton()\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n class=\"inline-flex items-center focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\n tabindex=\"0\" role=\"button\"\n [attr.aria-labelledby]=\"getIdButton() + ' ' + getIdTooltip()\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, html: getMainContent() }\"></ng-container>\n <span *ngIf=\"hasContent && ( (iconComponent) || (icon) )\" class=\"inline-block w-1.5\"></span>\n <span *ngIf=\"iconComponent\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent }\"></ng-container>\n\n <ng-container *ngIf=\"!hasIconComponentContent\">\n <ng-container [ngSwitch]=\"iconComponent.type\">\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Informaci\u00F3n\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-alert-base\" role=\"img\" aria-label=\"Alerta\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchDefault xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Ayuda\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </span>\n <span *ngIf=\"!iconComponent && icon\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ html: getIconContent(icon) }\"></ng-container>\n </span>\n</div>\n\n<div #tooltipContent [attr.id]=\"getIdTooltip()\"\n [class]=\"['-my-xs p-sm shadow-md bg-black rounded text-white', classesTooltip] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: tooltipContentComponent, template: caller }\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i3.NgxTippyDirective, selector: "[ngxTippy]", inputs: ["ngxTippy", "tippyProps", "tippyName", "tippyClassName"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] });
116
+ __decorate([
117
+ DesyContentChild()
118
+ ], TooltipComponent.prototype, "contentComponent", void 0);
119
+ __decorate([
120
+ DesyContentChild()
121
+ ], TooltipComponent.prototype, "iconComponent", void 0);
122
+ __decorate([
123
+ DesyContentChild()
124
+ ], TooltipComponent.prototype, "tooltipContentComponent", void 0);
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
126
+ type: Component,
127
+ args: [{ selector: 'desy-tooltip', template: "<div *ngIf=\"tippyProperties\" [attr.id]=\"getIdButton()\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n class=\"inline-flex items-center focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black\"\n tabindex=\"0\" role=\"button\"\n [attr.aria-labelledby]=\"getIdButton() + ' ' + getIdTooltip()\">\n <ng-container *desyCustomInnerContent=\"{ component: contentComponent, html: getMainContent() }\"></ng-container>\n <span *ngIf=\"hasContent && ( (iconComponent) || (icon) )\" class=\"inline-block w-1.5\"></span>\n <span *ngIf=\"iconComponent\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ component: iconComponent }\"></ng-container>\n\n <ng-container *ngIf=\"!hasIconComponentContent\">\n <ng-container [ngSwitch]=\"iconComponent.type\">\n <svg *ngSwitchCase=\"'info'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Informaci\u00F3n\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm7.5 105a7.5 7.5 0 01-15 0V70a7.5 7.5 0 0115 0zM70 50a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchCase=\"'alert'\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-alert-base\" role=\"img\" aria-label=\"Alerta\"><path d=\"M138.42 118.29l-55-110a15 15 0 00-26.84 0l-55 110A15 15 0 0015 140h110a15 15 0 0013.42-21.71zM62.5 50a7.5 7.5 0 0115 0v30a7.5 7.5 0 01-15 0zm7.5 70a10 10 0 1110-10 10 10 0 01-10 10z\" fill=\"currentColor\"/></svg>\n <svg *ngSwitchDefault xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 140 140\" width=\"1em\" height=\"1em\" class=\"w-4 h-4 text-primary-base\" role=\"img\" aria-label=\"Ayuda\"><path d=\"M70 0a70 70 0 1070 70A70.08 70.08 0 0070 0zm0 117.51a10 10 0 1110-10 10 10 0 01-10 10zm9.17-39.08a2.5 2.5 0 00-1.67 2.36v1.71a7.5 7.5 0 01-15 0v-10A7.5 7.5 0 0170 65a12.5 12.5 0 10-12.5-12.5 7.5 7.5 0 01-15 0 27.5 27.5 0 1136.67 25.93z\" fill=\"currentColor\"/></svg>\n </ng-container>\n </ng-container>\n </span>\n <span *ngIf=\"!iconComponent && icon\" class=\"inline-block\">\n <ng-container *desyCustomInnerContent=\"{ html: getIconContent(icon) }\"></ng-container>\n </span>\n</div>\n\n<div #tooltipContent [attr.id]=\"getIdTooltip()\"\n [class]=\"['-my-xs p-sm shadow-md bg-black rounded text-white', classesTooltip] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: tooltipContentComponent, template: caller }\"></ng-container>\n</div>\n" }]
128
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { contentComponent: [{
129
+ type: ContentChildren,
130
+ args: [ContentComponent]
131
+ }], iconComponent: [{
132
+ type: ContentChildren,
133
+ args: [IconComponent]
134
+ }], tooltipContentComponent: [{
135
+ type: ContentChildren,
136
+ args: [TooltipContentComponent]
137
+ }], tooltipContent: [{
138
+ type: ViewChild,
139
+ args: ['tooltipContent', { read: ElementRef, static: true }]
140
+ }], id: [{
141
+ type: Input
142
+ }], text: [{
143
+ type: Input
144
+ }], html: [{
145
+ type: Input
146
+ }], complex: [{
147
+ type: Input
148
+ }], classesTooltip: [{
149
+ type: Input
150
+ }], icon: [{
151
+ type: Input
152
+ }], caller: [{
153
+ type: Input
154
+ }], classes: [{
155
+ type: Input
156
+ }, {
157
+ type: HostBinding,
158
+ args: ['class']
159
+ }], idData: [{
160
+ type: HostBinding,
161
+ args: ['attr.id']
162
+ }], roleData: [{
163
+ type: HostBinding,
164
+ args: ['attr.role']
165
+ }], ariaDescribedbyData: [{
166
+ type: HostBinding,
167
+ args: ['attr.aria-describedby']
168
+ }], ariaErrormessageData: [{
169
+ type: HostBinding,
170
+ args: ['attr.aria-errormessage']
171
+ }], ariaLabelData: [{
172
+ type: HostBinding,
173
+ args: ['attr.aria-label']
174
+ }], ariaLabelledbyData: [{
175
+ type: HostBinding,
176
+ args: ['attr.aria-labelledby']
177
+ }], ariaHiddenData: [{
178
+ type: HostBinding,
179
+ args: ['attr.aria-hidden']
180
+ }], ariaDisabledData: [{
181
+ type: HostBinding,
182
+ args: ['attr.aria-disabled']
183
+ }], ariaControlsData: [{
184
+ type: HostBinding,
185
+ args: ['attr.aria-controls']
186
+ }], ariaCurrentData: [{
187
+ type: HostBinding,
188
+ args: ['attr.aria-current']
189
+ }], ariaLiveData: [{
190
+ type: HostBinding,
191
+ args: ['attr.aria-live']
192
+ }], ariaExpandedData: [{
193
+ type: HostBinding,
194
+ args: ['attr.aria-expanded']
195
+ }], ariaHaspopupData: [{
196
+ type: HostBinding,
197
+ args: ['attr.aria-haspopup']
198
+ }], tabindexData: [{
199
+ type: HostBinding,
200
+ args: ['attr.tabindex']
201
+ }] } });
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUlMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFFbkYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDcEYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsc0JBQXNCO0lBNkMxRCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSHhELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBSS9CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FB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T0FBTztzQkFBZixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDeUIsT0FBTztzQkFBckMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPO2dCQUlMLE1BQU07c0JBQTdCLFdBQVc7dUJBQUMsU0FBUztnQkFDSSxRQUFRO3NCQUFqQyxXQUFXO3VCQUFDLFdBQVc7Z0JBQ2MsbUJBQW1CO3NCQUF4RCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDRyxvQkFBb0I7c0JBQTFELFdBQVc7dUJBQUMsd0JBQXdCO2dCQUNMLGFBQWE7c0JBQTVDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUNPLGtCQUFrQjtzQkFBdEQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBQ0YsY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ0ksZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNDLGVBQWU7c0JBQWhELFdBQVc7dUJBQUMsbUJBQW1CO2dCQUNELFlBQVk7c0JBQTFDLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUNNLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSCxZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0NvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtJY29uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7SWNvbkRhdGF9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9pbnRlcmZhY2VzJztcbmltcG9ydCB7VG9vbHRpcENvbnRlbnRDb21wb25lbnR9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS10b29sdGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRvb2x0aXBDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBzdGF0aWMgcmVhZG9ubHkgS0VZX0NPREVfRVNDID0gJ0VzY2FwZSc7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKENvbnRlbnRDb21wb25lbnQpIGNvbnRlbnRDb21wb25lbnQ6IENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKEljb25Db21wb25lbnQpIGljb25Db21wb25lbnQ6IEljb25Db21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoKVxuICBAQ29udGVudENoaWxkcmVuKFRvb2x0aXBDb250ZW50Q29tcG9uZW50KSB0b29sdGlwQ29udGVudENvbXBvbmVudDogVG9vbHRpcENvbnRlbnRDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcENvbnRlbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSB0b29sdGlwQ29udGVudDogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGh0bWw6IHN0cmluZztcbiAgQElucHV0KCkgY29tcGxleDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2xhc3Nlc1Rvb2x0aXA6IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogSWNvbkRhdGE7XG4gIEBJbnB1dCgpIGNhbGxlcjogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXM6IGFueTtcbiAgLy8gQEhvc3RCaW5kaW5nKCdkYXRhLW1vZHVsZScpIGRhdGFNb2R1bGUgPSBcImMtdGFic1wiO1xuXG4gIC8vQWNjZXNzaWJpbGl0eVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXJyb3JtZXNzYWdlJykgYXJpYUVycm9ybWVzc2FnZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWxEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYUhpZGRlbkRhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKSBhcmlhRGlzYWJsZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJykgYXJpYUNvbnRyb2xzRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JykgYXJpYUN1cnJlbnREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxpdmUnKSBhcmlhTGl2ZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBhcmlhRXhwYW5kZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJykgYXJpYUhhc3BvcHVwRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleERhdGE6IGFueTtcblxuICB0aXBweVByb3BlcnRpZXM6IGFueTtcbiAgaGFzQ29udGVudCA9IHRydWU7XG4gIGhhc0ljb25Db21wb25lbnRDb250ZW50ID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc2VzID0gdGhpcy5jbGFzc2VzID8gdGhpcy5jbGFzc2VzIDogbnVsbDtcbiAgICB0aGlzLmlkRGF0YSA9IHRoaXMuaWQgPyB0aGlzLmlkIDogbnVsbDtcbiAgICB0aGlzLnJvbGVEYXRhID0gdGhpcy5yb2xlID8gdGhpcy5yb2xlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEZXNjcmliZWRieURhdGEgPSB0aGlzLmFyaWFEZXNjcmliZWRCeSA/IHRoaXMuYXJpYURlc2NyaWJlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFFcnJvcm1lc3NhZ2VEYXRhID0gdGhpcy5hcmlhRXJyb3JNZXNzYWdlID8gdGhpcy5hcmlhRXJyb3JNZXNzYWdlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbERhdGEgPSB0aGlzLmFyaWFMYWJlbCA/IHRoaXMuYXJpYUxhYmVsIDogbnVsbDtcbiAgICB0aGlzLmFyaWFMYWJlbGxlZGJ5RGF0YSA9IHRoaXMuYXJpYUxhYmVsbGVkQnkgPyB0aGlzLmFyaWFMYWJlbGxlZEJ5IDogbnVsbDtcbiAgICB0aGlzLmFyaWFIaWRkZW5EYXRhID0gdGhpcy5hcmlhSGlkZGVuID8gdGhpcy5hcmlhSGlkZGVuIDogbnVsbDtcbiAgICB0aGlzLmFyaWFEaXNhYmxlZERhdGEgPSB0aGlzLmFyaWFEaXNhYmxlZCA/IHRoaXMuYXJpYURpc2FibGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDb250cm9sc0RhdGEgPSB0aGlzLmFyaWFDb250cm9scyA/IHRoaXMuYXJpYUNvbnRyb2xzIDogbnVsbDtcbiAgICB0aGlzLmFyaWFDdXJyZW50RGF0YSA9IHRoaXMuYXJpYUN1cnJlbnQgPyB0aGlzLmFyaWFDdXJyZW50IDogbnVsbDtcbiAgICB0aGlzLmFyaWFMaXZlRGF0YSA9IHRoaXMuYXJpYUxpdmUgPyB0aGlzLmFyaWFMaXZlIDogbnVsbDtcbiAgICB0aGlzLmFyaWFFeHBhbmRlZERhdGEgPSB0aGlzLmFyaWFFeHBhbmRlZCA/IHRoaXMuYXJpYUV4cGFuZGVkIDogbnVsbDtcbiAgICB0aGlzLmFyaWFIYXNwb3B1cERhdGEgPSB0aGlzLmFyaWFIYXNQb3B1cCA/IHRoaXMuYXJpYUhhc1BvcHVwIDogbnVsbDtcbiAgICB0aGlzLnRhYmluZGV4RGF0YSA9IHRoaXMudGFiaW5kZXggPyB0aGlzLnRhYmluZGV4IDogbnVsbDtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBjb250ZW50VG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbnRlbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB0aGlzLnRpcHB5UHJvcGVydGllcyA9IHtcbiAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICBpbmxpbmVQb3NpdGlvbmluZzogdHJ1ZSxcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRUb29sdGlwLFxuICAgICAgYWxsb3dIVE1MOiB0cnVlLCAvLyBNYWtlIHN1cmUgeW91IGFyZSBzYW5pdGl6aW5nIGFueSB1c2VyIGRhdGEgaWYgcmVuZGVyaW5nIEhUTUwgdG8gcHJldmVudCBYU1MgYXR0YWNrcy5cbiAgICAgIHRyaWdnZXI6ICdtb3VzZWVudGVyIGZvY3VzJyxcbiAgICAgIGhpZGVPbkNsaWNrOiBmYWxzZSxcbiAgICAgIHRoZW1lOiAnJyxcbiAgICAgIHBsdWdpbnM6IFt7XG4gICAgICAgIG5hbWU6ICdoaWRlT25Fc2MnLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgIGZuKHtoaWRlfSk6IGFueSB7XG5cbiAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFRvb2x0aXBDb21wb25lbnQuS0VZX0NPREVfRVNDKSB7XG4gICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfV0sXG4gICAgICByb2xlOiAndG9vbHRpcCcsXG4gICAgICBhcmlhOiB7XG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuY29tcGxleCA/ICdkZXNjcmliZWRieScgOiAnbGFiZWxsZWRieScsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBnZXRJZEJ1dHRvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkICsgJy1idXR0b24nO1xuICB9XG5cbiAgZ2V0SWRUb29sdGlwKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWQgKyAnLXRvb2x0aXAnO1xuICB9XG5cbiAgaGFuZGxlRW1wdHlDb250ZW50KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0NvbnRlbnQgPSAhaXNFbXB0eTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGhhbmRsZUVtcHR5SWNvbkNvbnRlbnQoaXNFbXB0eTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaGFzSWNvbkNvbXBvbmVudENvbnRlbnQgPSAhaXNFbXB0eTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG5cbiAgZ2V0TWFpbkNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICBsZXQgY29udGVudDtcbiAgICBpZiAodGhpcy5odG1sKSB7XG4gICAgICBjb250ZW50ID0gdGhpcy5odG1sO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXh0KSB7XG4gICAgICBjb250ZW50ID0gYDxwPiR7dGhpcy50ZXh0fTwvcD5gO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGdldEljb25Db250ZW50KGljb246IEljb25EYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgaWNvbkNvbnRlbnQ7XG4gICAgaWYgKGljb24uaHRtbCkge1xuICAgICAgaWNvbkNvbnRlbnQgPSB0aGlzLmljb24uaHRtbDtcbiAgICB9IGVsc2UgaWYgKGljb24udHlwZSA9PT0gJ2luZm8nKSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiSW5mb3JtYWNpw7NuXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptNy41IDEwNWE3LjUgNy41IDAgMDEtMTUgMFY3MGE3LjUgNy41IDAgMDExNSAwek03MCA1MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPic7XG4gICAgfSBlbHNlIGlmIChpY29uLnR5cGUgPT09ICdhbGVydCcpIHtcbiAgICAgIGljb25Db250ZW50ID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtYWxlcnQtYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQWxlcnRhXCI+PHBhdGggZD1cIk0xMzguNDIgMTE4LjI5bC01NS0xMTBhMTUgMTUgMCAwMC0yNi44NCAwbC01NSAxMTBBMTUgMTUgMCAwMDE1IDE0MGgxMTBhMTUgMTUgMCAwMDEzLjQyLTIxLjcxek02Mi41IDUwYTcuNSA3LjUgMCAwMTE1IDB2MzBhNy41IDcuNSAwIDAxLTE1IDB6bTcuNSA3MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb25Db250ZW50ID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBeXVkYVwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTAgMTE3LjUxYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwem05LjE3LTM5LjA4YTIuNSAyLjUgMCAwMC0xLjY3IDIuMzZ2MS43MWE3LjUgNy41IDAgMDEtMTUgMHYtMTBBNy41IDcuNSAwIDAxNzAgNjVhMTIuNSAxMi41IDAgMTAtMTIuNS0xMi41IDcuNSA3LjUgMCAwMS0xNSAwIDI3LjUgMjcuNSAwIDExMzYuNjcgMjUuOTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH1cbiAgICByZXR1cm4gaWNvbkNvbnRlbnQ7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ0aXBweVByb3BlcnRpZXNcIiBbYXR0ci5pZF09XCJnZXRJZEJ1dHRvbigpXCJcbiAgICAgIG5neFRpcHB5IFt0aXBweVByb3BzXT1cInRpcHB5UHJvcGVydGllc1wiXG4gICAgICBjbGFzcz1cImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2tcIlxuICAgICAgdGFiaW5kZXg9XCIwXCIgcm9sZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiZ2V0SWRCdXR0b24oKSArICcgJyArIGdldElkVG9vbHRpcCgpXCI+XG4gIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogY29udGVudENvbXBvbmVudCwgaHRtbDogZ2V0TWFpbkNvbnRlbnQoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDxzcGFuICpuZ0lmPVwiaGFzQ29udGVudCAmJiAoIChpY29uQ29tcG9uZW50KSB8fCAoaWNvbikgKVwiIGNsYXNzPVwiaW5saW5lLWJsb2NrIHctMS41XCI+PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImljb25Db21wb25lbnRcIiBjbGFzcz1cImlubGluZS1ibG9ja1wiPlxuICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogaWNvbkNvbXBvbmVudCB9XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0ljb25Db21wb25lbnRDb250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJpY29uQ29tcG9uZW50LnR5cGVcIj5cbiAgICAgICAgPHN2ZyAqbmdTd2l0Y2hDYXNlPVwiJ2luZm8nXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJJbmZvcm1hY2nDs25cIj48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwem03LjUgMTA1YTcuNSA3LjUgMCAwMS0xNSAwVjcwYTcuNSA3LjUgMCAwMTE1IDB6TTcwIDUwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidhbGVydCdcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1hbGVydC1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBbGVydGFcIj48cGF0aCBkPVwiTTEzOC40MiAxMTguMjlsLTU1LTExMGExNSAxNSAwIDAwLTI2Ljg0IDBsLTU1IDExMEExNSAxNSAwIDAwMTUgMTQwaDExMGExNSAxNSAwIDAwMTMuNDItMjEuNzF6TTYyLjUgNTBhNy41IDcuNSAwIDAxMTUgMHYzMGE3LjUgNy41IDAgMDEtMTUgMHptNy41IDcwYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoRGVmYXVsdCB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1wcmltYXJ5LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkF5dWRhXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptMCAxMTcuNTFhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6bTkuMTctMzkuMDhhMi41IDIuNSAwIDAwLTEuNjcgMi4zNnYxLjcxYTcuNSA3LjUgMCAwMS0xNSAwdi0xMEE3LjUgNy41IDAgMDE3MCA2NWExMi41IDEyLjUgMCAxMC0xMi41LTEyLjUgNy41IDcuNSAwIDAxLTE1IDAgMjcuNSAyNy41IDAgMTEzNi42NyAyNS45M3pcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCIhaWNvbkNvbXBvbmVudCAmJiBpY29uXCIgY2xhc3M9XCJpbmxpbmUtYmxvY2tcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBodG1sOiBnZXRJY29uQ29udGVudChpY29uKSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2ICN0b29sdGlwQ29udGVudCBbYXR0ci5pZF09XCJnZXRJZFRvb2x0aXAoKVwiXG4gICAgICBbY2xhc3NdPVwiWyctbXkteHMgcC1zbSBzaGFkb3ctbWQgYmctYmxhY2sgcm91bmRlZCB0ZXh0LXdoaXRlJywgY2xhc3Nlc1Rvb2x0aXBdIHwgbWFrZUh0bWxMaXN0XCI+XG4gIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGNvbXBvbmVudDogdG9vbHRpcENvbnRlbnRDb21wb25lbnQsIHRlbXBsYXRlOiBjYWxsZXIgfVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=