desy-angular 7.1.0 → 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 (525) 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/{esm2020 → esm2022}/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +4 -4
  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/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +150 -0
  62. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
  63. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
  64. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
  65. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
  66. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +182 -0
  67. package/esm2022/lib/desy-modals/desy-modals.module.mjs +61 -0
  68. package/esm2022/lib/desy-modals/interfaces/index.mjs +7 -0
  69. package/esm2022/lib/desy-modals/services/dialog.service.mjs +114 -0
  70. package/{esm2020 → esm2022}/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
  71. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +48 -0
  72. package/{esm2020 → esm2022}/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
  73. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +64 -0
  74. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
  75. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +31 -0
  76. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
  77. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
  78. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +74 -0
  79. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
  80. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +46 -0
  81. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
  82. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
  83. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
  85. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +93 -0
  86. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
  87. package/esm2022/lib/desy-nav/components/header/header.component.mjs +107 -0
  88. package/{esm2020 → esm2022}/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +4 -4
  89. package/{esm2020 → esm2022}/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +4 -4
  90. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
  91. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
  92. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +78 -0
  93. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
  94. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
  95. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +602 -0
  96. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +46 -0
  97. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
  98. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
  99. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
  100. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
  101. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
  102. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
  103. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
  104. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
  105. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +713 -0
  106. package/{esm2020 → esm2022}/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
  107. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +115 -0
  108. package/{esm2020 → esm2022}/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
  109. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +143 -0
  110. package/{esm2020 → esm2022}/lib/desy-nav/components/skip-link/skip-link.component.mjs +5 -5
  111. package/{esm2020 → esm2022}/lib/desy-nav/desy-nav.module.mjs +93 -93
  112. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +191 -0
  113. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
  115. package/{esm2020 → esm2022}/lib/desy-pagination/desy-pagination.module.mjs +15 -15
  116. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
  117. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
  118. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
  119. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
  120. package/esm2022/lib/desy-tables/components/table/table.component.mjs +79 -0
  121. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +50 -0
  122. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
  123. package/{esm2020 → esm2022}/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
  124. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
  125. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
  126. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +286 -0
  127. package/{esm2020 → esm2022}/lib/desy-tables/desy-tables.module.mjs +38 -38
  128. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +25 -0
  129. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
  130. package/esm2022/lib/desy-tables/directives/row.directive.mjs +22 -0
  131. package/{esm2020 → esm2022}/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
  132. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +61 -0
  133. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +199 -0
  134. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +41 -0
  135. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
  136. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
  137. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
  138. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +81 -0
  139. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
  140. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
  141. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +36 -0
  142. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
  143. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
  144. package/{esm2020 → esm2022}/lib/desy-views/components/details/details.component.mjs +4 -4
  145. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
  146. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
  147. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
  148. package/esm2022/lib/desy-views/components/item/item.component.mjs +121 -0
  149. package/{esm2020 → esm2022}/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
  150. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +117 -0
  151. package/{esm2020 → esm2022}/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
  152. package/esm2022/lib/desy-views/components/status/status.component.mjs +107 -0
  153. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +148 -0
  154. package/{esm2020 → esm2022}/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
  155. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +39 -0
  156. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +200 -0
  157. package/{esm2020 → esm2022}/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
  158. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +206 -0
  159. package/{esm2020 → esm2022}/lib/desy-views/desy-views.module.mjs +67 -67
  160. package/esm2022/lib/desy-views/services/alert.service.mjs +88 -0
  161. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +42 -0
  162. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
  164. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +21 -0
  165. package/{esm2020 → esm2022}/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
  166. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +30 -0
  167. package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +15 -0
  168. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +50 -0
  169. package/esm2022/lib/shared/directives/click-outside.directive.mjs +40 -0
  170. package/esm2022/lib/shared/directives/content-change.directive.mjs +41 -0
  171. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +44 -0
  172. package/esm2022/lib/shared/directives/inner-content.directive.mjs +37 -0
  173. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +28 -0
  174. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +21 -0
  175. package/{esm2020 → esm2022}/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
  176. package/esm2022/lib/shared/shared.module.mjs +83 -0
  177. package/esm2022/lib/shared/utils/search-utils.mjs +66 -0
  178. package/esm2022/lib/shared/utils/string-utils.mjs +11 -0
  179. package/esm2022/public-api.mjs +197 -0
  180. package/{fesm2020 → fesm2022}/desy-angular.mjs +1375 -1684
  181. package/fesm2022/desy-angular.mjs.map +1 -0
  182. package/index.d.ts +0 -3
  183. package/lib/desy-buttons/components/button/button.component.d.ts +1 -1
  184. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -1
  185. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +1 -1
  186. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +1 -1
  187. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +1 -1
  188. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +1 -1
  189. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -1
  190. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +1 -1
  191. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +1 -1
  192. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +1 -1
  193. package/lib/desy-commons/components/content/content.component.d.ts +1 -1
  194. package/lib/desy-commons/components/description/description.component.d.ts +1 -1
  195. package/lib/desy-commons/components/divider/divider.component.d.ts +1 -1
  196. package/lib/desy-commons/components/icon/icon.component.d.ts +1 -1
  197. package/lib/desy-commons/components/title/title.component.d.ts +1 -1
  198. package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -1
  199. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +1 -1
  200. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +0 -8
  201. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +1 -27
  202. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +1 -1
  203. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +1 -1
  204. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +1 -1
  205. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +1 -1
  206. package/lib/desy-forms/components/date-input/date-input.component.d.ts +1 -8
  207. package/lib/desy-forms/components/error-message/error-message.component.d.ts +1 -1
  208. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +1 -8
  209. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +1 -1
  210. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -6
  211. package/lib/desy-forms/components/form-field/form-field.component.d.ts +1 -1
  212. package/lib/desy-forms/components/hint/hint.component.d.ts +1 -1
  213. package/lib/desy-forms/components/input/input.component.d.ts +1 -1
  214. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +1 -1
  215. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +1 -1
  216. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +1 -1
  217. package/lib/desy-forms/components/input-group/input-group.component.d.ts +1 -8
  218. package/lib/desy-forms/components/label/label.component.d.ts +1 -1
  219. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +1 -1
  220. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +0 -8
  221. package/lib/desy-forms/components/radios/radios.component.d.ts +1 -27
  222. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +1 -1
  223. package/lib/desy-forms/components/select/option/option.component.d.ts +1 -1
  224. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +1 -1
  225. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +1 -1
  226. package/lib/desy-forms/components/select/select.component.d.ts +1 -1
  227. package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -1
  228. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +1 -1
  229. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +1 -5
  230. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +6 -2
  231. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +1 -1
  232. package/lib/desy-forms/components/tree/tree.component.d.ts +1 -62
  233. package/lib/desy-forms/directives/condition.directive.d.ts +1 -6
  234. package/lib/desy-modals/components/dialog/dialog.component.d.ts +1 -1
  235. package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +1 -1
  236. package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +1 -1
  237. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +1 -1
  238. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +1 -1
  239. package/lib/desy-modals/components/modal/modal.component.d.ts +1 -1
  240. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +1 -1
  241. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  242. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +1 -1
  243. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +1 -1
  244. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +1 -1
  245. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +1 -1
  246. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +1 -1
  247. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +1 -1
  248. package/lib/desy-nav/components/footer/footer.component.d.ts +1 -1
  249. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +1 -1
  250. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +1 -1
  251. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +1 -1
  252. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +1 -8
  253. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
  254. package/lib/desy-nav/components/header/header.component.d.ts +1 -1
  255. package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +1 -1
  256. package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +1 -1
  257. package/lib/desy-nav/components/links-list/links-list.component.d.ts +1 -1
  258. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +1 -1
  259. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +1 -1
  260. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +1 -1
  261. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +1 -1
  262. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +1 -1
  263. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -1
  264. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +1 -1
  265. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +1 -1
  266. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -1
  267. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +1 -1
  268. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +1 -1
  269. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +1 -1
  270. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +1 -1
  271. package/lib/desy-nav/components/menubar/menubar.component.d.ts +1 -8
  272. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
  273. package/lib/desy-nav/components/nav/nav.component.d.ts +1 -1
  274. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +1 -1
  275. package/lib/desy-nav/components/notification/notification.component.d.ts +1 -1
  276. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +1 -1
  277. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +1 -1
  278. package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +1 -1
  279. package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +1 -1
  280. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +1 -1
  281. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +1 -1
  282. package/lib/desy-tables/components/table/table.component.d.ts +1 -1
  283. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +1 -1
  284. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +1 -1
  285. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +1 -1
  286. package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
  287. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -56
  288. package/lib/desy-tables/directives/cell.directive.d.ts +1 -4
  289. package/lib/desy-tables/directives/row.directive.d.ts +1 -8
  290. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
  291. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  292. package/lib/desy-views/components/accordion/accordion.component.d.ts +1 -1
  293. package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +1 -1
  294. package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +1 -1
  295. package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +1 -1
  296. package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
  297. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +1 -1
  298. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +1 -1
  299. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +1 -1
  300. package/lib/desy-views/components/description-list/description-list.component.d.ts +1 -1
  301. package/lib/desy-views/components/description-list/term/term.component.d.ts +1 -1
  302. package/lib/desy-views/components/details/details.component.d.ts +1 -1
  303. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +1 -1
  304. package/lib/desy-views/components/item/item.component.d.ts +1 -1
  305. package/lib/desy-views/components/media-object/media-object.component.d.ts +1 -1
  306. package/lib/desy-views/components/spinner/spinner.component.d.ts +1 -1
  307. package/lib/desy-views/components/status/status.component.d.ts +1 -1
  308. package/lib/desy-views/components/status-item/status-item.component.d.ts +1 -1
  309. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +1 -1
  310. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +1 -1
  311. package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -1
  312. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +1 -1
  313. package/lib/shared/components/accessibility/accessibility.component.d.ts +1 -4
  314. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +1 -9
  315. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -7
  316. package/lib/shared/components/content-base/content-base.component.d.ts +0 -3
  317. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +1 -5
  318. package/lib/shared/decorators/desy-content-child.decorator.d.ts +0 -11
  319. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +0 -4
  320. package/lib/shared/directives/attribute-change.directive.d.ts +1 -1
  321. package/lib/shared/directives/click-outside.directive.d.ts +1 -1
  322. package/lib/shared/directives/content-change.directive.d.ts +1 -5
  323. package/lib/shared/directives/custom-inner-content.directive.d.ts +1 -7
  324. package/lib/shared/directives/inner-content.directive.d.ts +1 -1
  325. package/lib/shared/pipes/external-href.pipe.d.ts +0 -4
  326. package/lib/shared/utils/search-utils.d.ts +0 -10
  327. package/lib/shared/utils/string-utils.d.ts +0 -7
  328. package/package.json +13 -19
  329. package/esm2020/desy-angular.mjs +0 -5
  330. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +0 -115
  331. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -63
  332. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -125
  333. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -339
  334. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +0 -80
  335. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -59
  336. package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +0 -82
  337. package/esm2020/lib/desy-commons/desy-commons.module.mjs +0 -53
  338. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -222
  339. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +0 -23
  340. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -295
  341. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -54
  342. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
  343. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -54
  344. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -50
  345. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +0 -289
  346. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +0 -31
  347. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -72
  348. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +0 -124
  349. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +0 -29
  350. package/esm2020/lib/desy-forms/components/input/input.component.mjs +0 -99
  351. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
  352. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -58
  353. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -50
  354. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +0 -229
  355. package/esm2020/lib/desy-forms/components/label/label.component.mjs +0 -38
  356. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -173
  357. package/esm2020/lib/desy-forms/components/radios/radios-parent.component.mjs +0 -23
  358. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +0 -308
  359. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -60
  360. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
  361. package/esm2020/lib/desy-forms/components/select/select.component.mjs +0 -93
  362. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -167
  363. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -398
  364. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
  365. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +0 -433
  366. package/esm2020/lib/desy-forms/desy-forms.module.mjs +0 -209
  367. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +0 -34
  368. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +0 -150
  369. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
  370. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
  371. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
  372. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
  373. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +0 -178
  374. package/esm2020/lib/desy-modals/desy-modals.module.mjs +0 -62
  375. package/esm2020/lib/desy-modals/interfaces/index.mjs +0 -8
  376. package/esm2020/lib/desy-modals/services/dialog.service.mjs +0 -114
  377. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -47
  378. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -62
  379. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -30
  380. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -19
  381. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +0 -71
  382. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -45
  383. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
  384. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -95
  385. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
  386. package/esm2020/lib/desy-nav/components/header/header.component.mjs +0 -101
  387. package/esm2020/lib/desy-nav/components/links-list/links-list.component.mjs +0 -42
  388. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -79
  389. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -49
  390. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -616
  391. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -45
  392. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
  393. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -113
  394. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
  395. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
  396. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -45
  397. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +0 -727
  398. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +0 -116
  399. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +0 -141
  400. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -190
  401. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
  402. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
  403. package/esm2020/lib/desy-tables/components/table/table.component.mjs +0 -78
  404. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -47
  405. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
  406. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
  407. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
  408. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -342
  409. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +0 -28
  410. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -81
  411. package/esm2020/lib/desy-tables/directives/row.directive.mjs +0 -29
  412. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -57
  413. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +0 -198
  414. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -39
  415. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -19
  416. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +0 -81
  417. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -81
  418. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -34
  419. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +0 -28
  420. package/esm2020/lib/desy-views/components/item/item.component.mjs +0 -116
  421. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +0 -115
  422. package/esm2020/lib/desy-views/components/status/status.component.mjs +0 -106
  423. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +0 -143
  424. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -37
  425. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +0 -199
  426. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -202
  427. package/esm2020/lib/desy-views/services/alert.service.mjs +0 -88
  428. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +0 -45
  429. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +0 -24
  430. package/esm2020/lib/shared/decorators/desy-content-child.decorator.mjs +0 -41
  431. package/esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -19
  432. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +0 -50
  433. package/esm2020/lib/shared/directives/click-outside.directive.mjs +0 -40
  434. package/esm2020/lib/shared/directives/content-change.directive.mjs +0 -45
  435. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +0 -60
  436. package/esm2020/lib/shared/directives/inner-content.directive.mjs +0 -37
  437. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +0 -32
  438. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +0 -20
  439. package/esm2020/lib/shared/shared.module.mjs +0 -99
  440. package/esm2020/lib/shared/utils/search-utils.mjs +0 -78
  441. package/esm2020/lib/shared/utils/string-utils.mjs +0 -18
  442. package/esm2020/public-api.mjs +0 -225
  443. package/fesm2015/desy-angular.mjs +0 -11955
  444. package/fesm2015/desy-angular.mjs.map +0 -1
  445. package/fesm2020/desy-angular.mjs.map +0 -1
  446. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -0
  447. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -0
  448. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/content-data.mjs +0 -0
  449. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/description-data.mjs +0 -0
  450. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/divider-data.mjs +0 -0
  451. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/icon-data.mjs +0 -0
  452. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/title-data.mjs +0 -0
  454. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -0
  455. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -0
  456. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/accesibility-data.mjs +0 -0
  457. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/error-message-data.mjs +0 -0
  458. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/fieldset-data.mjs +0 -0
  459. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/hint-data.mjs +0 -0
  460. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/index.mjs +0 -0
  461. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -0
  462. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-date-input-data.mjs +0 -0
  463. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -0
  464. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-data.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/label-data.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/legend-data.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/select-item-data.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/dialog-options.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-button-data.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-data.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-options.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/error-summary-data.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/footer-data.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-skiplink-data.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/index.mjs +0 -0
  487. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -0
  488. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -0
  489. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -0
  490. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -0
  491. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation.mjs +0 -0
  492. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -0
  493. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -0
  494. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -0
  495. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -0
  496. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -0
  497. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -0
  498. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item.mjs +0 -0
  499. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -0
  500. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item.data.mjs +0 -0
  501. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-items-data.mjs +0 -0
  502. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-options.mjs +0 -0
  503. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/index.mjs +0 -0
  504. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -0
  505. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/cell-data.mjs +0 -0
  506. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/head-cell-data.mjs +0 -0
  507. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/index.mjs +0 -0
  508. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -0
  509. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/row-data.mjs +0 -0
  510. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/wrapper-data.mjs +0 -0
  511. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-header.data.mjs +0 -0
  512. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-item.data.mjs +0 -0
  513. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/alert-options.mjs +0 -0
  514. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/description-item.data.mjs +0 -0
  515. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/index.mjs +0 -0
  516. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/open-alert-result.mjs +0 -0
  517. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-data.mjs +0 -0
  518. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-icon-data.mjs +0 -0
  519. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-item-title-data.mjs +0 -0
  520. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-items-data.mjs +0 -0
  521. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -0
  522. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/term-definition.data.mjs +0 -0
  523. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  524. /package/{esm2020 → esm2022}/lib/shared/interfaces/accesibility-data.mjs +0 -0
  525. /package/{esm2020 → esm2022}/lib/shared/utils/focus-utils.mjs +0 -0
