desy-angular 7.0.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/README.md +2 -2
  2. package/esm2022/desy-angular.mjs +2 -0
  3. package/{esm2020 → esm2022}/lib/desy-angular.module.mjs +37 -37
  4. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +115 -0
  5. package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
  6. package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +127 -0
  7. package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +39 -0
  8. package/{esm2020 → esm2022}/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +4 -4
  9. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +334 -0
  10. package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
  11. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +4 -4
  13. package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +61 -0
  14. package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +81 -0
  15. package/{esm2020 → esm2022}/lib/desy-commons/components/content/content.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/desy-commons/components/description/description.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/desy-commons/components/divider/divider.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/desy-commons/components/icon/icon.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/desy-commons/components/title/title.component.mjs +4 -4
  20. package/esm2022/lib/desy-commons/desy-commons.module.mjs +52 -0
  21. package/{esm2020 → esm2022}/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
  22. package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +222 -0
  23. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +15 -0
  24. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +268 -0
  25. package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +55 -0
  26. package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
  27. package/{esm2020 → esm2022}/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +4 -4
  28. package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +55 -0
  29. package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +51 -0
  30. package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +293 -0
  31. package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
  32. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/fieldset.component.mjs +10 -8
  33. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/legend/legend.component.mjs +4 -4
  34. package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +67 -0
  35. package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +120 -0
  36. package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +29 -0
  37. package/esm2022/lib/desy-forms/components/input/input.component.mjs +98 -0
  38. package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
  39. package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +59 -0
  40. package/{esm2020 → esm2022}/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +4 -4
  41. package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +51 -0
  42. package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +228 -0
  43. package/esm2022/lib/desy-forms/components/label/label.component.mjs +38 -0
  44. package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +170 -0
  45. package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +15 -0
  46. package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +281 -0
  47. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +60 -0
  48. package/{esm2020 → esm2022}/lib/desy-forms/components/select/option/option.component.mjs +4 -4
  49. package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
  50. package/{esm2020 → esm2022}/lib/desy-forms/components/select/select-item/select-item.component.mjs +4 -4
  51. package/esm2022/lib/desy-forms/components/select/select.component.mjs +92 -0
  52. package/{esm2020 → esm2022}/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/desy-forms/components/textarea/textarea.component.mjs +12 -13
  54. package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +173 -0
  55. package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +377 -0
  56. package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
  57. package/{esm2020 → esm2022}/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +4 -4
  58. package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +356 -0
  59. package/esm2022/lib/desy-forms/desy-forms.module.mjs +207 -0
  60. package/esm2022/lib/desy-forms/directives/condition.directive.mjs +34 -0
  61. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
  62. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
  63. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +150 -0
  64. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
  65. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
  66. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
  67. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
  68. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +182 -0
  69. package/esm2022/lib/desy-modals/desy-modals.module.mjs +61 -0
  70. package/{esm2020 → esm2022}/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
  71. package/esm2022/lib/desy-modals/interfaces/index.mjs +7 -0
  72. package/esm2022/lib/desy-modals/services/dialog.service.mjs +114 -0
  73. package/{esm2020 → esm2022}/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
  74. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +48 -0
  75. package/{esm2020 → esm2022}/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
  76. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +64 -0
  77. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
  78. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +31 -0
  79. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
  80. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
  81. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +74 -0
  82. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
  83. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +46 -0
  84. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
  85. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
  86. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
  87. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
  88. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +93 -0
  89. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
  90. package/esm2022/lib/desy-nav/components/header/header.component.mjs +107 -0
  91. package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +40 -0
  92. package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +14 -0
  93. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
  94. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
  95. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +78 -0
  96. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
  97. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
  98. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +602 -0
  99. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +46 -0
  100. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
  101. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
  102. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
  103. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
  104. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
  105. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
  106. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
  107. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
  108. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +713 -0
  109. package/{esm2020 → esm2022}/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
  110. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +115 -0
  111. package/{esm2020 → esm2022}/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
  112. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +143 -0
  113. package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +43 -0
  114. package/esm2022/lib/desy-nav/desy-nav.module.mjs +240 -0
  115. package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +2 -0
  116. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +191 -0
  117. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
  118. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
  119. package/{esm2020 → esm2022}/lib/desy-pagination/desy-pagination.module.mjs +15 -15
  120. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
  121. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
  122. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
  123. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
  124. package/esm2022/lib/desy-tables/components/table/table.component.mjs +79 -0
  125. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +50 -0
  126. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
  127. package/{esm2020 → esm2022}/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
  128. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
  129. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
  130. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +286 -0
  131. package/{esm2020 → esm2022}/lib/desy-tables/desy-tables.module.mjs +38 -38
  132. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +25 -0
  133. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
  134. package/esm2022/lib/desy-tables/directives/row.directive.mjs +22 -0
  135. package/{esm2020 → esm2022}/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
  136. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +61 -0
  137. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +199 -0
  138. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +41 -0
  139. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
  140. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
  141. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
  142. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +81 -0
  143. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
  144. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
  145. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +36 -0
  146. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
  147. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
  148. package/{esm2020 → esm2022}/lib/desy-views/components/details/details.component.mjs +4 -4
  149. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
  150. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
  151. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
  152. package/esm2022/lib/desy-views/components/item/item.component.mjs +121 -0
  153. package/{esm2020 → esm2022}/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
  154. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +117 -0
  155. package/{esm2020 → esm2022}/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
  156. package/esm2022/lib/desy-views/components/status/status.component.mjs +107 -0
  157. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +148 -0
  158. package/{esm2020 → esm2022}/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
  159. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +39 -0
  160. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +200 -0
  161. package/{esm2020 → esm2022}/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
  162. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +206 -0
  163. package/{esm2020 → esm2022}/lib/desy-views/desy-views.module.mjs +67 -67
  164. package/esm2022/lib/desy-views/services/alert.service.mjs +88 -0
  165. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +42 -0
  166. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
  168. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +21 -0
  169. package/{esm2020 → esm2022}/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
  170. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +30 -0
  171. package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +15 -0
  172. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +50 -0
  173. package/esm2022/lib/shared/directives/click-outside.directive.mjs +40 -0
  174. package/esm2022/lib/shared/directives/content-change.directive.mjs +41 -0
  175. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +44 -0
  176. package/esm2022/lib/shared/directives/inner-content.directive.mjs +37 -0
  177. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +28 -0
  178. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +21 -0
  179. package/{esm2020 → esm2022}/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
  180. package/esm2022/lib/shared/shared.module.mjs +83 -0
  181. package/esm2022/lib/shared/utils/search-utils.mjs +66 -0
  182. package/esm2022/lib/shared/utils/string-utils.mjs +11 -0
  183. package/esm2022/public-api.mjs +197 -0
  184. package/{fesm2020 → fesm2022}/desy-angular.mjs +1964 -2068
  185. package/fesm2022/desy-angular.mjs.map +1 -0
  186. package/index.d.ts +0 -3
  187. package/lib/desy-buttons/components/button/button.component.d.ts +1 -1
  188. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -1
  189. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +1 -1
  190. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -1
  191. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +1 -1
  192. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +16 -5
  193. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -1
  194. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +1 -1
  195. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +1 -1
  196. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +1 -1
  197. package/lib/desy-commons/components/content/content.component.d.ts +1 -1
  198. package/lib/desy-commons/components/description/description.component.d.ts +1 -1
  199. package/lib/desy-commons/components/divider/divider.component.d.ts +1 -1
  200. package/lib/desy-commons/components/icon/icon.component.d.ts +1 -1
  201. package/lib/desy-commons/components/title/title.component.d.ts +1 -1
  202. package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -1
  203. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -4
  204. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +13 -0
  205. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +13 -31
  206. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -1
  207. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +1 -1
  208. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -1
  209. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -1
  210. package/lib/desy-forms/components/date-input/date-input.component.d.ts +5 -8
  211. package/lib/desy-forms/components/error-message/error-message.component.d.ts +1 -1
  212. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +1 -8
  213. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +1 -1
  214. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -6
  215. package/lib/desy-forms/components/form-field/form-field.component.d.ts +10 -10
  216. package/lib/desy-forms/components/hint/hint.component.d.ts +1 -1
  217. package/lib/desy-forms/components/input/input.component.d.ts +1 -1
  218. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +2 -1
  219. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +1 -1
  220. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +2 -1
  221. package/lib/desy-forms/components/input-group/input-group.component.d.ts +3 -8
  222. package/lib/desy-forms/components/label/label.component.d.ts +1 -1
  223. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -5
  224. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +13 -0
  225. package/lib/desy-forms/components/radios/radios.component.d.ts +14 -31
  226. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +3 -5
  227. package/lib/desy-forms/components/select/option/option.component.d.ts +2 -2
  228. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +1 -1
  229. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +1 -1
  230. package/lib/desy-forms/components/select/select.component.d.ts +1 -1
  231. package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -1
  232. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +1 -1
  233. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +2 -5
  234. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +6 -2
  235. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +1 -1
  236. package/lib/desy-forms/components/tree/tree.component.d.ts +2 -59
  237. package/lib/desy-forms/directives/condition.directive.d.ts +1 -6
  238. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +1 -0
  239. package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
  240. package/lib/desy-modals/components/dialog/dialog.component.d.ts +2 -1
  241. package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +1 -1
  242. package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +1 -1
  243. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +1 -1
  244. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +1 -1
  245. package/lib/desy-modals/components/modal/modal.component.d.ts +1 -1
  246. package/lib/desy-modals/interfaces/dialog-options.d.ts +1 -0
  247. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +1 -1
  248. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  249. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +1 -1
  250. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +1 -1
  251. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +1 -1
  252. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +1 -1
  253. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +1 -1
  254. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +1 -1
  255. package/lib/desy-nav/components/footer/footer.component.d.ts +1 -1
  256. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +1 -1
  257. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +1 -1
  258. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +1 -1
  259. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +1 -8
  260. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
  261. package/lib/desy-nav/components/header/header.component.d.ts +3 -2
  262. package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +20 -0
  263. package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +7 -0
  264. package/lib/desy-nav/components/links-list/links-list.component.d.ts +13 -0
  265. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +1 -1
  266. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +1 -1
  267. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +1 -1
  268. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +1 -1
  269. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +1 -1
  270. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -1
  271. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +1 -1
  272. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +1 -1
  273. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -1
  274. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +1 -1
  275. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +1 -1
  276. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +1 -1
  277. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +1 -1
  278. package/lib/desy-nav/components/menubar/menubar.component.d.ts +1 -8
  279. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
  280. package/lib/desy-nav/components/nav/nav.component.d.ts +1 -1
  281. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +1 -1
  282. package/lib/desy-nav/components/notification/notification.component.d.ts +1 -1
  283. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +2 -1
  284. package/lib/desy-nav/desy-nav.module.d.ts +29 -26
  285. package/lib/desy-nav/interfaces/header-skiplink-data.d.ts +7 -0
  286. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +12 -7
  287. package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +1 -1
  288. package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +1 -1
  289. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +1 -1
  290. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +1 -1
  291. package/lib/desy-tables/components/table/table.component.d.ts +1 -1
  292. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +1 -1
  293. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +1 -1
  294. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +1 -1
  295. package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
  296. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -56
  297. package/lib/desy-tables/directives/cell.directive.d.ts +1 -4
  298. package/lib/desy-tables/directives/row.directive.d.ts +1 -8
  299. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
  300. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  301. package/lib/desy-views/components/accordion/accordion.component.d.ts +1 -1
  302. package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +1 -1
  303. package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +1 -1
  304. package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +1 -1
  305. package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
  306. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +1 -1
  307. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +1 -1
  308. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +1 -1
  309. package/lib/desy-views/components/description-list/description-list.component.d.ts +1 -1
  310. package/lib/desy-views/components/description-list/term/term.component.d.ts +1 -1
  311. package/lib/desy-views/components/details/details.component.d.ts +1 -1
  312. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +1 -1
  313. package/lib/desy-views/components/item/item.component.d.ts +2 -1
  314. package/lib/desy-views/components/media-object/media-object.component.d.ts +1 -1
  315. package/lib/desy-views/components/spinner/spinner.component.d.ts +1 -1
  316. package/lib/desy-views/components/status/status.component.d.ts +3 -1
  317. package/lib/desy-views/components/status-item/status-item.component.d.ts +1 -1
  318. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +1 -1
  319. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +1 -1
  320. package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -1
  321. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +1 -1
  322. package/lib/shared/components/accessibility/accessibility.component.d.ts +1 -4
  323. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +1 -9
  324. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -7
  325. package/lib/shared/components/content-base/content-base.component.d.ts +0 -3
  326. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +1 -5
  327. package/lib/shared/decorators/desy-content-child.decorator.d.ts +0 -11
  328. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +0 -4
  329. package/lib/shared/directives/attribute-change.directive.d.ts +2 -1
  330. package/lib/shared/directives/click-outside.directive.d.ts +1 -1
  331. package/lib/shared/directives/content-change.directive.d.ts +1 -5
  332. package/lib/shared/directives/custom-inner-content.directive.d.ts +1 -7
  333. package/lib/shared/directives/inner-content.directive.d.ts +1 -1
  334. package/lib/shared/pipes/external-href.pipe.d.ts +0 -4
  335. package/lib/shared/utils/search-utils.d.ts +0 -10
  336. package/lib/shared/utils/string-utils.d.ts +0 -7
  337. package/package.json +13 -19
  338. package/public-api.d.ts +4 -0
  339. package/esm2020/desy-angular.mjs +0 -5
  340. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +0 -115
  341. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -63
  342. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -126
  343. package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -32
  344. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -291
  345. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +0 -80
  346. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -59
  347. package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +0 -82
  348. package/esm2020/lib/desy-commons/desy-commons.module.mjs +0 -53
  349. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -240
  350. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -264
  351. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -52
  352. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
  353. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -52
  354. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -48
  355. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +0 -266
  356. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +0 -31
  357. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -72
  358. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +0 -124
  359. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +0 -29
  360. package/esm2020/lib/desy-forms/components/input/input.component.mjs +0 -99
  361. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
  362. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -53
  363. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -45
  364. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +0 -223
  365. package/esm2020/lib/desy-forms/components/label/label.component.mjs +0 -38
  366. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -185
  367. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +0 -270
  368. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -66
  369. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
  370. package/esm2020/lib/desy-forms/components/select/select.component.mjs +0 -93
  371. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -167
  372. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -397
  373. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
  374. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +0 -425
  375. package/esm2020/lib/desy-forms/desy-forms.module.mjs +0 -209
  376. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +0 -34
  377. package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +0 -9
  378. package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +0 -9
  379. package/esm2020/lib/desy-forms/services/checkbox.service.mjs +0 -61
  380. package/esm2020/lib/desy-forms/services/radio.service.mjs +0 -53
  381. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +0 -130
  382. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
  383. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
  384. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
  385. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
  386. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +0 -178
  387. package/esm2020/lib/desy-modals/desy-modals.module.mjs +0 -62
  388. package/esm2020/lib/desy-modals/interfaces/index.mjs +0 -8
  389. package/esm2020/lib/desy-modals/services/dialog.service.mjs +0 -114
  390. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -47
  391. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -62
  392. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -30
  393. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -19
  394. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +0 -71
  395. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -45
  396. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
  397. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -95
  398. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
  399. package/esm2020/lib/desy-nav/components/header/header.component.mjs +0 -103
  400. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -79
  401. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -49
  402. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -616
  403. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -45
  404. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
  405. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -113
  406. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
  407. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
  408. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -45
  409. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +0 -727
  410. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +0 -116
  411. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +0 -141
  412. package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -37
  413. package/esm2020/lib/desy-nav/desy-nav.module.mjs +0 -221
  414. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -167
  415. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
  416. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
  417. package/esm2020/lib/desy-tables/components/table/table.component.mjs +0 -78
  418. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -47
  419. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
  420. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
  421. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
  422. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -342
  423. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +0 -28
  424. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -81
  425. package/esm2020/lib/desy-tables/directives/row.directive.mjs +0 -29
  426. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -57
  427. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +0 -198
  428. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -39
  429. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -19
  430. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +0 -81
  431. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -81
  432. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -34
  433. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +0 -28
  434. package/esm2020/lib/desy-views/components/item/item.component.mjs +0 -121
  435. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +0 -115
  436. package/esm2020/lib/desy-views/components/status/status.component.mjs +0 -97
  437. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +0 -143
  438. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -37
  439. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +0 -199
  440. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -202
  441. package/esm2020/lib/desy-views/services/alert.service.mjs +0 -88
  442. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +0 -45
  443. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +0 -24
  444. package/esm2020/lib/shared/decorators/desy-content-child.decorator.mjs +0 -41
  445. package/esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -19
  446. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +0 -45
  447. package/esm2020/lib/shared/directives/click-outside.directive.mjs +0 -40
  448. package/esm2020/lib/shared/directives/content-change.directive.mjs +0 -45
  449. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +0 -60
  450. package/esm2020/lib/shared/directives/inner-content.directive.mjs +0 -37
  451. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +0 -32
  452. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +0 -20
  453. package/esm2020/lib/shared/shared.module.mjs +0 -99
  454. package/esm2020/lib/shared/utils/search-utils.mjs +0 -78
  455. package/esm2020/lib/shared/utils/string-utils.mjs +0 -18
  456. package/esm2020/public-api.mjs +0 -221
  457. package/fesm2015/desy-angular.mjs +0 -11752
  458. package/fesm2015/desy-angular.mjs.map +0 -1
  459. package/fesm2020/desy-angular.mjs.map +0 -1
  460. package/lib/desy-forms/models/checkbox-service-item.component.d.ts +0 -13
  461. package/lib/desy-forms/models/radio-service-item.component.d.ts +0 -12
  462. package/lib/desy-forms/services/checkbox.service.d.ts +0 -14
  463. package/lib/desy-forms/services/radio.service.d.ts +0 -13
  464. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/content-data.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/description-data.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/divider-data.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/icon-data.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/title-data.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/accesibility-data.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/error-message-data.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/fieldset-data.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/hint-data.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-data.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/label-data.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/legend-data.mjs +0 -0
  487. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-button-data.mjs +0 -0
  488. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-data.mjs +0 -0
  489. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -0
  490. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-options.mjs +0 -0
  491. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -0
  492. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -0
  493. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/error-summary-data.mjs +0 -0
  494. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/footer-data.mjs +0 -0
  495. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -0
  496. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -0
  497. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -0
  498. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -0
  499. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -0
  500. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/index.mjs +0 -0
  501. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -0
  502. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -0
  503. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -0
  504. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -0
  505. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation.mjs +0 -0
  506. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -0
  507. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -0
  508. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -0
  509. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -0
  510. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -0
  511. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -0
  512. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item.mjs +0 -0
  513. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -0
  514. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item.data.mjs +0 -0
  515. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-items-data.mjs +0 -0
  516. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-options.mjs +0 -0
  517. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/index.mjs +0 -0
  518. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -0
  519. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/cell-data.mjs +0 -0
  520. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/head-cell-data.mjs +0 -0
  521. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/index.mjs +0 -0
  522. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -0
  523. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/row-data.mjs +0 -0
  524. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/wrapper-data.mjs +0 -0
  525. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-header.data.mjs +0 -0
  526. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-item.data.mjs +0 -0
  527. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/alert-options.mjs +0 -0
  528. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/description-item.data.mjs +0 -0
  529. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/index.mjs +0 -0
  530. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/open-alert-result.mjs +0 -0
  531. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-data.mjs +0 -0
  532. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-icon-data.mjs +0 -0
  533. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-item-title-data.mjs +0 -0
  534. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-items-data.mjs +0 -0
  535. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -0
  536. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/term-definition.data.mjs +0 -0
  537. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  538. /package/{esm2020 → esm2022}/lib/shared/interfaces/accesibility-data.mjs +0 -0
  539. /package/{esm2020 → esm2022}/lib/shared/utils/focus-utils.mjs +0 -0
@@ -0,0 +1,200 @@
1
+ import { ChangeDetectorRef, Component, ContentChildren, ElementRef, HostBinding, Input, QueryList, 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 { MediaMatcher } from '@angular/cdk/layout';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/layout";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "../../../shared/directives/custom-inner-content.directive";
10
+ import * as i4 from "../../../shared/pipes/make-html-list.pipe";
11
+ export class TabsComponent extends AccessibilityComponent {
12
+ constructor(changeDetector, media) {
13
+ super();
14
+ this.changeDetector = changeDetector;
15
+ this.currentTab = 0;
16
+ this.mobileQuery = media.matchMedia("(max-width: 600px)");
17
+ this.queryListener = () => changeDetector.detectChanges();
18
+ this.mobileQuery.addEventListener('change', this.queryListener);
19
+ }
20
+ ngOnChanges(changes) {
21
+ this.classes = this.classes ? 'c-tabs ' + this.classes : 'c-tabs';
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
+ ngAfterViewInit() {
38
+ if (this.items) {
39
+ const item = this.getItems();
40
+ this.selectTab(item.findIndex(value => !value.disabled));
41
+ }
42
+ this.changeDetector.detectChanges();
43
+ }
44
+ getItems() {
45
+ const items = (this.itemComponents.length > 0) ? this.itemComponents.toArray() : this.items;
46
+ return items;
47
+ }
48
+ getItemPanel(tab) {
49
+ let panel;
50
+ const items = this.getItems();
51
+ const item = items[tab];
52
+ if (item instanceof TabItemComponent) {
53
+ panel = item.panelComponent;
54
+ }
55
+ return panel;
56
+ }
57
+ getIdPrefix() {
58
+ if (this.idPrefix) {
59
+ return this.idPrefix;
60
+ }
61
+ }
62
+ getItemId(index) {
63
+ let id;
64
+ const item = this.getItems();
65
+ if (item[index].id) {
66
+ id = item[index].id;
67
+ }
68
+ else {
69
+ id = this.getIdPrefix() + '-' + index;
70
+ }
71
+ return id;
72
+ }
73
+ isDisabled(item) {
74
+ return item.disabled ? true : null;
75
+ }
76
+ selectTab(i) {
77
+ this.currentTab = i;
78
+ const currentItem = this.getItems()[i];
79
+ this.currentPanel = currentItem instanceof TabItemComponent ? currentItem.panelComponent : currentItem.panel;
80
+ this.tabSrOnly.nativeElement.innerHTML = this.tabSelectorContentWrapper.toArray()[this.currentTab].nativeElement.innerHTML;
81
+ }
82
+ focusFirstTab(event) {
83
+ if (event) {
84
+ event.preventDefault();
85
+ }
86
+ const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
87
+ enabledTabs[0].nativeElement.focus();
88
+ }
89
+ focusLastTab(event) {
90
+ if (event) {
91
+ event.preventDefault();
92
+ }
93
+ const enabledTabs = this.tabSelectors.filter((item, index) => !item[index].disabled);
94
+ enabledTabs[enabledTabs.length - 1].nativeElement.focus();
95
+ }
96
+ focusNextTab(focusedTab) {
97
+ const item = this.getItems();
98
+ let nextTab = (focusedTab + 1) % item.length;
99
+ while (nextTab !== focusedTab) {
100
+ if (!item[nextTab].disabled) {
101
+ this.tabSelectors.find((i, index) => index === nextTab).nativeElement.focus();
102
+ break;
103
+ }
104
+ nextTab = (nextTab + 1) % item.length;
105
+ }
106
+ }
107
+ focusPreviousTab(focusedTab) {
108
+ const item = this.getItems();
109
+ let previousTab = (focusedTab - 1 + item.length) % item.length;
110
+ while (previousTab !== focusedTab) {
111
+ if (!item[previousTab].disabled) {
112
+ this.tabSelectors.find((i, index) => index === previousTab).nativeElement.focus();
113
+ break;
114
+ }
115
+ previousTab = (previousTab - 1 + item.length) % item.length;
116
+ }
117
+ }
118
+ getPanelContent(tab) {
119
+ const item = this.getItems();
120
+ return item[tab].panel && item[tab].panel.text ? `<p>${StringUtils.escapeHtml(item[tab].panel.text)}</p>` : null;
121
+ }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MediaMatcher }], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TabsComponent, decorators: [{
126
+ type: Component,
127
+ 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>" }]
128
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.MediaMatcher }]; }, propDecorators: { itemComponents: [{
129
+ type: ContentChildren,
130
+ args: [TabItemComponent]
131
+ }], tabSelectors: [{
132
+ type: ViewChildren,
133
+ args: ['tabSelector']
134
+ }], tabSelectorContentWrapper: [{
135
+ type: ViewChildren,
136
+ args: ['tabSelectorContentWrapper']
137
+ }], tabSrOnly: [{
138
+ type: ViewChild,
139
+ args: ['tabSrOnly']
140
+ }], id: [{
141
+ type: Input
142
+ }], idPrefix: [{
143
+ type: Input
144
+ }], headingLevel: [{
145
+ type: Input
146
+ }], title: [{
147
+ type: Input
148
+ }], tablistAriaLabel: [{
149
+ type: Input
150
+ }], items: [{
151
+ type: Input
152
+ }], classes: [{
153
+ type: Input
154
+ }, {
155
+ type: HostBinding,
156
+ args: ['class']
157
+ }], idData: [{
158
+ type: HostBinding,
159
+ args: ['attr.id']
160
+ }], roleData: [{
161
+ type: HostBinding,
162
+ args: ['attr.role']
163
+ }], ariaDescribedbyData: [{
164
+ type: HostBinding,
165
+ args: ['attr.aria-describedby']
166
+ }], ariaErrormessageData: [{
167
+ type: HostBinding,
168
+ args: ['attr.aria-errormessage']
169
+ }], ariaLabelData: [{
170
+ type: HostBinding,
171
+ args: ['attr.aria-label']
172
+ }], ariaLabelledbyData: [{
173
+ type: HostBinding,
174
+ args: ['attr.aria-labelledby']
175
+ }], ariaHiddenData: [{
176
+ type: HostBinding,
177
+ args: ['attr.aria-hidden']
178
+ }], ariaDisabledData: [{
179
+ type: HostBinding,
180
+ args: ['attr.aria-disabled']
181
+ }], ariaControlsData: [{
182
+ type: HostBinding,
183
+ args: ['attr.aria-controls']
184
+ }], ariaCurrentData: [{
185
+ type: HostBinding,
186
+ args: ['attr.aria-current']
187
+ }], ariaLiveData: [{
188
+ type: HostBinding,
189
+ args: ['attr.aria-live']
190
+ }], ariaExpandedData: [{
191
+ type: HostBinding,
192
+ args: ['attr.aria-expanded']
193
+ }], ariaHaspopupData: [{
194
+ type: HostBinding,
195
+ args: ['attr.aria-haspopup']
196
+ }], tabindexData: [{
197
+ type: HostBinding,
198
+ args: ['attr.tabindex']
199
+ }] } });
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNVLGlCQUFpQixFQUNoQyxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQU1uRCxNQUFNLE9BQU8sYUFBYyxTQUFRLHNCQUFzQjtJQXdDdkQsWUFBb0IsY0FBaUMsRUFBRSxLQUFtQjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURVLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQU5yRCxlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBUWIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFR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QUFXO3VCQUFDLGlCQUFpQjtnQkFDTyxrQkFBa0I7c0JBQXRELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUNGLGNBQWM7c0JBQTlDLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNJLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0UsZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDQyxlQUFlO3NCQUFoRCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFDRCxZQUFZO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFDTSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNFLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0gsWUFBWTtzQkFBekMsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjY2Vzc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHsgVGFic0l0ZW1zRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGFiSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdGFiLWl0ZW0vdGFiLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LXRhYnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVGFiSXRlbUNvbXBvbmVudCkgaXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxUYWJJdGVtQ29tcG9uZW50PjtcbiAgQFZpZXdDaGlsZHJlbigndGFiU2VsZWN0b3InKSB0YWJTZWxlY3RvcnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZHJlbigndGFiU2VsZWN0b3JDb250ZW50V3JhcHBlcicpIHRhYlNlbGVjdG9yQ29udGVudFdyYXBwZXI6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcbiAgQFZpZXdDaGlsZCgndGFiU3JPbmx5JykgdGFiU3JPbmx5OiBFbGVtZW50UmVmO1xuXG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgaGVhZGluZ0xldmVsOiBudW1iZXI7XG4gIFxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSB0YWJsaXN0QXJpYUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBUYWJzSXRlbXNEYXRhW107XG4gIFxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NlczogYW55O1xuXG4gIC8vQWNjZXNzaWJpbGl0eVxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXJyb3JtZXNzYWdlJykgYXJpYUVycm9ybWVzc2FnZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBhcmlhTGFiZWxEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJykgYXJpYUhpZGRlbkRhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKSBhcmlhRGlzYWJsZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJykgYXJpYUNvbnRyb2xzRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jdXJyZW50JykgYXJpYUN1cnJlbnREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxpdmUnKSBhcmlhTGl2ZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKSBhcmlhRXhwYW5kZWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJykgYXJpYUhhc3BvcHVwRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleERhdGE6IGFueTtcblxuICBjdXJyZW50VGFiID0gMDtcbiAgY3VycmVudFBhbmVsO1xuXG4gIG1vYmlsZVF1ZXJ5OiBNZWRpYVF1ZXJ5TGlzdDtcbiAgcHJpdmF0ZSBxdWVyeUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBtZWRpYTogTWVkaWFNYXRjaGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLm1vYmlsZVF1ZXJ5ID0gbWVkaWEubWF0Y2hNZWRpYShcIihtYXgtd2lkdGg6IDYwMHB4KVwiKTtcbiAgICB0aGlzLnF1ZXJ5TGlzdGVuZXIgPSAoKSA9PiBjaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tb2JpbGVRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLnF1ZXJ5TGlzdGVuZXIpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NlcyA9IHRoaXMuY2xhc3NlcyA/ICdjLXRhYnMgJyArIHRoaXMuY2xhc3NlcyA6ICdjLXRhYnMnO1xuICAgIHRoaXMuaWREYXRhID0gdGhpcy5pZCA/IHRoaXMuaWQgOiBudWxsO1xuICAgIHRoaXMucm9sZURhdGEgPSB0aGlzLnJvbGUgPyB0aGlzLnJvbGUgOiBudWxsO1xuICAgIHRoaXMuYXJpYURlc2NyaWJlZGJ5RGF0YSA9IHRoaXMuYXJpYURlc2NyaWJlZEJ5ID8gdGhpcy5hcmlhRGVzY3JpYmVkQnkgOiBudWxsO1xuICAgIHRoaXMuYXJpYUVycm9ybWVzc2FnZURhdGEgPSB0aGlzLmFyaWFFcnJvck1lc3NhZ2UgPyB0aGlzLmFyaWFFcnJvck1lc3NhZ2UgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxhYmVsRGF0YSA9IHRoaXMuYXJpYUxhYmVsID8gdGhpcy5hcmlhTGFiZWwgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxhYmVsbGVkYnlEYXRhID0gdGhpcy5hcmlhTGFiZWxsZWRCeSA/IHRoaXMuYXJpYUxhYmVsbGVkQnkgOiBudWxsO1xuICAgIHRoaXMuYXJpYUhpZGRlbkRhdGEgPSB0aGlzLmFyaWFIaWRkZW4gPyB0aGlzLmFyaWFIaWRkZW4gOiBudWxsO1xuICAgIHRoaXMuYXJpYURpc2FibGVkRGF0YSA9IHRoaXMuYXJpYURpc2FibGVkID8gdGhpcy5hcmlhRGlzYWJsZWQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUNvbnRyb2xzRGF0YSA9IHRoaXMuYXJpYUNvbnRyb2xzID8gdGhpcy5hcmlhQ29udHJvbHMgOiBudWxsO1xuICAgIHRoaXMuYXJpYUN1cnJlbnREYXRhID0gdGhpcy5hcmlhQ3VycmVudCA/IHRoaXMuYXJpYUN1cnJlbnQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUxpdmVEYXRhID0gdGhpcy5hcmlhTGl2ZSA/IHRoaXMuYXJpYUxpdmUgOiBudWxsO1xuICAgIHRoaXMuYXJpYUV4cGFuZGVkRGF0YSA9IHRoaXMuYXJpYUV4cGFuZGVkID8gdGhpcy5hcmlhRXhwYW5kZWQgOiBudWxsO1xuICAgIHRoaXMuYXJpYUhhc3BvcHVwRGF0YSA9IHRoaXMuYXJpYUhhc1BvcHVwID8gdGhpcy5hcmlhSGFzUG9wdXAgOiBudWxsO1xuICAgIHRoaXMudGFiaW5kZXhEYXRhID0gdGhpcy50YWJpbmRleCA/IHRoaXMudGFiaW5kZXggOiBudWxsO1xuICB9XG4gIFxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYodGhpcy5pdGVtcyl7XG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgICAgdGhpcy5zZWxlY3RUYWIoaXRlbS5maW5kSW5kZXgodmFsdWUgPT4gIXZhbHVlLmRpc2FibGVkKSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0SXRlbXMoKTogVGFic0l0ZW1zRGF0YVtdfFRhYkl0ZW1Db21wb25lbnRbXSB7XG4gICAgY29uc3QgaXRlbXMgPSAgKHRoaXMuaXRlbUNvbXBvbmVudHMubGVuZ3RoID4gMCkgPyB0aGlzLml0ZW1Db21wb25lbnRzLnRvQXJyYXkoKSA6IHRoaXMuaXRlbXM7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgZ2V0SXRlbVBhbmVsKHRhYjogbnVtYmVyKTogVGFiSXRlbUNvbXBvbmVudCB7XG4gICAgbGV0IHBhbmVsO1xuICAgIGNvbnN0IGl0ZW1zID0gIHRoaXMuZ2V0SXRlbXMoKTtcbiAgICBjb25zdCBpdGVtID0gaXRlbXNbdGFiXTtcbiAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFRhYkl0ZW1Db21wb25lbnQpe1xuICAgICAgcGFuZWwgPSBpdGVtLnBhbmVsQ29tcG9uZW50O1xuICAgIH1cbiAgICByZXR1cm4gcGFuZWw7XG4gIH1cblxuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaWRQcmVmaXgpIHtcbiAgICAgIHJldHVybiB0aGlzLmlkUHJlZml4O1xuICAgIH1cbiAgfVxuXG4gIGdldEl0ZW1JZChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaWQ7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICBpZiAoaXRlbVtpbmRleF0uaWQpIHtcbiAgICAgIGlkID0gaXRlbVtpbmRleF0uaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkID0gdGhpcy5nZXRJZFByZWZpeCgpICsgJy0nICsgaW5kZXg7XG4gICAgfVxuICAgIHJldHVybiBpZDtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoaXRlbTogVGFic0l0ZW1zRGF0YSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuXG4gIHNlbGVjdFRhYiggaTogbnVtYmVyICk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRhYiA9IGk7XG4gICAgY29uc3QgY3VycmVudEl0ZW0gPSB0aGlzLmdldEl0ZW1zKClbaV07XG4gICAgdGhpcy5jdXJyZW50UGFuZWwgPSBjdXJyZW50SXRlbSBpbnN0YW5jZW9mIFRhYkl0ZW1Db21wb25lbnQgPyBjdXJyZW50SXRlbS5wYW5lbENvbXBvbmVudCA6IGN1cnJlbnRJdGVtLnBhbmVsO1xuICAgIHRoaXMudGFiU3JPbmx5Lm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy50YWJTZWxlY3RvckNvbnRlbnRXcmFwcGVyLnRvQXJyYXkoKVt0aGlzLmN1cnJlbnRUYWJdLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MO1xuICB9XG5cbiAgZm9jdXNGaXJzdFRhYihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5hYmxlZFRhYnMgPSB0aGlzLnRhYlNlbGVjdG9ycy5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiAhaXRlbVtpbmRleF0uZGlzYWJsZWQpO1xuICAgIGVuYWJsZWRUYWJzWzBdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzTGFzdFRhYihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZW5hYmxlZFRhYnMgPSB0aGlzLnRhYlNlbGVjdG9ycy5maWx0ZXIoKGl0ZW0sIGluZGV4KSA9PiAhaXRlbVtpbmRleF0uZGlzYWJsZWQpO1xuICAgIGVuYWJsZWRUYWJzW2VuYWJsZWRUYWJzLmxlbmd0aCAtIDFdLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGZvY3VzTmV4dFRhYihmb2N1c2VkVGFiOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGxldCBuZXh0VGFiID0gKGZvY3VzZWRUYWIgKyAxKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIHdoaWxlIChuZXh0VGFiICAhPT0gZm9jdXNlZFRhYikge1xuICAgICAgaWYgKCFpdGVtW25leHRUYWJdLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMudGFiU2VsZWN0b3JzLmZpbmQoKGksIGluZGV4KSA9PiBpbmRleCA9PT0gbmV4dFRhYikubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIG5leHRUYWIgPSAobmV4dFRhYiArIDEpICUgaXRlbS5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNQcmV2aW91c1RhYihmb2N1c2VkVGFiOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGxldCBwcmV2aW91c1RhYiA9IChmb2N1c2VkVGFiIC0gMSArIGl0ZW0ubGVuZ3RoKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIHdoaWxlIChwcmV2aW91c1RhYiAgIT09IGZvY3VzZWRUYWIpIHtcbiAgICAgIGlmICghaXRlbVtwcmV2aW91c1RhYl0uZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy50YWJTZWxlY3RvcnMuZmluZCgoaSwgaW5kZXgpID0+IGluZGV4ID09PSBwcmV2aW91c1RhYikubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHByZXZpb3VzVGFiID0gKHByZXZpb3VzVGFiIC0gMSArIGl0ZW0ubGVuZ3RoKSAlIGl0ZW0ubGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIGdldFBhbmVsQ29udGVudCh0YWI6IG51bWJlcik6IHN0cmluZyB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICByZXR1cm4gaXRlbVt0YWJdLnBhbmVsICYmIGl0ZW1bdGFiXS5wYW5lbC50ZXh0ID8gYDxwPiR7IFN0cmluZ1V0aWxzLmVzY2FwZUh0bWwoaXRlbVt0YWJdLnBhbmVsLnRleHQpIH08L3A+YCA6IG51bGw7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZVwiPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICA8aDEgKm5nU3dpdGNoQ2FzZT1cIjFcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMT5cbiAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMj5cbiAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMz5cbiAgICA8aDQgKm5nU3dpdGNoQ2FzZT1cIjRcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oND5cbiAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oNT5cbiAgICA8aDIgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+e3t0aXRsZX19PC9oMj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhdGl0bGVcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2gxPlxuICAgICAgPGgyICpuZ1N3aXRjaENhc2U9XCIyXCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDI+XG4gICAgICA8aDMgKm5nU3dpdGNoQ2FzZT1cIjNcIiBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMz5cbiAgICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiIGNsYXNzPVwibGc6aGlkZGVuIG1iLXNtIHRleHQtc21cIj5Db250ZW5pZG88L2g0PlxuICAgICAgPGg1ICpuZ1N3aXRjaENhc2U9XCI1XCIgY2xhc3M9XCJsZzpoaWRkZW4gbWItc20gdGV4dC1zbVwiPkNvbnRlbmlkbzwvaDU+XG4gICAgICA8aDIgKm5nU3dpdGNoRGVmYXVsdCBjbGFzcz1cImxnOmhpZGRlbiBtYi1zbSB0ZXh0LXNtXCI+Q29udGVuaWRvPC9oMj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiZ2V0SXRlbXMoKVwiPlxuICA8ZGl2IGNsYXNzPVwiYy10YWJzIGxnOmZsZXggbGc6ZmxleC13cmFwIG1iLVstMC4xMjVyZW1dXCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT10YWJsaXN0QXJpYUxhYmVsPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBnZXRJdGVtcygpOyBpbmRleCBhcyBpXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gI3RhYlNlbGVjdG9yXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRhYihpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uaG9tZSk9XCJmb2N1c0ZpcnN0VGFiKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJmb2N1c0xhc3RUYWIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dsZWZ0KT1cImZvY3VzUHJldmlvdXNUYWIoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93cmlnaHQpPVwiZm9jdXNOZXh0VGFiKGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFyaWEtc2VsZWN0ZWQ6Ymctd2hpdGUgYXJpYS1zZWxlY3RlZDpyb3VuZGVkLXQtWzAuMTg3NXJlbV0gYXJpYS1zZWxlY3RlZDpib3JkZXItYi0wIHJlbGF0aXZlIGZsZXggaXRlbXMtY2VudGVyIHRleHQtYmxhY2sgdW5kZXJsaW5lIHRydW5jYXRlIGJvcmRlciBib3JkZXItdHJhbnNwYXJlbnQgYXJpYS1zZWxlY3RlZDpuby11bmRlcmxpbmUgcHktc20gbGc6cHgtbGcgbGc6cHktYmFzZSBob3Zlcjp0ZXh0LXByaW1hcnktYmFzZSBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3BhY2l0eS01MCBwb2ludGVyLWV2ZW50cy1ub25lJzogaXNEaXNhYmxlZChpdGVtKSwgJ2FyaWEtc2VsZWN0ZWQ6Ym9yZGVyLVtyZ2IoMTQ2XzE0OF8xNTUvMSldJyA6ICF0aGlzLm1vYmlsZVF1ZXJ5Lm1hdGNoZXN9XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJnZXRJdGVtSWQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwiKGl0ZW0ucm9sZSA/IHJvbGUgOiAndGFiJylcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiY3VycmVudFRhYiA9PT0gaSA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIml0ZW0uYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFiLScgKyBnZXRJdGVtSWQoaSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiKGN1cnJlbnRUYWIgIT09IGkgfHwgaXRlbS5kaXNhYmxlZCA/ICctMScgOiBudWxsKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiaXNEaXNhYmxlZChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJpc0Rpc2FibGVkKGl0ZW0pID8gJ3RydWUnIDogKGFyaWFEaXNhYmxlZCA/IGFyaWFEaXNhYmxlZCA6IG51bGwpXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAjdGFiU2VsZWN0b3JDb250ZW50V3JhcHBlciBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHBvaW50ZXItZXZlbnRzLW5vbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBpdGVtLmNvbnRlbnRDb21wb25lbnQsIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0fVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IFtjbGFzc109XCJbJ3AtYmFzZSBtdC1iYXNlIGxnOm10LTAgYm9yZGVyIGJvcmRlci1uZXV0cmFsLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOmJvcmRlci1ibGFjayBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cy1pbnB1dCBmb2N1czpyaW5nLTQgZm9jdXM6cmluZy13YXJuaW5nLWJhc2UnLCBjdXJyZW50UGFuZWw/LmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiJ3RhYi0nICsgZ2V0SXRlbUlkKGN1cnJlbnRUYWIpXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCIoY3VycmVudFBhbmVsPy5yb2xlID8gY3VycmVudFBhbmVsPy5yb2xlIDogJ3RhYnBhbmVsJylcIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImN1cnJlbnRQYW5lbD8uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiY3VycmVudFBhbmVsPy5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjdXJyZW50UGFuZWw/LmFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJnZXRJdGVtSWQoY3VycmVudFRhYilcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJjdXJyZW50UGFuZWw/LmFyaWFIaWRkZW5cIlxuICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImN1cnJlbnRQYW5lbD8uYXJpYURpc2FibGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJjdXJyZW50UGFuZWw/LmFyaWFDb250cm9sc1wiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJjdXJyZW50UGFuZWw/LmFyaWFDdXJyZW50XCJcbiAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImN1cnJlbnRQYW5lbD8uYXJpYUxpdmVcIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImN1cnJlbnRQYW5lbD8uYXJpYUV4cGFuZGVkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJjdXJyZW50UGFuZWw/LmFyaWFIYXNQb3B1cFwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cIihjdXJyZW50UGFuZWw/LnRhYmluZGV4ID8gY3VycmVudFBhbmVsPy50YWJpbmRleCA6ICcwJylcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJoZWFkaW5nTGV2ZWxcIj5cbiAgICAgIDxoMSAqbmdTd2l0Y2hDYXNlPVwiMVwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDE+XG4gICAgICA8aDIgKm5nU3dpdGNoQ2FzZT1cIjJcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2gyPlxuICAgICAgPGgzICpuZ1N3aXRjaENhc2U9XCIzXCIgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMz5cbiAgICAgIDxoNCAqbmdTd2l0Y2hDYXNlPVwiNFwiICN0YWJTck9ubHkgY2xhc3M9XCJsZzpzci1vbmx5IGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBtYi1iYXNlIGxnOm1iLTAgZm9udC1zZW1pYm9sZFwiPjwvaDQ+XG4gICAgICA8aDUgKm5nU3dpdGNoQ2FzZT1cIjVcIiAjdGFiU3JPbmx5IGNsYXNzPVwibGc6c3Itb25seSBpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgbWItYmFzZSBsZzptYi0wIGZvbnQtc2VtaWJvbGRcIj48L2g1PlxuICAgICAgPGgzICpuZ1N3aXRjaERlZmF1bHQgI3RhYlNyT25seSBjbGFzcz1cImxnOnNyLW9ubHkgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIG1iLWJhc2UgbGc6bWItMCBmb250LXNlbWlib2xkXCI+PC9oMz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGdldEl0ZW1QYW5lbChjdXJyZW50VGFiKSwgdGVtcGxhdGU6IGN1cnJlbnRQYW5lbD8uaHRtbCwgaHRtbDogZ2V0UGFuZWxDb250ZW50KGN1cnJlbnRUYWIpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj4iXX0=
@@ -2,11 +2,11 @@ import { Component } from '@angular/core';
2
2
  import { ContentBaseComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TooltipContentComponent extends ContentBaseComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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" }); }
5
7
  }
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: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipContentComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-tooltip-content', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
11
  }] });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGVudC90b29sdGlwLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9COztvSEFBcEQsdUJBQXVCO3dHQUF2Qix1QkFBdUIsbUZDUHBDLCtFQUdBOzJGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAtY29udGVudC90b29sdGlwLWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS12aWV3cy9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1uRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9COzhHQUFwRCx1QkFBdUI7a0dBQXZCLHVCQUF1QixtRkNQcEMsK0VBR0E7OzJGRElhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRlbnRCYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcC1jb250ZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbnRlbnRDb21wb25lbnQgZXh0ZW5kcyBDb250ZW50QmFzZUNvbXBvbmVudCB7XG59XG4iLCI8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,206 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, ContentChildren, ElementRef, HostBinding, Input, TemplateRef, 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 { inlinePositioning } from 'tippy.js';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "../../../shared/directives/custom-inner-content.directive";