@@ -14,10 +14,10 @@ export class ListboxItemComponent extends AccessibilityComponent {
14
14
  this.active = value;
15
15
  this.activeChange.emit(value);
16
16
  }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ListboxItemComponent, selector: "desy-listbox-item", inputs: { id: "id", active: "active", classes: "classes", title: "title" }, outputs: { itemChange: "itemChange", activeChange: "activeChange" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["childComponentTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #childComponentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }); }
17
19
  }
18
- ListboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListboxItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- ListboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListboxItemComponent, selector: "desy-listbox-item", inputs: { id: "id", active: "active", classes: "classes", title: "title" }, outputs: { itemChange: "itemChange", activeChange: "activeChange" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["childComponentTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #childComponentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListboxItemComponent, decorators: [{
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxItemComponent, decorators: [{
21
21
  type: Component,
22
22
  args: [{ selector: 'desy-listbox-item', template: "<ng-template #childComponentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
23
23
  }], propDecorators: { content: [{
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
36
36
  }], activeChange: [{
37
37
  type: Output
38
38
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC1pdGVtL2xpc3Rib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1yRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBSmhFOztRQWFZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQVc3QztJQVRDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7aUhBbkJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHlXQ1JqQyxzRkFHQTsyRkRLYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUtRLE9BQU87c0JBQTNDLFNBQVM7dUJBQUMsd0JBQXdCO2dCQUUxQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaXN0Ym94SXRlbURhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbGlzdGJveC1pdGVtLWRhdGEnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbGlzdGJveC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3gtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgTGlzdGJveEl0ZW1EYXRhLCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoJ2NoaWxkQ29tcG9uZW50VGVtcGxhdGUnKSBjb250ZW50O1xuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3RpdmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgaXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2hhbmdlLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBzZXRBY3RpdmUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlO1xuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY2hpbGRDb21wb25lbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktYnV0dG9ucy9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveC1pdGVtL2xpc3Rib3gtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtaXRlbS9saXN0Ym94LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFHLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQU1yRSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsc0JBQXNCO0lBSmhFOztRQWFZLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQVc3QztJQVRDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0FuQlUsb0JBQW9CO2tHQUFwQixvQkFBb0IseVdDUmpDLHNGQUdBOzsyRkRLYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUtRLE9BQU87c0JBQTNDLFNBQVM7dUJBQUMsd0JBQXdCO2dCQUUxQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMaXN0Ym94SXRlbURhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvbGlzdGJveC1pdGVtLWRhdGEnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktbGlzdGJveC1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3gtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgTGlzdGJveEl0ZW1EYXRhLCBPbkNoYW5nZXMge1xuXG4gIEBWaWV3Q2hpbGQoJ2NoaWxkQ29tcG9uZW50VGVtcGxhdGUnKSBjb250ZW50O1xuXG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nO1xuICBASW5wdXQoKSBhY3RpdmU/OiBib29sZWFuO1xuICBASW5wdXQoKSBjbGFzc2VzPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgaXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2hhbmdlLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBzZXRBY3RpdmUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlO1xuICAgIHRoaXMuYWN0aXZlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY2hpbGRDb21wb25lbnRUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2,13 +2,13 @@ import { Component, Input } from '@angular/core';
2
2
  import { ContentBaseComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ListboxLabelComponent extends ContentBaseComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ListboxLabelComponent, selector: "desy-listbox-label", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }); }
5
7
  }
6
- ListboxLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListboxLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- ListboxLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListboxLabelComponent, selector: "desy-listbox-label", inputs: { classes: "classes" }, 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.9", ngImport: i0, type: ListboxLabelComponent, decorators: [{
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxLabelComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-listbox-label', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
11
  }], propDecorators: { classes: [{
12
12
  type: Input
13
13
  }] } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtbGFiZWwvbGlzdGJveC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtbGFiZWwvbGlzdGJveC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjs7a0hBQWxELHFCQUFxQjtzR0FBckIscUJBQXFCLGlIQ1BsQywrRUFHQTsyRkRJYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUtyQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWxpc3Rib3gtbGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC1sYWJlbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveExhYmVsQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgIHtcblxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtbGFiZWwvbGlzdGJveC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3gtbGFiZWwvbGlzdGJveC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNbkUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjs4R0FBbEQscUJBQXFCO2tHQUFyQixxQkFBcUIsaUhDUGxDLCtFQUdBOzsyRkRJYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9COzhCQUtyQixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWxpc3Rib3gtbGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC1sYWJlbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveExhYmVsQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQgIHtcblxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,334 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';
3
+ import { AccessibilityAndTextOrHtmlRequiredComponent } from '../../../shared/components';
4
+ import { StringUtils } from '../../../shared/utils/string-utils';
5
+ import { ListboxLabelComponent } from './listbox-label/listbox-label.component';
6
+ import { ListboxItemComponent } from './listbox-item/listbox-item.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/attribute-change.directive";
12
+ import * as i3 from "../../../shared/directives/custom-inner-content.directive";
13
+ import * as i4 from "ngx-tippy-wrapper";
14
+ import * as i5 from "../../../shared/pipes/make-html-list.pipe";
15
+ export class ListboxComponent extends AccessibilityAndTextOrHtmlRequiredComponent {
16
+ static { this.KEY_CODE_ESC = 'Escape'; }
17
+ constructor(changeDetectorRef) {
18
+ super();
19
+ this.changeDetectorRef = changeDetectorRef;
20
+ this.itemsChange = new EventEmitter();
21
+ this.activeItemChange = new EventEmitter();
22
+ this.isListVisible = false;
23
+ this.contentInit = false;
24
+ this.pendingCheckActiveItemsAfterViewInit = false;
25
+ this.pendingFocusOnList = false;
26
+ }
27
+ ngOnInit() {
28
+ if (this.listboxContent && this.listboxContent.nativeElement) {
29
+ this.initTippy();
30
+ }
31
+ }
32
+ ngOnChanges() {
33
+ if (this.items && this.items.length > 0) {
34
+ this.itemList = this.items;
35
+ if (this.contentInit) {
36
+ this.checkActiveItems();
37
+ }
38
+ else {
39
+ this.pendingCheckActiveItemsAfterViewInit = true;
40
+ }
41
+ }
42
+ }
43
+ ngAfterViewInit() {
44
+ if (this.pendingCheckActiveItemsAfterViewInit) {
45
+ this.checkActiveItems();
46
+ this.pendingCheckActiveItemsAfterViewInit = false;
47
+ this.changeDetectorRef.detectChanges();
48
+ }
49
+ }
50
+ ngAfterContentInit() {
51
+ this.contentInit = true;
52
+ if (this.itemComponentList && (!this.items || this.items.length === 0)) {
53
+ this.setupItemComponentList();
54
+ this.itemComponentList.changes.subscribe(() => {
55
+ this.setupItemComponentList();
56
+ });
57
+ }
58
+ }
59
+ ngAfterViewChecked() {
60
+ if (this.pendingFocusOnList) {
61
+ this.pendingFocusOnList = false;
62
+ this.listboxList.nativeElement.focus();
63
+ this.changeDetectorRef.detectChanges();
64
+ }
65
+ }
66
+ setupItemComponentList() {
67
+ if (this.itemComponentSubscriptions) {
68
+ this.itemComponentSubscriptions.forEach(s => s.unsubscribe());
69
+ }
70
+ this.itemComponentSubscriptions = [];
71
+ this.itemList = [];
72
+ this.itemComponentList.forEach(item => {
73
+ this.itemList.push(item);
74
+ });
75
+ this.itemComponentList.forEach(item => {
76
+ const subscription = item.itemChange.subscribe(() => this.checkActiveItems());
77
+ this.itemComponentSubscriptions.push(subscription);
78
+ });
79
+ this.changeDetectorRef.detectChanges();
80
+ this.checkActiveItems();
81
+ this.changeDetectorRef.detectChanges();
82
+ }
83
+ getActiveItemsData() {
84
+ return this.itemList
85
+ .map((item, index) => item.active ? { item, index } : null)
86
+ .filter(item => item !== null);
87
+ }
88
+ onChangeItemChecked() {
89
+ this.checkActiveItems();
90
+ this.changeDetectorRef.detectChanges();
91
+ }
92
+ checkActiveItems() {
93
+ let activeItems = this.itemList
94
+ .map((item, index) => item.active ? { item, index } : null)
95
+ .filter(item => item !== null);
96
+ let hasActiveItemChange = false;
97
+ if (this.lastActiveItems && activeItems.length === this.lastActiveItems.length) {
98
+ for (let i = 0; i < activeItems.length; i++) {
99
+ if (activeItems[i].index !== this.lastActiveItems[i].index) {
100
+ hasActiveItemChange = true;
101
+ break;
102
+ }
103
+ }
104
+ }
105
+ else {
106
+ hasActiveItemChange = true;
107
+ }
108
+ if (this.lastActiveItems && !this.isMultiselectable && hasActiveItemChange) {
109
+ if (activeItems.length !== this.lastActiveItems.length) {
110
+ for (const activeItem of activeItems) {
111
+ if (this.lastActiveItems.findIndex(i => i.index === activeItem.index) >= 0) {
112
+ this.setItemActiveValue(activeItem.index, false);
113
+ }
114
+ activeItems = activeItems.filter(activeItem => activeItem.item.active);
115
+ }
116
+ }
117
+ }
118
+ this.lastActiveItems = activeItems;
119
+ if (this.doesChangeButtonText && !this.isMultiselectable && activeItems.length > 0) {
120
+ const activeItemOption = this.listboxOptions.find((item, index) => index === activeItems[0].index);
121
+ if (activeItemOption) {
122
+ this.buttonContentHtml = activeItemOption.nativeElement.innerHTML;
123
+ }
124
+ }
125
+ else {
126
+ this.buttonContentHtml = this.html ? this.html : null;
127
+ }
128
+ if (hasActiveItemChange) {
129
+ this.itemsChange.emit(this.itemList);
130
+ this.activeItemChange.emit(activeItems.length > 0 ? activeItems[0].item : null);
131
+ }
132
+ }
133
+ onListShow() {
134
+ this.isListVisible = true;
135
+ if (this.listboxList) {
136
+ this.pendingFocusOnList = true;
137
+ }
138
+ }
139
+ onListClose() {
140
+ this.isListVisible = false;
141
+ }
142
+ onListFocus() {
143
+ const activeItemsData = this.getActiveItemsData();
144
+ if (activeItemsData.length > 0) {
145
+ const activeElem = document.getElementById(this.getItemId(activeItemsData[0].item, activeItemsData[0].index));
146
+ if (activeElem) {
147
+ activeElem.focus();
148
+ this.currentFocusIndex = activeItemsData[0].index;
149
+ }
150
+ }
151
+ else if (this.itemList && this.itemList.length > 0) {
152
+ this.currentFocusIndex = 0;
153
+ if (!this.isMultiselectable) {
154
+ this.selectItem(0);
155
+ }
156
+ }
157
+ else {
158
+ console.warn('No element to focus');
159
+ }
160
+ }
161
+ moveFocus(position, event) {
162
+ event.preventDefault();
163
+ if (position >= 0 && position < this.itemList.length) {
164
+ if (this.isMultiselectable) {
165
+ this.currentFocusIndex = position;
166
+ }
167
+ else {
168
+ this.selectItem(position);
169
+ }
170
+ }
171
+ }
172
+ onSpace(event) {
173
+ event.preventDefault();
174
+ if (this.isMultiselectable) {
175
+ this.selectItem(this.currentFocusIndex);
176
+ }
177
+ }
178
+ selectItem(index) {
179
+ if (!this.isMultiselectable) {
180
+ this.itemList.forEach(item => this.setItemActiveValue(index, false));
181
+ this.setItemActiveValue(index, true);
182
+ }
183
+ else {
184
+ this.setItemActiveValue(index, !this.itemList[index].active);
185
+ }
186
+ this.currentFocusIndex = index;
187
+ this.checkActiveItems();
188
+ }
189
+ setItemActiveValue(index, active) {
190
+ if (this.itemComponentList !== null && this.itemComponentList.length > 0) {
191
+ const deactivatedItem = this.itemComponentList.get(index);
192
+ deactivatedItem?.setActive(active);
193
+ }
194
+ else {
195
+ this.itemList[index].active = active;
196
+ }
197
+ }
198
+ getIdPrefix() {
199
+ return this.idPrefix ? this.idPrefix : this.id + '-listbox-item';
200
+ }
201
+ getItemId(item, index) {
202
+ let itemId;
203
+ if (item.id) {
204
+ itemId = item.id;
205
+ }
206
+ else {
207
+ itemId = this.getIdPrefix();
208
+ if (index > 0) {
209
+ itemId += `-${index}`;
210
+ }
211
+ }
212
+ return itemId;
213
+ }
214
+ hasLabel() {
215
+ return !!(this.label || this.labelComponent);
216
+ }
217
+ getLabelContent(label) {
218
+ return label.html ? label.html : `<p>${StringUtils.escapeHtml(label.text)}</p>`;
219
+ }
220
+ initTippy() {
221
+ const contentTooltip = this.listboxContent.nativeElement;
222
+ const listboxButtonElement = this.listboxButton.nativeElement;
223
+ this.tippyProperties = {
224
+ placement: 'bottom-start',
225
+ inlinePositioning: true,
226
+ content: contentTooltip,
227
+ allowHTML: true,
228
+ trigger: 'click',
229
+ hideOnClick: true,
230
+ interactive: true,
231
+ arrow: false,
232
+ offset: [0, -10],
233
+ theme: '',
234
+ plugins: [
235
+ {
236
+ name: 'hideOnPopperBlur',
237
+ defaultValue: true,
238
+ fn(instance) {
239
+ return {
240
+ onCreate() {
241
+ instance.popper.addEventListener('focusout', (event) => {
242
+ if (instance.props.hideOnPopperBlur &&
243
+ event.relatedTarget &&
244
+ !instance.popper.contains(event.relatedTarget)) {
245
+ instance.hide();
246
+ }
247
+ });
248
+ },
249
+ };
250
+ }
251
+ }, {
252
+ name: 'hideOnEsc',
253
+ defaultValue: true,
254
+ fn({ hide }) {
255
+ function onKeyDown(event) {
256
+ if (event.key === ListboxComponent.KEY_CODE_ESC) {
257
+ hide();
258
+ listboxButtonElement.focus();
259
+ }
260
+ }
261
+ return {
262
+ onShow() {
263
+ document.addEventListener('keydown', onKeyDown);
264
+ },
265
+ onHide() {
266
+ document.removeEventListener('keydown', onKeyDown);
267
+ },
268
+ };
269
+ },
270
+ },
271
+ inlinePositioning
272
+ ],
273
+ role: false,
274
+ aria: {
275
+ content: 'auto',
276
+ },
277
+ onShow: this.onListShow.bind(this),
278
+ onHidden: this.onListClose.bind(this)
279
+ };
280
+ }
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
282
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: ListboxComponent, selector: "desy-listbox", inputs: { id: "id", isMultiselectable: "isMultiselectable", doesChangeButtonText: "doesChangeButtonText", label: "label", classes: "classes", classesContainer: "classesContainer", classesTooltip: "classesTooltip", idPrefix: "idPrefix", disabled: "disabled", items: "items" }, outputs: { itemsChange: "itemsChange", activeItemChange: "activeItemChange" }, queries: [{ propertyName: "labelComponent", predicate: ListboxLabelComponent }, { propertyName: "itemComponentList", predicate: ListboxItemComponent }], viewQueries: [{ propertyName: "listboxButton", first: true, predicate: ["button"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxList", first: true, predicate: ["list"], descendants: true, read: ElementRef }, { propertyName: "listboxContent", first: true, predicate: ["tooltip"], descendants: true, read: ElementRef, static: true }, { propertyName: "listboxOptions", predicate: ["option"], descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: labelComponent, html: label ? getLabelContent(label) : null }\"></ng-container>\n </div>\n <button #button [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-role] = \"role ? role : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n </button>\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ul *ngIf=\"itemList\"\n #list [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-activedescendant] = \"lastActiveItems && lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\n [id]=\"getItemId(item, index)\"\n [attr.title]=\"item.title ? item.title : null\"\n (desyAttributeChange)=\"onChangeItemChecked()\" [attributesToCheck]=\"'aria-selected'\" [desyAttributeChangeEnabled]=\"items && items.length > 0\"\n\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\n\n [attr.aria-checked]=\"item.active\"\n [attr.aria-selected]=\"item.active\">\n <ng-container *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AttributeChangeDirective, selector: "[desyAttributeChange]", inputs: ["attributesToCheck", "desyAttributeChangeEnabled"], outputs: ["desyAttributeChange", "desyAttributeChangeMutation"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "directive", type: i4.NgxTippyDirective, selector: "[ngxTippy]", inputs: ["ngxTippy", "tippyProps", "tippyName", "tippyClassName"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }] }); }
283
+ }
284
+ __decorate([
285
+ DesyContentChild(),
286
+ __metadata("design:type", ListboxLabelComponent)
287
+ ], ListboxComponent.prototype, "labelComponent", void 0);
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ListboxComponent, decorators: [{
289
+ type: Component,
290
+ args: [{ selector: 'desy-listbox', template: "<div [ngClass]=\"classesContainer ? classesContainer : 'relative'\">\n <div [id]=\"id + '-label'\" [class]=\"['mb-sm', labelComponent?.classes, label?.classes] | makeHtmlList\">\n <ng-container *desyCustomInnerContent=\"{ component: labelComponent, html: label ? getLabelContent(label) : null }\"></ng-container>\n </div>\n <button #button [id]=\"id + '-button'\"\n [class]=\"['c-listbox', classes] | makeHtmlList\"\n ngxTippy [tippyProps]=\"tippyProperties\"\n aria-haspopup=\"listbox\"\n [attr.aria-labelledby]=\"[hasLabel() ? id + '-label' : null, id + '-button'] | makeHtmlList\"\n [attr.disabled]=\"disabled ? 'disabled' : null\"\n [attr.aria-disabled]=\"disabled ? 'true' : (ariaDisabled ? ariaDisabled : null)\"\n [attr.aria-role] = \"role ? role : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errorMessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-hasppup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-tabindex] = \"tabindex ? tabindex : null\">\n <span class=\"inline-flex self-center max-w-xs align-middle truncate\">\n <ng-container *desyCustomInnerContent=\"{ html: buttonContentHtml, text: text }\"></ng-container>\n </span>\n <svg class=\"inline-block -mr-2 align-middle -my-px\" viewBox=\"0 0 96 96\" aria-hidden=\"true\" fill=\"currentColor\" focusable=\"false\" width=\"1.5em\" height=\"1.5em\"><g><path d=\"M46.71 58.037a1.823 1.823 0 002.581 0L62.048 45.28a1.823 1.823 0 00-1.29-3.113H35.243a1.823 1.823 0 00-1.291 3.113z\"/></g></svg>\n </button>\n <div #tooltip [class]=\"['c-listbox__tooltip -ml-sm mt-2 border border-neutral-base shadow-md bg-white', classesTooltip] | makeHtmlList\">\n <ul *ngIf=\"itemList\"\n #list [id]=\"id\"\n (focus)=\"onListFocus()\"\n (keydown.arrowUp)=\"moveFocus(currentFocusIndex - 1, $event)\"\n (keydown.arrowDown)=\"moveFocus(currentFocusIndex + 1, $event)\"\n (keydown.home)=\"moveFocus(0, $event)\"\n (keydown.end)=\"moveFocus(items.length - 1, $event)\"\n (keydown.space)=\"onSpace($event)\"\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"text-sm outline-none\"\n [attr.aria-labelledby]=\"hasLabel() ? id : (ariaLabelledBy ? ariaLabelledBy : null)\"\n [attr.aria-multiselectable]=\"isMultiselectable ? 'true' : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\n [attr.aria-label] = \"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby] = \"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-hidden] = \"ariaHidden ? ariaHidden : null\"\n [attr.aria-controls] = \"ariaControls ? ariaControls : null\"\n [attr.aria-current] = \"ariaCurrent ? ariaCurrent : null\"\n [attr.aria-live] = \"ariaLive ? ariaLive : null\"\n [attr.aria-expanded] = \"ariaExpanded ? ariaExpanded : null\"\n [attr.aria-errormessage] = \"ariaErrorMessage ? ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"ariaHasPopup ? ariaHasPopup : null\"\n [attr.aria-activedescendant] = \"lastActiveItems && lastActiveItems.length > 0 ? getItemId(lastActiveItems[0].item, lastActiveItems[0].index) : null\">\n <ng-container *ngFor=\"let item of itemList; index as index\">\n <li #option *ngIf=\"item\" role=\"option\" (click)=\"selectItem(index)\"\n [class]=\"['flex items-center pr-base pl-lg py-sm hover:bg-primary-base hover:text-white focus:bg-warning-base focus:outline-none focus:shadow-outline-focus focus:text-black', item.classes] | makeHtmlList\"\n [ngClass]=\"{'focused': index === currentFocusIndex}\"\n [attr.aria-label]=\"item.active ? 'true' : (item.ariaLabel ? item.ariaLabel : null)\"\n [id]=\"getItemId(item, index)\"\n [attr.title]=\"item.title ? item.title : null\"\n (desyAttributeChange)=\"onChangeItemChecked()\" [attributesToCheck]=\"'aria-selected'\" [desyAttributeChangeEnabled]=\"items && items.length > 0\"\n\n [attr.aria-describedby]=\"item.ariaDescribedBy ? item.ariaDescribedBy : null\"\n [attr.aria-hidden] = \"item.ariaHidden ? item.ariaHidden : null\"\n [attr.aria-controls]=\"item.ariaControls ? item.ariaControls : null\"\n [attr.aria-current] = \"item.ariaCurrent ? item.ariaCurrent : null\"\n [attr.aria-live] = \"item.ariaLive ? item.ariaLive : null\"\n [attr.aria-expanded]=\"item.ariaExpanded ? item.ariaExpanded : null\"\n [attr.aria-errormessage]=\"item.ariaErrorMessage ? item.ariaErrorMessage : null\"\n [attr.aria-haspopup] = \"item.ariaHasPopup ? item.ariaHasPopup : null\"\n [attr.aria-tabindex] = \"item.tabindex ? item.tabindex : null\"\n\n [attr.aria-checked]=\"item.active\"\n [attr.aria-selected]=\"item.active\">\n <ng-container *desyCustomInnerContent=\"{ template: item['content'], html: item.html, text: item.text }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n </div>\n</div>" }]
291
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { listboxButton: [{
292
+ type: ViewChild,
293
+ args: ['button', { read: ElementRef, static: true }]
294
+ }], listboxList: [{
295
+ type: ViewChild,
296
+ args: ['list', { read: ElementRef }]
297
+ }], listboxContent: [{
298
+ type: ViewChild,
299
+ args: ['tooltip', { read: ElementRef, static: true }]
300
+ }], listboxOptions: [{
301
+ type: ViewChildren,
302
+ args: ['option', { read: ElementRef }]
303
+ }], labelComponent: [{
304
+ type: ContentChildren,
305
+ args: [ListboxLabelComponent]
306
+ }], itemComponentList: [{
307
+ type: ContentChildren,
308
+ args: [ListboxItemComponent]
309
+ }], id: [{
310
+ type: Input
311
+ }], isMultiselectable: [{
312
+ type: Input
313
+ }], doesChangeButtonText: [{
314
+ type: Input
315
+ }], label: [{
316
+ type: Input
317
+ }], classes: [{
318
+ type: Input
319
+ }], classesContainer: [{
320
+ type: Input
321
+ }], classesTooltip: [{
322
+ type: Input
323
+ }], idPrefix: [{
324
+ type: Input
325
+ }], disabled: [{
326
+ type: Input
327
+ }], items: [{
328
+ type: Input
329
+ }], itemsChange: [{
330
+ type: Output
331
+ }], activeItemChange: [{
332
+ type: Output
333
+ }] } });
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWJ1dHRvbnMvY29tcG9uZW50cy9saXN0Ym94L2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1idXR0b25zL2NvbXBvbmVudHMvbGlzdGJveC9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQywyQ0FBMkMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBR3ZGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxVQUFVLENBQUM7Ozs7Ozs7QUFNM0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLDJDQUEyQzthQUUvRCxpQkFBWSxHQUFHLFFBQVEsQ0FBQztJQXNDeEMsWUFBb0IsaUJBQW9DO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRFUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQWpCOUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixH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REFDckIsb0JBQW9CLGlIQVBSLFVBQVUsNEdBQ1osVUFBVSxvR0FDUCxVQUFVLG9HQUNSLFVBQVUseUVDdEM1QyxpK0tBOEVNOztBRHRDSjtJQUFDLGdCQUFnQixFQUFFOzhCQUNxQyxxQkFBcUI7d0RBQUM7MkZBVm5FLGdCQUFnQjtrQkFKNUIsU0FBUzsrQkFDRSxjQUFjO3dHQU9pQyxhQUFhO3NCQUFyRSxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDZCxXQUFXO3NCQUFuRCxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ21CLGNBQWM7c0JBQXZFLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNWLGNBQWM7c0JBQTNELFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHSixjQUFjO3NCQUFyRCxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDQyxpQkFBaUI7c0JBQXZELGVBQWU7dUJBQUMsb0JBQW9CO2dCQUU1QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlBbmRUZXh0T3JIdG1sUmVxdWlyZWRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcbmltcG9ydCB7TGlzdGJveExhYmVsRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9saXN0Ym94LWxhYmVsLWRhdGEnO1xuaW1wb3J0IHtMaXN0Ym94SXRlbURhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbGlzdGJveC1pdGVtLWRhdGEnO1xuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQge0xpc3Rib3hMYWJlbENvbXBvbmVudH0gZnJvbSAnLi9saXN0Ym94LWxhYmVsL2xpc3Rib3gtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7TGlzdGJveEl0ZW1Db21wb25lbnR9IGZyb20gJy4vbGlzdGJveC1pdGVtL2xpc3Rib3gtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7aW5saW5lUG9zaXRpb25pbmd9IGZyb20gJ3RpcHB5LmpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpc3Rib3hDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5QW5kVGV4dE9ySHRtbFJlcXVpcmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIHN0YXRpYyByZWFkb25seSBLRVlfQ09ERV9FU0MgPSAnRXNjYXBlJztcblxuICBAVmlld0NoaWxkKCdidXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBsaXN0Ym94QnV0dG9uOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsaXN0JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxpc3Rib3hMaXN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCd0b29sdGlwJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgbGlzdGJveENvbnRlbnQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGRyZW4oJ29wdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBsaXN0Ym94T3B0aW9uczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Ym94TGFiZWxDb21wb25lbnQpIGxhYmVsQ29tcG9uZW50OiBMaXN0Ym94TGFiZWxDb21wb25lbnQ7XG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdGJveEl0ZW1Db21wb25lbnQpIGl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8TGlzdGJveEl0ZW1Db21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7IC8vIHJlcXVpcmVkXG4gIEBJbnB1dCgpIGlzTXVsdGlzZWxlY3RhYmxlOiBib29sZWFuO1xuICBASW5wdXQoKSBkb2VzQ2hhbmdlQnV0dG9uVGV4dDogYm9vbGVhbjtcbiAgQElucHV0KCkgbGFiZWw6IExpc3Rib3hMYWJlbERhdGE7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlc0NvbnRhaW5lcjogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzVG9vbHRpcDogc3RyaW5nO1xuICBASW5wdXQoKSBpZFByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaXRlbXM6IExpc3Rib3hJdGVtRGF0YVtdO1xuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBhY3RpdmVJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHRpcHB5UHJvcGVydGllczogYW55OyAgICAgIC8vIFByb3BpZWRhZGVzIGRlIHRpcHB5XG4gIGN1cnJlbnRGb2N1c0luZGV4OiBudW1iZXI7IC8vIMONbmRpY2UgZGVsIGVsZW1lbnRvIGFjdHVhbCBjb24gZm9jdXNcbiAgYnV0dG9uQ29udGVudEh0bWw6IHN0cmluZzsgLy8gUHVlZGUgc2VyIGVsIHBhc2FkbyBwb3IgcGFyw6FtZXRybyBvIGVsIGl0ZW0gc2VsZWNjaW9uYWRvIGVuIGNhc28gZGUgY3VycmVudEZvY3VzSW5kZXg9dHJ1ZVxuICBpc0xpc3RWaXNpYmxlID0gZmFsc2U7ICAgICAvLyBJbmRpY2Egc2kgbGEgbGlzdGEgc2UgZXN0w6EgbW9zdHJhbmRvXG4gIGNvbnRlbnRJbml0ID0gZmFsc2U7ICAgICAgIC8vIFNlIGhhIGluaWNpYWRvIGVsIGNvbnRlbmlkb1xuICBwZW5kaW5nQ2hlY2tBY3RpdmVJdGVtc0FmdGVyVmlld0luaXQgPSBmYWxzZTtcbiAgcGVuZGluZ0ZvY3VzT25MaXN0ID0gZmFsc2U7XG5cbiAgLy8gY29uZGl0aW9uYWxJZCB5IGNvbmRpdGlvbmFsSXRlbSByZXByZXNlbnRhbiBlbiBkZXN5LWh0bWwgZWwgaXRlbSBhY3Rpdm8uIEFxdcOtIGVzIG1lam9yIG9idGVuZXJsbyBjdWFuZG8gc2UgbmVjZXNpdGFcbiAgbGFzdEFjdGl2ZUl0ZW1zOiB7IGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlciB9W107XG4gIGl0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXTtcblxuICBpdGVtTGlzdDogTGlzdGJveEl0ZW1EYXRhW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGJveENvbnRlbnQgJiYgdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmluaXRUaXBweSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5pdGVtTGlzdCA9IHRoaXMuaXRlbXM7XG5cbiAgICAgIGlmICh0aGlzLmNvbnRlbnRJbml0KSB7XG4gICAgICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wZW5kaW5nQ2hlY2tBY3RpdmVJdGVtc0FmdGVyVmlld0luaXQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIGlmICh0aGlzLnBlbmRpbmdDaGVja0FjdGl2ZUl0ZW1zQWZ0ZXJWaWV3SW5pdCkge1xuICAgICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gICAgICB0aGlzLnBlbmRpbmdDaGVja0FjdGl2ZUl0ZW1zQWZ0ZXJWaWV3SW5pdCA9IGZhbHNlO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZW50SW5pdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudExpc3QgJiYgKCF0aGlzLml0ZW1zIHx8IHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhpcy5zZXR1cEl0ZW1Db21wb25lbnRMaXN0KCk7XG4gICAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXR1cEl0ZW1Db21wb25lbnRMaXN0KCk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nRm9jdXNPbkxpc3QpIHtcbiAgICAgIHRoaXMucGVuZGluZ0ZvY3VzT25MaXN0ID0gZmFsc2U7XG4gICAgICB0aGlzLmxpc3Rib3hMaXN0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuICBcbiAgcHJpdmF0ZSBzZXR1cEl0ZW1Db21wb25lbnRMaXN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zKSB7XG4gICAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cbiAgICB0aGlzLml0ZW1Db21wb25lbnRTdWJzY3JpcHRpb25zID0gW107XG4gICAgdGhpcy5pdGVtTGlzdCA9IFtdO1xuICAgIHRoaXMuaXRlbUNvbXBvbmVudExpc3QuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHRoaXMuaXRlbUxpc3QucHVzaChpdGVtKTtcbiAgICB9KTtcbiAgICB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBpdGVtLml0ZW1DaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpKTtcbiAgICAgIHRoaXMuaXRlbUNvbXBvbmVudFN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuICAgIH0pO1xuICAgICAgXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZUl0ZW1zRGF0YSgpOiB7IGl0ZW06IExpc3Rib3hJdGVtRGF0YSwgaW5kZXg6IG51bWJlciB9W10ge1xuICAgIHJldHVybiB0aGlzLml0ZW1MaXN0XG4gICAgICAubWFwKChpdGVtLCBpbmRleCkgPT4gaXRlbS5hY3RpdmUgPyB7aXRlbSwgaW5kZXh9IDogbnVsbClcbiAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtICE9PSBudWxsKTtcbiAgfVxuXG4gIG9uQ2hhbmdlSXRlbUNoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja0FjdGl2ZUl0ZW1zKCk7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBjaGVja0FjdGl2ZUl0ZW1zKCk6IHZvaWQge1xuICAgIGxldCBhY3RpdmVJdGVtczogeyBpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIgfVtdID0gdGhpcy5pdGVtTGlzdFxuICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IGl0ZW0uYWN0aXZlID8ge2l0ZW0sIGluZGV4fSA6IG51bGwpXG4gICAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbSAhPT0gbnVsbCk7XG5cbiAgICAvLyBzZSBjb21wcnVlYmEgc2kgYWxnw7puIGl0ZW0gaGEgY2FtYmlhZG8gc3UgZXN0YWRvIGRlIGFjdGl2ZVxuICAgIGxldCBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gZmFsc2U7XG4gICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zICYmIGFjdGl2ZUl0ZW1zLmxlbmd0aCA9PT0gdGhpcy5sYXN0QWN0aXZlSXRlbXMubGVuZ3RoKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFjdGl2ZUl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChhY3RpdmVJdGVtc1tpXS5pbmRleCAhPT0gdGhpcy5sYXN0QWN0aXZlSXRlbXNbaV0uaW5kZXgpIHtcbiAgICAgICAgICBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBoYXNBY3RpdmVJdGVtQ2hhbmdlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBTaSBoYXkgY2FtYmlvcyBleHRlcm5vcyB5IGVzIHNlbGVjY2nDs24gw7puaWNhLCBhbnVsYW1vcyBsYSBzZWxlY2Npw7NuIGFudGVyaW9yXG4gICAgaWYgKHRoaXMubGFzdEFjdGl2ZUl0ZW1zICYmICF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlICYmIGhhc0FjdGl2ZUl0ZW1DaGFuZ2UpIHtcbiAgICAgIGlmIChhY3RpdmVJdGVtcy5sZW5ndGggIT09IHRoaXMubGFzdEFjdGl2ZUl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IGFjdGl2ZUl0ZW0gb2YgYWN0aXZlSXRlbXMpIHtcbiAgICAgICAgICBpZiAodGhpcy5sYXN0QWN0aXZlSXRlbXMuZmluZEluZGV4KGkgPT4gaS5pbmRleCA9PT0gYWN0aXZlSXRlbS5pbmRleCkgPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXRJdGVtQWN0aXZlVmFsdWUoYWN0aXZlSXRlbS5pbmRleCwgZmFsc2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGFjdGl2ZUl0ZW1zID0gYWN0aXZlSXRlbXMuZmlsdGVyKGFjdGl2ZUl0ZW0gPT4gYWN0aXZlSXRlbS5pdGVtLmFjdGl2ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhc3RBY3RpdmVJdGVtcyA9IGFjdGl2ZUl0ZW1zO1xuXG4gICAgLy8gU2UgY2FtYmlhIGVsIGNvbnRlbmlkbyBkZWwgYm90w7NuXG4gICAgaWYgKHRoaXMuZG9lc0NoYW5nZUJ1dHRvblRleHQgJiYgIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUgJiYgYWN0aXZlSXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYWN0aXZlSXRlbU9wdGlvbiA9IHRoaXMubGlzdGJveE9wdGlvbnMuZmluZCgoaXRlbSwgaW5kZXgpID0+IGluZGV4ID09PSBhY3RpdmVJdGVtc1swXS5pbmRleCk7XG4gICAgICBpZiAoYWN0aXZlSXRlbU9wdGlvbikge1xuICAgICAgICB0aGlzLmJ1dHRvbkNvbnRlbnRIdG1sID0gYWN0aXZlSXRlbU9wdGlvbi5uYXRpdmVFbGVtZW50LmlubmVySFRNTDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idXR0b25Db250ZW50SHRtbCA9IHRoaXMuaHRtbCA/IHRoaXMuaHRtbCA6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGNhbWJpb3MsIHNlIGVtaXRlblxuICAgIGlmIChoYXNBY3RpdmVJdGVtQ2hhbmdlKSB7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtTGlzdCk7XG4gICAgICB0aGlzLmFjdGl2ZUl0ZW1DaGFuZ2UuZW1pdChhY3RpdmVJdGVtcy5sZW5ndGggPiAwID8gYWN0aXZlSXRlbXNbMF0uaXRlbSA6IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIG9uTGlzdFNob3coKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RWaXNpYmxlID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5saXN0Ym94TGlzdCkge1xuICAgICAgdGhpcy5wZW5kaW5nRm9jdXNPbkxpc3QgPSB0cnVlO1xuICAgICAgLy9zZXRUaW1lb3V0KCgpID0+IHRoaXMubGlzdGJveExpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBvbkxpc3RDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzTGlzdFZpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIG9uTGlzdEZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUl0ZW1zRGF0YSA9IHRoaXMuZ2V0QWN0aXZlSXRlbXNEYXRhKCk7XG4gICAgaWYgKGFjdGl2ZUl0ZW1zRGF0YS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhY3RpdmVFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5nZXRJdGVtSWQoYWN0aXZlSXRlbXNEYXRhWzBdLml0ZW0sIGFjdGl2ZUl0ZW1zRGF0YVswXS5pbmRleCkpO1xuICAgICAgaWYgKGFjdGl2ZUVsZW0pIHtcbiAgICAgICAgYWN0aXZlRWxlbS5mb2N1cygpO1xuICAgICAgICB0aGlzLmN1cnJlbnRGb2N1c0luZGV4ID0gYWN0aXZlSXRlbXNEYXRhWzBdLmluZGV4O1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtTGlzdCAmJiB0aGlzLml0ZW1MaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSAwO1xuICAgICAgaWYgKCF0aGlzLmlzTXVsdGlzZWxlY3RhYmxlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbSgwKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKCdObyBlbGVtZW50IHRvIGZvY3VzJyk7XG4gICAgfVxuICB9XG5cbiAgbW92ZUZvY3VzKHBvc2l0aW9uOiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHBvc2l0aW9uID49IDAgJiYgcG9zaXRpb24gPCB0aGlzLml0ZW1MaXN0Lmxlbmd0aCkge1xuICAgICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50Rm9jdXNJbmRleCA9IHBvc2l0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RJdGVtKHBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvblNwYWNlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0SXRlbSh0aGlzLmN1cnJlbnRGb2N1c0luZGV4KTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJdGVtKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNNdWx0aXNlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMuaXRlbUxpc3QuZm9yRWFjaChpdGVtID0+IHRoaXMuc2V0SXRlbUFjdGl2ZVZhbHVlKGluZGV4LCBmYWxzZSkpO1xuICAgICAgdGhpcy5zZXRJdGVtQWN0aXZlVmFsdWUoaW5kZXgsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldEl0ZW1BY3RpdmVWYWx1ZShpbmRleCwgIXRoaXMuaXRlbUxpc3RbaW5kZXhdLmFjdGl2ZSk7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudEZvY3VzSW5kZXggPSBpbmRleDtcblxuICAgIHRoaXMuY2hlY2tBY3RpdmVJdGVtcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJdGVtQWN0aXZlVmFsdWUoaW5kZXg6IG51bWJlciwgYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXRlbUNvbXBvbmVudExpc3QgIT09IG51bGwgJiYgdGhpcy5pdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkZWFjdGl2YXRlZEl0ZW0gPSB0aGlzLml0ZW1Db21wb25lbnRMaXN0LmdldChpbmRleCk7XG4gICAgICBkZWFjdGl2YXRlZEl0ZW0/LnNldEFjdGl2ZShhY3RpdmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW1MaXN0W2luZGV4XS5hY3RpdmUgPSBhY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogTcOpdG9kb3MgcGFyYSBmYWNpbGl0YXIgY29udGVuaWRvIGFsIHRlbXBsYXRlXG4gICAqL1xuXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaWRQcmVmaXggPyB0aGlzLmlkUHJlZml4IDogdGhpcy5pZCArICctbGlzdGJveC1pdGVtJztcbiAgfVxuXG4gIGdldEl0ZW1JZChpdGVtOiBMaXN0Ym94SXRlbURhdGEsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCBpdGVtSWQ6IHN0cmluZztcbiAgICBpZiAoaXRlbS5pZCkge1xuICAgICAgaXRlbUlkID0gaXRlbS5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbUlkID0gdGhpcy5nZXRJZFByZWZpeCgpO1xuICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICBpdGVtSWQgKz0gYC0ke2luZGV4fWA7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpdGVtSWQ7XG4gIH1cblxuICBoYXNMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy5sYWJlbCB8fCB0aGlzLmxhYmVsQ29tcG9uZW50KTtcbiAgfVxuXG4gIGdldExhYmVsQ29udGVudChsYWJlbDogTGlzdGJveExhYmVsRGF0YSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGxhYmVsLmh0bWwgPyBsYWJlbC5odG1sIDogYDxwPiR7IFN0cmluZ1V0aWxzLmVzY2FwZUh0bWwobGFiZWwudGV4dCkgfTwvcD5gO1xuICB9XG5cbiAgaW5pdFRpcHB5KCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbnRlbnRUb29sdGlwID0gdGhpcy5saXN0Ym94Q29udGVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGxpc3Rib3hCdXR0b25FbGVtZW50ID0gdGhpcy5saXN0Ym94QnV0dG9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgdGhpcy50aXBweVByb3BlcnRpZXMgPSB7ICAgICAgICBcbiAgICAgIHBsYWNlbWVudDogJ2JvdHRvbS1zdGFydCcsXG4gICAgICBpbmxpbmVQb3NpdGlvbmluZzogdHJ1ZSwgICAgICAgIFxuICAgICAgY29udGVudDogY29udGVudFRvb2x0aXAsXG4gICAgICBhbGxvd0hUTUw6IHRydWUsIC8vIE1ha2Ugc3VyZSB5b3UgYXJlIHNhbml0aXppbmcgYW55IHVzZXIgZGF0YSBpZiByZW5kZXJpbmcgSFRNTCB0byBwcmV2ZW50IFhTUyBhdHRhY2tzLlxuICAgICAgdHJpZ2dlcjogJ2NsaWNrJyxcbiAgICAgIGhpZGVPbkNsaWNrOiB0cnVlLFxuICAgICAgaW50ZXJhY3RpdmU6IHRydWUsXG4gICAgICBhcnJvdzogZmFsc2UsXG4gICAgICBvZmZzZXQ6IFswLCAtMTBdLFxuICAgICAgdGhlbWU6ICcnLFxuICAgICAgcGx1Z2luczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2hpZGVPblBvcHBlckJsdXInLFxuICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgICBmbihpbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb25DcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucG9wcGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlLnByb3BzLmhpZGVPblBvcHBlckJsdXIgJiZcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucmVsYXRlZFRhcmdldCAmJlxuICAgICAgICAgICAgICAgICAgICAhaW5zdGFuY2UucG9wcGVyLmNvbnRhaW5zKGV2ZW50LnJlbGF0ZWRUYXJnZXQpXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHtcbiAgICAgICAgICBuYW1lOiAnaGlkZU9uRXNjJyxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgICAgICAgZm4oe2hpZGV9KTogYW55IHtcblxuICAgICAgICAgICAgZnVuY3Rpb24gb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IExpc3Rib3hDb21wb25lbnQuS0VZX0NPREVfRVNDKSB7XG4gICAgICAgICAgICAgICAgaGlkZSgpO1xuICAgICAgICAgICAgICAgIGxpc3Rib3hCdXR0b25FbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgb25TaG93KCk6IHZvaWQge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbktleURvd24pO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBvbkhpZGUoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uS2V5RG93bik7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlubGluZVBvc2l0aW9uaW5nXG4gICAgICBdLFxuICAgICAgcm9sZTogZmFsc2UsXG4gICAgICBhcmlhOiB7XG4gICAgICAgIGNvbnRlbnQ6ICdhdXRvJyxcbiAgICAgIH0sXG4gICAgICBvblNob3c6IHRoaXMub25MaXN0U2hvdy5iaW5kKHRoaXMpLFxuICAgICAgb25IaWRkZW46IHRoaXMub25MaXN0Q2xvc2UuYmluZCh0aGlzKVxuICAgIH07XG4gIH1cbiAgXG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImNsYXNzZXNDb250YWluZXIgPyBjbGFzc2VzQ29udGFpbmVyIDogJ3JlbGF0aXZlJ1wiPlxuICA8ZGl2IFtpZF09XCJpZCArICctbGFiZWwnXCIgW2NsYXNzXT1cIlsnbWItc20nLCBsYWJlbENvbXBvbmVudD8uY2xhc3NlcywgbGFiZWw/LmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgY29tcG9uZW50OiBsYWJlbENvbXBvbmVudCwgaHRtbDogbGFiZWwgPyBnZXRMYWJlbENvbnRlbnQobGFiZWwpIDogbnVsbCB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8YnV0dG9uICNidXR0b24gW2lkXT1cImlkICsgJy1idXR0b24nXCJcbiAgICAgICAgICBbY2xhc3NdPVwiWydjLWxpc3Rib3gnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgbmd4VGlwcHkgW3RpcHB5UHJvcHNdPVwidGlwcHlQcm9wZXJ0aWVzXCJcbiAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIltoYXNMYWJlbCgpID8gaWQgKyAnLWxhYmVsJyA6IG51bGwsIGlkICsgJy1idXR0b24nXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IChhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1yb2xlXSA9IFwicm9sZSA/IHJvbGUgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXSA9IFwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV0gPSBcImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXSA9IFwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXSA9IFwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XSA9IFwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV0gPSBcImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXSA9IFwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1lcnJvck1lc3NhZ2VdID0gXCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtaGFzcHB1cF0gPSBcImFyaWFIYXNQb3B1cCA/IGFyaWFIYXNQb3B1cCA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtdGFiaW5kZXhdID0gXCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1mbGV4IHNlbGYtY2VudGVyIG1heC13LXhzIGFsaWduLW1pZGRsZSB0cnVuY2F0ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IGh0bWw6IGJ1dHRvbkNvbnRlbnRIdG1sLCB0ZXh0OiB0ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgIDxzdmcgY2xhc3M9XCJpbmxpbmUtYmxvY2sgLW1yLTIgIGFsaWduLW1pZGRsZSAtbXktcHhcIiB2aWV3Qm94PVwiMCAwIDk2IDk2XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIGZvY3VzYWJsZT1cImZhbHNlXCIgd2lkdGg9XCIxLjVlbVwiIGhlaWdodD1cIjEuNWVtXCI+PGc+PHBhdGggZD1cIk00Ni43MSA1OC4wMzdhMS44MjMgMS44MjMgMCAwMDIuNTgxIDBMNjIuMDQ4IDQ1LjI4YTEuODIzIDEuODIzIDAgMDAtMS4yOS0zLjExM0gzNS4yNDNhMS44MjMgMS44MjMgMCAwMC0xLjI5MSAzLjExM3pcIi8+PC9nPjwvc3ZnPlxuICA8L2J1dHRvbj5cbiAgPGRpdiAjdG9vbHRpcCBbY2xhc3NdPVwiWydjLWxpc3Rib3hfX3Rvb2x0aXAgLW1sLXNtIG10LTIgYm9yZGVyIGJvcmRlci1uZXV0cmFsLWJhc2Ugc2hhZG93LW1kIGJnLXdoaXRlJywgY2xhc3Nlc1Rvb2x0aXBdIHwgbWFrZUh0bWxMaXN0XCI+XG4gICAgPHVsICpuZ0lmPVwiaXRlbUxpc3RcIlxuICAgICAgICAjbGlzdCBbaWRdPVwiaWRcIlxuICAgICAgICAoZm9jdXMpPVwib25MaXN0Rm9jdXMoKVwiXG4gICAgICAgIChrZXlkb3duLmFycm93VXApPVwibW92ZUZvY3VzKGN1cnJlbnRGb2N1c0luZGV4IC0gMSwgJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJtb3ZlRm9jdXMoY3VycmVudEZvY3VzSW5kZXggKyAxLCAkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uaG9tZSk9XCJtb3ZlRm9jdXMoMCwgJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVuZCk9XCJtb3ZlRm9jdXMoaXRlbXMubGVuZ3RoIC0gMSwgJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIGNsYXNzPVwidGV4dC1zbSBvdXRsaW5lLW5vbmVcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaGFzTGFiZWwoKSA/IGlkIDogKGFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbXVsdGlzZWxlY3RhYmxlXT1cImlzTXVsdGlzZWxlY3RhYmxlID8gJ3RydWUnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdID0gXCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV0gPSBcImFyaWFEZXNjcmliZWRCeSA/IGFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl0gPSBcImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdID0gXCJhcmlhQ29udHJvbHMgPyBhcmlhQ29udHJvbHMgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XSA9IFwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxpdmVdID0gXCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdID0gXCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdID0gXCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXSA9IFwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtYWN0aXZlZGVzY2VuZGFudF0gPSBcImxhc3RBY3RpdmVJdGVtcyAmJiBsYXN0QWN0aXZlSXRlbXMubGVuZ3RoID4gMCA/IGdldEl0ZW1JZChsYXN0QWN0aXZlSXRlbXNbMF0uaXRlbSwgbGFzdEFjdGl2ZUl0ZW1zWzBdLmluZGV4KSA6IG51bGxcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbUxpc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgIDxsaSAjb3B0aW9uICpuZ0lmPVwiaXRlbVwiIHJvbGU9XCJvcHRpb25cIiAoY2xpY2spPVwic2VsZWN0SXRlbShpbmRleClcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIlsnZmxleCBpdGVtcy1jZW50ZXIgcHItYmFzZSBwbC1sZyBweS1zbSBob3ZlcjpiZy1wcmltYXJ5LWJhc2UgaG92ZXI6dGV4dC13aGl0ZSBmb2N1czpiZy13YXJuaW5nLWJhc2UgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzIGZvY3VzOnRleHQtYmxhY2snLCBpdGVtLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZm9jdXNlZCc6IGluZGV4ID09PSBjdXJyZW50Rm9jdXNJbmRleH1cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFjdGl2ZSA/ICd0cnVlJyA6IChpdGVtLmFyaWFMYWJlbCA/IGl0ZW0uYXJpYUxhYmVsIDogbnVsbClcIlxuICAgICAgICAgICAgW2lkXT1cImdldEl0ZW1JZChpdGVtLCBpbmRleClcIlxuICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiaXRlbS50aXRsZSA/IGl0ZW0udGl0bGUgOiBudWxsXCJcbiAgICAgICAgICAgIChkZXN5QXR0cmlidXRlQ2hhbmdlKT1cIm9uQ2hhbmdlSXRlbUNoZWNrZWQoKVwiIFthdHRyaWJ1dGVzVG9DaGVja109XCInYXJpYS1zZWxlY3RlZCdcIiBbZGVzeUF0dHJpYnV0ZUNoYW5nZUVuYWJsZWRdPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoID4gMFwiXG5cbiAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnkgPyBpdGVtLmFyaWFEZXNjcmliZWRCeSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dID0gXCJpdGVtLmFyaWFIaWRkZW4gPyBpdGVtLmFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHMgPyBpdGVtLmFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XSA9IFwiaXRlbS5hcmlhQ3VycmVudCA/IGl0ZW0uYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGl2ZV0gPSBcIml0ZW0uYXJpYUxpdmUgPyBpdGVtLmFyaWFMaXZlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIml0ZW0uYXJpYUV4cGFuZGVkID8gaXRlbS5hcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIml0ZW0uYXJpYUVycm9yTWVzc2FnZSA/IGl0ZW0uYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF0gPSBcIml0ZW0uYXJpYUhhc1BvcHVwID8gaXRlbS5hcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtdGFiaW5kZXhdID0gXCJpdGVtLnRhYmluZGV4ID8gaXRlbS50YWJpbmRleCA6IG51bGxcIlxuXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLmFjdGl2ZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IHRlbXBsYXRlOiBpdGVtWydjb250ZW50J10sIGh0bWw6IGl0ZW0uaHRtbCwgdGV4dDogaXRlbS50ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9saT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+Il19