12
+ import * as i3 from "ngx-tippy-wrapper";
13
+ import * as i4 from "../../../shared/pipes/make-html-list.pipe";
14
+ export class TooltipComponent extends AccessibilityComponent {
15
+ static { this.KEY_CODE_ESC = 'Escape'; }
16
+ constructor(changeDetectorRef) {
17
+ super();
18
+ this.changeDetectorRef = changeDetectorRef;
19
+ this.hasContent = true;
20
+ this.hasIconComponentContent = true;
21
+ }
22
+ ngOnChanges(changes) {
23
+ this.classes = this.classes ? this.classes : null;
24
+ this.idData = this.id ? this.id : null;
25
+ this.roleData = this.role ? this.role : null;
26
+ this.ariaDescribedbyData = this.ariaDescribedBy ? this.ariaDescribedBy : null;
27
+ this.ariaErrormessageData = this.ariaErrorMessage ? this.ariaErrorMessage : null;
28
+ this.ariaLabelData = this.ariaLabel ? this.ariaLabel : null;
29
+ this.ariaLabelledbyData = this.ariaLabelledBy ? this.ariaLabelledBy : null;
30
+ this.ariaHiddenData = this.ariaHidden ? this.ariaHidden : null;
31
+ this.ariaDisabledData = this.ariaDisabled ? this.ariaDisabled : null;
32
+ this.ariaControlsData = this.ariaControls ? this.ariaControls : null;
33
+ this.ariaCurrentData = this.ariaCurrent ? this.ariaCurrent : null;
34
+ this.ariaLiveData = this.ariaLive ? this.ariaLive : null;
35
+ this.ariaExpandedData = this.ariaExpanded ? this.ariaExpanded : null;
36
+ this.ariaHaspopupData = this.ariaHasPopup ? this.ariaHasPopup : null;
37
+ this.tabindexData = this.tabindex ? this.tabindex : null;
38
+ }
39
+ ngAfterContentInit() {
40
+ const contentTooltip = this.tooltipContent.nativeElement;
41
+ this.tippyProperties = {
42
+ placement: 'top',
43
+ inlinePositioning: true,
44
+ content: contentTooltip,
45
+ allowHTML: true,
46
+ trigger: 'mouseenter focus',
47
+ hideOnClick: false,
48
+ theme: '',
49
+ plugins: [{
50
+ name: 'hideOnEsc',
51
+ defaultValue: true,
52
+ fn({ hide }) {
53
+ function onKeyDown(event) {
54
+ if (event.key === TooltipComponent.KEY_CODE_ESC) {
55
+ hide();
56
+ }
57
+ }
58
+ return {
59
+ onShow() {
60
+ document.addEventListener('keydown', onKeyDown);
61
+ },
62
+ onHide() {
63
+ document.removeEventListener('keydown', onKeyDown);
64
+ },
65
+ };
66
+ },
67
+ }, inlinePositioning],
68
+ role: 'tooltip',
69
+ aria: {
70
+ content: this.complex ? 'describedby' : 'labelledby',
71
+ },
72
+ };
73
+ }
74
+ getIdButton() {
75
+ return this.id + '-button';
76
+ }
77
+ getIdTooltip() {
78
+ return this.id + '-tooltip';
79
+ }
80
+ handleEmptyContent(isEmpty) {
81
+ this.hasContent = !isEmpty;
82
+ this.changeDetectorRef.detectChanges();
83
+ }
84
+ handleEmptyIconContent(isEmpty) {
85
+ this.hasIconComponentContent = !isEmpty;
86
+ this.changeDetectorRef.detectChanges();
87
+ }
88
+ getMainContent() {
89
+ let content;
90
+ if (this.html) {
91
+ content = this.html;
92
+ }
93
+ else if (this.text) {
94
+ content = `<p>${this.text}</p>`;
95
+ }
96
+ return content;
97
+ }
98
+ getIconContent(icon) {
99
+ let iconContent;
100
+ if (icon.html) {
101
+ iconContent = this.icon.html;
102
+ }
103
+ else if (icon.type === 'info') {
104
+ 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>';
105
+ }
106
+ else if (icon.type === 'alert') {
107
+ 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>';
108
+ }
109
+ else {
110
+ 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>';
111
+ }
112
+ return iconContent;
113
+ }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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
+ }
117
+ __decorate([
118
+ DesyContentChild(),
119
+ __metadata("design:type", ContentComponent)
120
+ ], TooltipComponent.prototype, "contentComponent", void 0);
121
+ __decorate([
122
+ DesyContentChild(),
123
+ __metadata("design:type", IconComponent)
124
+ ], TooltipComponent.prototype, "iconComponent", void 0);
125
+ __decorate([
126
+ DesyContentChild(),
127
+ __metadata("design:type", TooltipContentComponent)
128
+ ], TooltipComponent.prototype, "tooltipContentComponent", void 0);
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
130
+ type: Component,
131
+ 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" }]
132
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { contentComponent: [{
133
+ type: ContentChildren,
134
+ args: [ContentComponent]
135
+ }], iconComponent: [{
136
+ type: ContentChildren,
137
+ args: [IconComponent]
138
+ }], tooltipContentComponent: [{
139
+ type: ContentChildren,
140
+ args: [TooltipContentComponent]
141
+ }], tooltipContent: [{
142
+ type: ViewChild,
143
+ args: ['tooltipContent', { read: ElementRef, static: true }]
144
+ }], id: [{
145
+ type: Input
146
+ }], text: [{
147
+ type: Input
148
+ }], html: [{
149
+ type: Input
150
+ }], complex: [{
151
+ type: Input
152
+ }], classesTooltip: [{
153
+ type: Input
154
+ }], icon: [{
155
+ type: Input
156
+ }], caller: [{
157
+ type: Input
158
+ }], classes: [{
159
+ type: Input
160
+ }, {
161
+ type: HostBinding,
162
+ args: ['class']
163
+ }], idData: [{
164
+ type: HostBinding,
165
+ args: ['attr.id']
166
+ }], roleData: [{
167
+ type: HostBinding,
168
+ args: ['attr.role']
169
+ }], ariaDescribedbyData: [{
170
+ type: HostBinding,
171
+ args: ['attr.aria-describedby']
172
+ }], ariaErrormessageData: [{
173
+ type: HostBinding,
174
+ args: ['attr.aria-errormessage']
175
+ }], ariaLabelData: [{
176
+ type: HostBinding,
177
+ args: ['attr.aria-label']
178
+ }], ariaLabelledbyData: [{
179
+ type: HostBinding,
180
+ args: ['attr.aria-labelledby']
181
+ }], ariaHiddenData: [{
182
+ type: HostBinding,
183
+ args: ['attr.aria-hidden']
184
+ }], ariaDisabledData: [{
185
+ type: HostBinding,
186
+ args: ['attr.aria-disabled']
187
+ }], ariaControlsData: [{
188
+ type: HostBinding,
189
+ args: ['attr.aria-controls']
190
+ }], ariaCurrentData: [{
191
+ type: HostBinding,
192
+ args: ['attr.aria-current']
193
+ }], ariaLiveData: [{
194
+ type: HostBinding,
195
+ args: ['attr.aria-live']
196
+ }], ariaExpandedData: [{
197
+ type: HostBinding,
198
+ args: ['attr.aria-expanded']
199
+ }], ariaHaspopupData: [{
200
+ type: HostBinding,
201
+ args: ['attr.aria-haspopup']
202
+ }], tabindexData: [{
203
+ type: HostBinding,
204
+ args: ['attr.tabindex']
205
+ }] } });
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LXZpZXdzL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktdmlld3MvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDYSxpQkFBaUIsRUFDbkMsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUVyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7OztBQU03QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsc0JBQXNCO2FBRTFDLGlCQUFZLEdBQUcsUUFBUSxDQUFDO0lBMkN4QyxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBSHhELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBSS9CLENBQUM7SUFFRCxXQUFXLENB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QUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUV0RCxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUN5QixPQUFPO3NCQUFyQyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLE9BQU87Z0JBSUwsTUFBTTtzQkFBN0IsV0FBVzt1QkFBQyxTQUFTO2dCQUNJLFFBQVE7c0JBQWpDLFdBQVc7dUJBQUMsV0FBVztnQkFDYyxtQkFBbUI7c0JBQXhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUNHLG9CQUFvQjtzQkFBMUQsV0FBVzt1QkFBQyx3QkFBd0I7Z0JBQ0wsYUFBYTtzQkFBNUMsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBQ08sa0JBQWtCO3NCQUF0RCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFDRixjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDSSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNFLGdCQUFnQjtzQkFBbEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0MsZUFBZTtzQkFBaEQsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBQ0QsWUFBWTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBQ00sZ0JBQWdCO3NCQUFsRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDRSxnQkFBZ0I7c0JBQWxELFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNILFlBQVk7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Rlc3ktY29tbW9ucy9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWNvbkRhdGEgfSBmcm9tICcuLi8uLi8uLi9kZXN5LWNvbW1vbnMvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUb29sdGlwQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50L3Rvb2x0aXAtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVzeUNvbnRlbnRDaGlsZCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgaW5saW5lUG9zaXRpb25pbmcgfSBmcm9tICd0aXBweS5qcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktdG9vbHRpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IEtFWV9DT0RFX0VTQyA9ICdFc2NhcGUnO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb250ZW50Q29tcG9uZW50OiBDb250ZW50Q29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihJY29uQ29tcG9uZW50KSBpY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihUb29sdGlwQ29udGVudENvbXBvbmVudCkgdG9vbHRpcENvbnRlbnRDb21wb25lbnQ6IFRvb2x0aXBDb250ZW50Q29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBDb250ZW50JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgdG9vbHRpcENvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBodG1sOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbXBsZXg6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsYXNzZXNUb29sdGlwOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb246IEljb25EYXRhO1xuICBASW5wdXQoKSBjYWxsZXI6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc2VzOiBhbnk7XG4gIC8vIEBIb3N0QmluZGluZygnZGF0YS1tb2R1bGUnKSBkYXRhTW9kdWxlID0gXCJjLXRhYnNcIjtcblxuICAvL0FjY2Vzc2liaWxpdHlcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWREYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZURhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBhcmlhRGVzY3JpYmVkYnlEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWVycm9ybWVzc2FnZScpIGFyaWFFcnJvcm1lc3NhZ2VEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJykgYXJpYUxhYmVsRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbGxlZGJ5JykgYXJpYUxhYmVsbGVkYnlEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpIGFyaWFIaWRkZW5EYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJykgYXJpYURpc2FibGVkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jb250cm9scycpIGFyaWFDb250cm9sc0RhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY3VycmVudCcpIGFyaWFDdXJyZW50RGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1saXZlJykgYXJpYUxpdmVEYXRhOiBhbnk7XG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJykgYXJpYUV4cGFuZGVkRGF0YTogYW55O1xuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpIGFyaWFIYXNwb3B1cERhdGE6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXhEYXRhOiBhbnk7XG5cbiAgdGlwcHlQcm9wZXJ0aWVzOiBhbnk7XG4gIGhhc0NvbnRlbnQgPSB0cnVlO1xuICBoYXNJY29uQ29tcG9uZW50Q29udGVudCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NlcyA9IHRoaXMuY2xhc3NlcyA/IHRoaXMuY2xhc3NlcyA6IG51bGw7XG4gICAgdGhpcy5pZERhdGEgPSB0aGlzLmlkID8gdGhpcy5pZCA6IG51bGw7XG4gICAgdGhpcy5yb2xlRGF0YSA9IHRoaXMucm9sZSA/IHRoaXMucm9sZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGVzY3JpYmVkYnlEYXRhID0gdGhpcy5hcmlhRGVzY3JpYmVkQnkgPyB0aGlzLmFyaWFEZXNjcmliZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXJyb3JtZXNzYWdlRGF0YSA9IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA/IHRoaXMuYXJpYUVycm9yTWVzc2FnZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxEYXRhID0gdGhpcy5hcmlhTGFiZWwgPyB0aGlzLmFyaWFMYWJlbCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGFiZWxsZWRieURhdGEgPSB0aGlzLmFyaWFMYWJlbGxlZEJ5ID8gdGhpcy5hcmlhTGFiZWxsZWRCeSA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGlkZGVuRGF0YSA9IHRoaXMuYXJpYUhpZGRlbiA/IHRoaXMuYXJpYUhpZGRlbiA6IG51bGw7XG4gICAgdGhpcy5hcmlhRGlzYWJsZWREYXRhID0gdGhpcy5hcmlhRGlzYWJsZWQgPyB0aGlzLmFyaWFEaXNhYmxlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ29udHJvbHNEYXRhID0gdGhpcy5hcmlhQ29udHJvbHMgPyB0aGlzLmFyaWFDb250cm9scyA6IG51bGw7XG4gICAgdGhpcy5hcmlhQ3VycmVudERhdGEgPSB0aGlzLmFyaWFDdXJyZW50ID8gdGhpcy5hcmlhQ3VycmVudCA6IG51bGw7XG4gICAgdGhpcy5hcmlhTGl2ZURhdGEgPSB0aGlzLmFyaWFMaXZlID8gdGhpcy5hcmlhTGl2ZSA6IG51bGw7XG4gICAgdGhpcy5hcmlhRXhwYW5kZWREYXRhID0gdGhpcy5hcmlhRXhwYW5kZWQgPyB0aGlzLmFyaWFFeHBhbmRlZCA6IG51bGw7XG4gICAgdGhpcy5hcmlhSGFzcG9wdXBEYXRhID0gdGhpcy5hcmlhSGFzUG9wdXAgPyB0aGlzLmFyaWFIYXNQb3B1cCA6IG51bGw7XG4gICAgdGhpcy50YWJpbmRleERhdGEgPSB0aGlzLnRhYmluZGV4ID8gdGhpcy50YWJpbmRleCA6IG51bGw7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgY29udGVudFRvb2x0aXAgPSB0aGlzLnRvb2x0aXBDb250ZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgdGhpcy50aXBweVByb3BlcnRpZXMgPSB7XG4gICAgICBwbGFjZW1lbnQ6ICd0b3AnLFxuICAgICAgaW5saW5lUG9zaXRpb25pbmc6IHRydWUsXG4gICAgICBjb250ZW50OiBjb250ZW50VG9vbHRpcCxcbiAgICAgIGFsbG93SFRNTDogdHJ1ZSwgLy8gTWFrZSBzdXJlIHlvdSBhcmUgc2FuaXRpemluZyBhbnkgdXNlciBkYXRhIGlmIHJlbmRlcmluZyBIVE1MIHRvIHByZXZlbnQgWFNTIGF0dGFja3MuXG4gICAgICB0cmlnZ2VyOiAnbW91c2VlbnRlciBmb2N1cycsXG4gICAgICBoaWRlT25DbGljazogZmFsc2UsXG4gICAgICB0aGVtZTogJycsXG4gICAgICBwbHVnaW5zOiBbe1xuICAgICAgICBuYW1lOiAnaGlkZU9uRXNjJyxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgICAgICBmbih7IGhpZGUgfSk6IGFueSB7XG5cbiAgICAgICAgICBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFRvb2x0aXBDb21wb25lbnQuS0VZX0NPREVfRVNDKSB7XG4gICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25LZXlEb3duKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgfSwgaW5saW5lUG9zaXRpb25pbmddLFxuICAgICAgcm9sZTogJ3Rvb2x0aXAnLFxuICAgICAgYXJpYToge1xuICAgICAgICBjb250ZW50OiB0aGlzLmNvbXBsZXggPyAnZGVzY3JpYmVkYnknIDogJ2xhYmVsbGVkYnknLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0SWRCdXR0b24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZCArICctYnV0dG9uJztcbiAgfVxuXG4gIGdldElkVG9vbHRpcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkICsgJy10b29sdGlwJztcbiAgfVxuXG4gIGhhbmRsZUVtcHR5Q29udGVudChpc0VtcHR5OiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5oYXNDb250ZW50ID0gIWlzRW1wdHk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBoYW5kbGVFbXB0eUljb25Db250ZW50KGlzRW1wdHk6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc0ljb25Db21wb25lbnRDb250ZW50ID0gIWlzRW1wdHk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuXG4gIGdldE1haW5Db250ZW50KCk6IHN0cmluZyB7XG4gICAgbGV0IGNvbnRlbnQ7XG4gICAgaWYgKHRoaXMuaHRtbCkge1xuICAgICAgY29udGVudCA9IHRoaXMuaHRtbDtcbiAgICB9IGVsc2UgaWYgKHRoaXMudGV4dCkge1xuICAgICAgY29udGVudCA9IGA8cD4ke3RoaXMudGV4dH08L3A+YDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBnZXRJY29uQ29udGVudChpY29uOiBJY29uRGF0YSk6IHN0cmluZyB7XG4gICAgbGV0IGljb25Db250ZW50O1xuICAgIGlmIChpY29uLmh0bWwpIHtcbiAgICAgIGljb25Db250ZW50ID0gdGhpcy5pY29uLmh0bWw7XG4gICAgfSBlbHNlIGlmIChpY29uLnR5cGUgPT09ICdpbmZvJykge1xuICAgICAgaWNvbkNvbnRlbnQgPSAnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxNDAgMTQwXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBjbGFzcz1cInctNCBoLTQgdGV4dC1wcmltYXJ5LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkluZm9ybWFjacOzblwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTcuNSAxMDVhNy41IDcuNSAwIDAxLTE1IDBWNzBhNy41IDcuNSAwIDAxMTUgMHpNNzAgNTBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH0gZWxzZSBpZiAoaWNvbi50eXBlID09PSAnYWxlcnQnKSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LWFsZXJ0LWJhc2VcIiByb2xlPVwiaW1nXCIgYXJpYS1sYWJlbD1cIkFsZXJ0YVwiPjxwYXRoIGQ9XCJNMTM4LjQyIDExOC4yOWwtNTUtMTEwYTE1IDE1IDAgMDAtMjYuODQgMGwtNTUgMTEwQTE1IDE1IDAgMDAxNSAxNDBoMTEwYTE1IDE1IDAgMDAxMy40Mi0yMS43MXpNNjIuNSA1MGE3LjUgNy41IDAgMDExNSAwdjMwYTcuNSA3LjUgMCAwMS0xNSAwem03LjUgNzBhMTAgMTAgMCAxMTEwLTEwIDEwIDEwIDAgMDEtMTAgMTB6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz4nO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uQ29udGVudCA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQXl1ZGFcIj48cGF0aCBkPVwiTTcwIDBhNzAgNzAgMCAxMDcwIDcwQTcwLjA4IDcwLjA4IDAgMDA3MCAwem0wIDExNy41MWExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHptOS4xNy0zOS4wOGEyLjUgMi41IDAgMDAtMS42NyAyLjM2djEuNzFhNy41IDcuNSAwIDAxLTE1IDB2LTEwQTcuNSA3LjUgMCAwMTcwIDY1YTEyLjUgMTIuNSAwIDEwLTEyLjUtMTIuNSA3LjUgNy41IDAgMDEtMTUgMCAyNy41IDI3LjUgMCAxMTM2LjY3IDI1LjkzelwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+PC9zdmc+JztcbiAgICB9XG4gICAgcmV0dXJuIGljb25Db250ZW50O1xuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidGlwcHlQcm9wZXJ0aWVzXCIgW2F0dHIuaWRdPVwiZ2V0SWRCdXR0b24oKVwiXG4gICAgICBuZ3hUaXBweSBbdGlwcHlQcm9wc109XCJ0aXBweVByb3BlcnRpZXNcIlxuICAgICAgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZm9jdXM6Ymctd2FybmluZy1iYXNlIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpzaGFkb3ctb3V0bGluZS1mb2N1cyBmb2N1czp0ZXh0LWJsYWNrXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImdldElkQnV0dG9uKCkgKyAnICcgKyBnZXRJZFRvb2x0aXAoKVwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbnRlbnRDb21wb25lbnQsIGh0bWw6IGdldE1haW5Db250ZW50KCkgfVwiPjwvbmctY29udGFpbmVyPlxuICA8c3BhbiAqbmdJZj1cImhhc0NvbnRlbnQgJiYgKCAoaWNvbkNvbXBvbmVudCkgfHwgKGljb24pIClcIiBjbGFzcz1cImlubGluZS1ibG9jayB3LTEuNVwiPjwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJpY29uQ29tcG9uZW50XCIgY2xhc3M9XCJpbmxpbmUtYmxvY2tcIj5cbiAgICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGljb25Db21wb25lbnQgfVwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNJY29uQ29tcG9uZW50Q29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiaWNvbkNvbXBvbmVudC50eXBlXCI+XG4gICAgICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIidpbmZvJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDE0MCAxNDBcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGNsYXNzPVwidy00IGgtNCB0ZXh0LXByaW1hcnktYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiSW5mb3JtYWNpw7NuXCI+PHBhdGggZD1cIk03MCAwYTcwIDcwIDAgMTA3MCA3MEE3MC4wOCA3MC4wOCAwIDAwNzAgMHptNy41IDEwNWE3LjUgNy41IDAgMDEtMTUgMFY3MGE3LjUgNy41IDAgMDExNSAwek03MCA1MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ1N3aXRjaENhc2U9XCInYWxlcnQnXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtYWxlcnQtYmFzZVwiIHJvbGU9XCJpbWdcIiBhcmlhLWxhYmVsPVwiQWxlcnRhXCI+PHBhdGggZD1cIk0xMzguNDIgMTE4LjI5bC01NS0xMTBhMTUgMTUgMCAwMC0yNi44NCAwbC01NSAxMTBBMTUgMTUgMCAwMDE1IDE0MGgxMTBhMTUgMTUgMCAwMDEzLjQyLTIxLjcxek02Mi41IDUwYTcuNSA3LjUgMCAwMTE1IDB2MzBhNy41IDcuNSAwIDAxLTE1IDB6bTcuNSA3MGExMCAxMCAwIDExMTAtMTAgMTAgMTAgMCAwMS0xMCAxMHpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPjwvc3ZnPlxuICAgICAgICA8c3ZnICpuZ1N3aXRjaERlZmF1bHQgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTQwIDE0MFwiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgY2xhc3M9XCJ3LTQgaC00IHRleHQtcHJpbWFyeS1iYXNlXCIgcm9sZT1cImltZ1wiIGFyaWEtbGFiZWw9XCJBeXVkYVwiPjxwYXRoIGQ9XCJNNzAgMGE3MCA3MCAwIDEwNzAgNzBBNzAuMDggNzAuMDggMCAwMDcwIDB6bTAgMTE3LjUxYTEwIDEwIDAgMTExMC0xMCAxMCAxMCAwIDAxLTEwIDEwem05LjE3LTM5LjA4YTIuNSAyLjUgMCAwMC0xLjY3IDIuMzZ2MS43MWE3LjUgNy41IDAgMDEtMTUgMHYtMTBBNy41IDcuNSAwIDAxNzAgNjVhMTIuNSAxMi41IDAgMTAtMTIuNS0xMi41IDcuNSA3LjUgMCAwMS0xNSAwIDI3LjUgMjcuNSAwIDExMzYuNjcgMjUuOTN6XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz48L3N2Zz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWljb25Db21wb25lbnQgJiYgaWNvblwiIGNsYXNzPVwiaW5saW5lLWJsb2NrXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogZ2V0SWNvbkNvbnRlbnQoaWNvbikgfVwiPjwvbmctY29udGFpbmVyPlxuICA8L3NwYW4+XG48L2Rpdj5cblxuPGRpdiAjdG9vbHRpcENvbnRlbnQgW2F0dHIuaWRdPVwiZ2V0SWRUb29sdGlwKClcIlxuICAgICAgW2NsYXNzXT1cIlsnLW15LXhzIHAtc20gc2hhZG93LW1kIGJnLWJsYWNrIHJvdW5kZWQgdGV4dC13aGl0ZScsIGNsYXNzZXNUb29sdGlwXSB8IG1ha2VIdG1sTGlzdFwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IHRvb2x0aXBDb250ZW50Q29tcG9uZW50LCB0ZW1wbGF0ZTogY2FsbGVyIH1cIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19