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
@@ -1,50 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
3
- import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
4
- import { LabelComponent } from '../../label/label.component';
5
- import { DateInputItemComponent } from '../date-input-item/date-input-item.component';
6
- import * as i0 from "@angular/core";
7
- export class DateInputYearComponent extends DateInputItemComponent {
8
- constructor() {
9
- super(...arguments);
10
- this.valueChange = new EventEmitter();
11
- }
12
- }
13
- DateInputYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateInputYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- DateInputYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DateInputYearComponent, selector: "desy-input-year", inputs: { id: "id", name: "name", disabled: "disabled", hasErrors: "hasErrors", value: "value", autocomplete: "autocomplete", pattern: "pattern", classes: "classes", maxlength: "maxlength", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, providers: [{ provide: DateInputItemComponent, useExisting: forwardRef(() => DateInputYearComponent) }], queries: [{ propertyName: "labelComponent", predicate: LabelComponent }], viewQueries: [{ propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #label>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n" });
15
- __decorate([
16
- DesyContentChild()
17
- ], DateInputYearComponent.prototype, "labelComponent", void 0);
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateInputYearComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'desy-input-year', providers: [{ provide: DateInputItemComponent, useExisting: forwardRef(() => DateInputYearComponent) }], template: "<ng-template #label>\n <ng-content select=\"desy-label\"></ng-content>\n</ng-template>\n" }]
21
- }], propDecorators: { id: [{
22
- type: Input
23
- }], name: [{
24
- type: Input
25
- }], disabled: [{
26
- type: Input
27
- }], hasErrors: [{
28
- type: Input
29
- }], value: [{
30
- type: Input
31
- }], autocomplete: [{
32
- type: Input
33
- }], pattern: [{
34
- type: Input
35
- }], classes: [{
36
- type: Input
37
- }], maxlength: [{
38
- type: Input
39
- }], placeholder: [{
40
- type: Input
41
- }], valueChange: [{
42
- type: Output
43
- }], labelComponent: [{
44
- type: ContentChildren,
45
- args: [LabelComponent]
46
- }], labelRef: [{
47
- type: ViewChild,
48
- args: ['label', { static: true }]
49
- }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQteWVhci9kYXRlLWlucHV0LXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC15ZWFyL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUM1RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOENBQThDLENBQUM7O0FBT3RGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxzQkFBc0I7SUFMbEU7O1FBaUJZLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7S0FPMUU7O21IQW5CWSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwrU0FGdEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyx5REFpQnBGLGNBQWMscUtDMUJqQywyRkFHQTtBRHVCRTtJQURDLGdCQUFnQixFQUFFOzhEQUM2QzsyRkFmckQsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQixhQUVoQixDQUFDLEVBQUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEVBQUMsQ0FBQzs4QkFHNUYsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFHMEIsY0FBYztzQkFBOUMsZUFBZTt1QkFBQyxjQUFjO2dCQUVPLFFBQVE7c0JBQTdDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdGVtRGF0ZUlucHV0RGF0YSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtEZXN5Q29udGVudENoaWxkfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7TGFiZWxDb21wb25lbnR9IGZyb20gJy4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS1pbnB1dC1pdGVtL2RhdGUtaW5wdXQtaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWlucHV0LXllYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IERhdGVJbnB1dEl0ZW1Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVJbnB1dFllYXJDb21wb25lbnQpfV0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVJbnB1dFllYXJDb21wb25lbnQgZXh0ZW5kcyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgSXRlbURhdGVJbnB1dERhdGEge1xuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBoYXNFcnJvcnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGF1dG9jb21wbGV0ZTogc3RyaW5nO1xuICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihMYWJlbENvbXBvbmVudCkgbGFiZWxDb21wb25lbnQ6IExhYmVsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWxSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,289 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Component, ContentChildren, EventEmitter, forwardRef, Input, Optional, Output, ViewChild, HostBinding } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { FormFieldComponent } from '../form-field/form-field.component';
5
- import { LegendComponent } from '../fieldset/legend/legend.component';
6
- import { FieldsetComponent } from '../fieldset/fieldset.component';
7
- import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
8
- import { DateInputDayComponent } from './date-input-day/date-input-day.component';
9
- import { DateInputMonthComponent } from './date-input-month/date-input-month.component';
10
- import { DateInputYearComponent } from './date-input-year/date-input-year.component';
11
- import { MakeHtmlListPipe } from '../../../shared/pipes/make-html-list.pipe';
12
- import { DesyOnInputChange } from '../../../shared/decorators/desy-on-input-change.decorator';
13
- import { DateInputDividerComponent } from './date-input-divider/date-input-divider.component';
14
- import { StringUtils } from '../../../shared/utils/string-utils';
15
- import { DateInputItemComponent } from './date-input-item/date-input-item.component';
16
- import { ErrorMessageComponent } from '../error-message/error-message.component';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "@angular/forms";
19
- import * as i2 from "@angular/common";
20
- import * as i3 from "../../../shared/directives/custom-inner-content.directive";
21
- import * as i4 from "../template-driven-wrapper/template-driven-wrapper.component";
22
- import * as i5 from "../hint/hint.component";
23
- import * as i6 from "../error-message/error-message.component";
24
- import * as i7 from "../fieldset/fieldset.component";
25
- import * as i8 from "../input/input.component";
26
- import * as i9 from "../../../shared/pipes/make-html-list.pipe";
27
- export class DateInputComponent extends FormFieldComponent {
28
- constructor(controlContainer) {
29
- super();
30
- this.controlContainer = controlContainer;
31
- this.itemsChange = new EventEmitter();
32
- // form group class - asignar clases a la etiqueta desy-input
33
- this.cfg = true;
34
- this.contentInit = false;
35
- }
36
- ngOnInit() {
37
- if (this.controlContainer) {
38
- this.ogFormGroup = this.controlContainer.control;
39
- }
40
- if (this.placeholder) {
41
- let arr = this.placeholder.split('/');
42
- if (this.items && this.items.length > 0 && arr && arr.length > 0) {
43
- for (let i = 0; i < this.items.length; i++) {
44
- this.items[i].placeholder = arr[i];
45
- }
46
- }
47
- }
48
- }
49
- ngOnChanges(changes) {
50
- this.cfgr = (this.hasErrorsMessage() || this.formGroupClasses === 'c-form-group--error');
51
- }
52
- ngAfterContentInit() {
53
- this.contentInit = true;
54
- }
55
- initDefaultItems() {
56
- if (!this.items) {
57
- this.items = [
58
- {
59
- name: 'día',
60
- classes: 'w-14',
61
- maxlength: 2
62
- },
63
- {
64
- name: 'mes',
65
- classes: 'w-14',
66
- maxlength: 2
67
- },
68
- {
69
- name: 'año',
70
- classes: 'w-20',
71
- maxlength: 4
72
- }
73
- ];
74
- }
75
- }
76
- writeValue(value) {
77
- this.value = value;
78
- if (this.value) {
79
- const items = this.getItems();
80
- items.forEach(item => item.value = this.value[this.getItemName(item)]);
81
- if (this.items) {
82
- this.itemsChange.emit(this.items);
83
- }
84
- }
85
- this.onChange(value);
86
- }
87
- overrideFieldsetParams(fieldset) {
88
- fieldset.caller = this.innerHtml;
89
- fieldset.errorId = this.getErrorId();
90
- fieldset.describedBy = new MakeHtmlListPipe().transform([this.getHintId(), this.getErrorId()], null);
91
- fieldset.role = 'group';
92
- fieldset.detectChanges();
93
- }
94
- overrideErrorMessageParams(errorMessage) {
95
- if (errorMessage && !errorMessage.id) {
96
- errorMessage.id = this.getErrorId();
97
- errorMessage.detectChanges();
98
- }
99
- }
100
- onExternalChange() {
101
- if (!this.contentInit) {
102
- return;
103
- }
104
- if (!this.value) {
105
- this.value = {};
106
- }
107
- const items = this.getItems();
108
- items.forEach(item => this.value[this.getItemName(item)] = item.value);
109
- const newVal = {};
110
- Object.assign(newVal, this.value);
111
- this.onChange(newVal);
112
- }
113
- onInternalChange(item, itemValue) {
114
- const itemName = this.getItemName(item);
115
- if (!this.value) {
116
- this.value = {};
117
- }
118
- if (this.value[itemName] !== itemValue) {
119
- this.value[itemName] = itemValue ? +itemValue : undefined;
120
- const newVal = {};
121
- Object.assign(newVal, this.value);
122
- this.onChange(newVal);
123
- if (item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent) {
124
- item.valueChange.emit(itemValue);
125
- }
126
- if (this.items) {
127
- item.value = itemValue;
128
- this.itemsChange.emit(this.items);
129
- }
130
- }
131
- }
132
- hasFieldset() {
133
- return !!(this.hasFieldsetComponent() || this.hasLegendComponent() || this.legendRef || this.fieldsetData
134
- || (this.legendData && (this.legendData.text || this.legendData.html)) || this.legendText);
135
- }
136
- hasFieldsetComponent() {
137
- return !!this.fieldsetComponent;
138
- }
139
- hasLegendComponent() {
140
- return !!this.legendComponent;
141
- }
142
- hasErrorMessageComponent() {
143
- return !!this.errorMessageComponent;
144
- }
145
- getItemName(item) {
146
- return this.namePrefix ? this.namePrefix + '-' + item.name : item.name;
147
- }
148
- getItemLabel(item) {
149
- let labelData;
150
- if (item.labelData && (item.labelData.text || item.labelData.html)) {
151
- labelData = item.labelData;
152
- }
153
- else {
154
- labelData = {
155
- text: item.labelText ? item.labelText : (item.name ? item.name.toUpperCase() : null)
156
- };
157
- }
158
- return labelData;
159
- }
160
- getItemLabelRef(item) {
161
- return item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent ?
162
- item.labelRef : null;
163
- }
164
- getItems() {
165
- let items;
166
- if (this.dateInputItemComponents && this.dateInputItemComponents.length > 0) {
167
- items = this.dateInputItemComponents.toArray();
168
- }
169
- else if (this.items) {
170
- items = this.items;
171
- }
172
- else if (this.contentInit) {
173
- items = DateInputComponent.defaultItems;
174
- }
175
- else {
176
- items = [];
177
- }
178
- return items;
179
- }
180
- getItemDividerTemplate(item) {
181
- return item.divider instanceof DateInputDividerComponent ? item.divider.dividerContent : null;
182
- }
183
- getItemDividerHtml(item) {
184
- return item.divider.html ? item.divider.html : `<p>${StringUtils.escapeHtml(item.divider.text)}</p>`;
185
- }
186
- }
187
- DateInputComponent.defaultItems = [
188
- {
189
- name: 'day',
190
- classes: 'w-14',
191
- maxlength: 2
192
- },
193
- {
194
- name: 'month',
195
- classes: 'w-14',
196
- maxlength: 2
197
- },
198
- {
199
- name: 'year',
200
- classes: 'w-20',
201
- maxlength: 4
202
- }
203
- ];
204
- DateInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateInputComponent, deps: [{ token: i1.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component });
205
- DateInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DateInputComponent, selector: "desy-date-input", inputs: { ngModelGroup: "ngModelGroup", items: "items", namePrefix: "namePrefix", classes: "classes", errorMessage: "errorMessage", id: "id", formGroupClasses: "formGroupClasses", fieldsetData: "fieldsetData", legendRef: "legendRef", legendData: "legendData", legendText: "legendText", placeholder: "placeholder" }, outputs: { itemsChange: "itemsChange" }, host: { properties: { "class.c-form-group": "this.cfg", "class.c-form-group--error": "this.cfgr", "class": "this.formGroupClasses" } }, providers: [
206
- {
207
- provide: NG_VALUE_ACCESSOR,
208
- useExisting: forwardRef(() => DateInputComponent),
209
- multi: true
210
- }
211
- ], queries: [{ propertyName: "fieldsetComponent", predicate: FieldsetComponent }, { propertyName: "errorMessageComponent", predicate: ErrorMessageComponent }, { propertyName: "legendComponent", predicate: LegendComponent }, { propertyName: "dateInputItemComponents", predicate: DateInputItemComponent }], viewQueries: [{ propertyName: "innerHtml", first: true, predicate: ["innerHtml"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-template #innerHtml>\n <ng-container *ngIf=\"hasHintComponent()\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasHintComponent()\">\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\n <desy-hint *ngIf=\"!hintRef && hintData\"\n [id]=\"getHintId()\"\n [text]=\"hintData.text\"\n [html]=\"hintData.html\"\n [classes]=\"hintData.classes\"\n [role]=\"hintData.role\"\n [ariaLabel]=\"hintData.ariaLabel\"\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\n [ariaHidden]=\"hintData.ariaHidden\"\n [ariaDisabled]=\"hintData.ariaDisabled\"\n [ariaControls]=\"hintData.ariaControls\"\n [ariaCurrent]=\"hintData.ariaCurrent\"\n [ariaLive]=\"hintData.ariaLive\"\n [ariaExpanded]=\"hintData.ariaExpanded\"\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\n [tabindex]=\"hintData.tabindex\"></desy-hint>\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\n </ng-container>\n\n\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\n [id]=\"getErrorId()\"\n [text]=\"errorMessageData.text\"\n [html]=\"errorMessageData.html\"\n [classes]=\"errorMessageData.classes\"\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\n [role]=\"errorMessageData.role\"\n [ariaLabel]=\"errorMessageData.ariaLabel\"\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\n [ariaHidden]=\"errorMessageData.ariaHidden\"\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\n [ariaControls]=\"errorMessageData.ariaControls\"\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\n [ariaLive]=\"errorMessageData.ariaLive\"\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\n </ng-container>\n\n <!-- With reactive forms -->\n <div *ngIf=\"controlContainer && !ngModelGroup\"\n [formGroup]=\"ogFormGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [formControlName]=\"getItemName(item)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Template-driven forms -->\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\n <div [ngModelGroup]=\"ngModelGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n \n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </desy-template-driven-wrapper>\n\n <!-- With ngModel-->\n <div *ngIf=\"!controlContainer\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n \n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n</div>\n</ng-template>\n\n<ng-container *ngIf=\"hasFieldsetComponent()\">\n <ng-content select=\"desy-fieldset\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"!hasFieldsetComponent()\">\n <desy-fieldset *ngIf=\"fieldsetData\"\n [classes]=\"fieldsetData.classes\"\n [id]=\"fieldsetData.id\"\n [legendData]=\"fieldsetData.legend\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"\n [ariaLabel]=\"fieldsetData.ariaLabel\"\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\n [ariaHidden]=\"fieldsetData.ariaHidden\"\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\n [ariaControls]=\"fieldsetData.ariaControls\"\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\n [ariaLive]=\"fieldsetData.ariaLive\"\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && hasLegendComponent()\"\n [legendRef]=\"legendTemplate\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\n <ng-template #legendTemplate>\n <ng-content select=\"desy-legend\"></ng-content>\n </ng-template>\n </desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\n [legendRef]=\"legendRef\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\n [legendText]=\"legendText\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n</ng-container>\n\n<ng-container *ngIf=\"!hasFieldset()\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgModelGroup, selector: "[ngModelGroup]", inputs: ["ngModelGroup"], exportAs: ["ngModelGroup"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i4.TemplateDrivenWrapperComponent, selector: "desy-template-driven-wrapper" }, { kind: "component", type: i5.HintComponent, selector: "desy-hint", inputs: ["id", "classes", "html", "text"] }, { kind: "component", type: i6.ErrorMessageComponent, selector: "desy-error-message", inputs: ["id", "classes", "html", "text", "visuallyHiddenText"] }, { kind: "component", type: i7.FieldsetComponent, selector: "desy-fieldset", inputs: ["describedBy", "errorId", "legendRef", "legendData", "legendText", "classes", "caller", "id", "headingLevel"] }, { kind: "component", type: i8.InputComponent, selector: "desy-input", inputs: ["name", "type", "describedBy", "pattern", "inputmode", "placeholder", "formGroupClasses", "classes", "autocomplete", "maxlength", "errorId", "attributes"] }, { kind: "pipe", type: i9.MakeHtmlListPipe, name: "makeHtmlList" }] });
212
- __decorate([
213
- DesyOnInputChange('onExternalChange')
214
- ], DateInputComponent.prototype, "items", void 0);
215
- __decorate([
216
- DesyOnInputChange('onExternalChange')
217
- ], DateInputComponent.prototype, "namePrefix", void 0);
218
- __decorate([
219
- DesyContentChild({ onSetCallbackName: 'overrideFieldsetParams' })
220
- ], DateInputComponent.prototype, "fieldsetComponent", void 0);
221
- __decorate([
222
- DesyContentChild({ onSetCallbackName: 'overrideErrorMessageParams' })
223
- ], DateInputComponent.prototype, "errorMessageComponent", void 0);
224
- __decorate([
225
- DesyContentChild()
226
- ], DateInputComponent.prototype, "legendComponent", void 0);
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DateInputComponent, decorators: [{
228
- type: Component,
229
- args: [{ selector: 'desy-date-input', providers: [
230
- {
231
- provide: NG_VALUE_ACCESSOR,
232
- useExisting: forwardRef(() => DateInputComponent),
233
- multi: true
234
- }
235
- ], template: "<ng-template #innerHtml>\n <ng-container *ngIf=\"hasHintComponent()\">\n <ng-content select=\"desy-hint\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasHintComponent()\">\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\n <desy-hint *ngIf=\"!hintRef && hintData\"\n [id]=\"getHintId()\"\n [text]=\"hintData.text\"\n [html]=\"hintData.html\"\n [classes]=\"hintData.classes\"\n [role]=\"hintData.role\"\n [ariaLabel]=\"hintData.ariaLabel\"\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\n [ariaHidden]=\"hintData.ariaHidden\"\n [ariaDisabled]=\"hintData.ariaDisabled\"\n [ariaControls]=\"hintData.ariaControls\"\n [ariaCurrent]=\"hintData.ariaCurrent\"\n [ariaLive]=\"hintData.ariaLive\"\n [ariaExpanded]=\"hintData.ariaExpanded\"\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\n [tabindex]=\"hintData.tabindex\"></desy-hint>\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\n </ng-container>\n\n\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\n <ng-content select=\"desy-error-message\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\n [id]=\"getErrorId()\"\n [text]=\"errorMessageData.text\"\n [html]=\"errorMessageData.html\"\n [classes]=\"errorMessageData.classes\"\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\n [role]=\"errorMessageData.role\"\n [ariaLabel]=\"errorMessageData.ariaLabel\"\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\n [ariaHidden]=\"errorMessageData.ariaHidden\"\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\n [ariaControls]=\"errorMessageData.ariaControls\"\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\n [ariaLive]=\"errorMessageData.ariaLive\"\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\n </ng-container>\n\n <!-- With reactive forms -->\n <div *ngIf=\"controlContainer && !ngModelGroup\"\n [formGroup]=\"ogFormGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [formControlName]=\"getItemName(item)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n\n <!-- Template-driven forms -->\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\n <div [ngModelGroup]=\"ngModelGroup\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n \n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </desy-template-driven-wrapper>\n\n <!-- With ngModel-->\n <div *ngIf=\"!controlContainer\"\n [class]=\"['flex', classes] | makeHtmlList\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <ng-container *ngFor=\"let item of getItems(); index as i\">\n \n <ng-container *ngIf=\"item.divider\">\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!item.divider\">\n <div class=\"mr-base\">\n <desy-input [labelData]=\"getItemLabel(item)\"\n [labelRef]=\"getItemLabelRef(item)\"\n [id]=\"item.id ? item.id : id + '-' + item.name\"\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\n [name]=\"getItemName(item)\"\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\n [type]=\"'text'\"\n [inputmode]=\"'numeric'\"\n [autocomplete]=\"item.autocomplete\"\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\n [disabled]=\"disabled ? true : null\"\n [placeholder]=\"item.placeholder\"\n\n [maxlength]=\"item.maxlength\"\n [role]=\"item.role\"\n [ariaLabel]=\"item.ariaLabel\"\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\n [ariaHidden]=\"item.ariaHidden\"\n [ariaDisabled]=\"item.ariaDisabled\"\n [ariaControls]=\"item.ariaControls\"\n [ariaCurrent]=\"item.ariaCurrent\"\n [ariaLive]=\"item.ariaLive\"\n [ariaExpanded]=\"item.ariaExpanded\"\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\n [ariaHasPopup]=\"item.ariaHasPopup\"\n [tabindex]=\"item.tabindex\"></desy-input>\n </div>\n </ng-container>\n </ng-container>\n</div>\n</ng-template>\n\n<ng-container *ngIf=\"hasFieldsetComponent()\">\n <ng-content select=\"desy-fieldset\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"!hasFieldsetComponent()\">\n <desy-fieldset *ngIf=\"fieldsetData\"\n [classes]=\"fieldsetData.classes\"\n [id]=\"fieldsetData.id\"\n [legendData]=\"fieldsetData.legend\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"\n [ariaLabel]=\"fieldsetData.ariaLabel\"\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\n [ariaHidden]=\"fieldsetData.ariaHidden\"\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\n [ariaControls]=\"fieldsetData.ariaControls\"\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\n [ariaLive]=\"fieldsetData.ariaLive\"\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && hasLegendComponent()\"\n [legendRef]=\"legendTemplate\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\n <ng-template #legendTemplate>\n <ng-content select=\"desy-legend\"></ng-content>\n </ng-template>\n </desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\n [legendRef]=\"legendRef\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\n [legendText]=\"legendText\"\n [caller]=\"innerHtml\"\n [errorId]=\"getErrorId()\"\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\n role=\"group\"></desy-fieldset>\n</ng-container>\n\n<ng-container *ngIf=\"!hasFieldset()\">\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\n</ng-container>\n" }]
236
- }], ctorParameters: function () { return [{ type: i1.ControlContainer, decorators: [{
237
- type: Optional
238
- }] }]; }, propDecorators: { ngModelGroup: [{
239
- type: Input
240
- }], items: [{
241
- type: Input
242
- }], itemsChange: [{
243
- type: Output
244
- }], namePrefix: [{
245
- type: Input
246
- }], classes: [{
247
- type: Input
248
- }], errorMessage: [{
249
- type: Input
250
- }], id: [{
251
- type: Input
252
- }], cfg: [{
253
- type: HostBinding,
254
- args: ['class.c-form-group']
255
- }], cfgr: [{
256
- type: HostBinding,
257
- args: ['class.c-form-group--error']
258
- }], formGroupClasses: [{
259
- type: Input
260
- }, {
261
- type: HostBinding,
262
- args: ['class']
263
- }], fieldsetComponent: [{
264
- type: ContentChildren,
265
- args: [FieldsetComponent]
266
- }], errorMessageComponent: [{
267
- type: ContentChildren,
268
- args: [ErrorMessageComponent]
269
- }], legendComponent: [{
270
- type: ContentChildren,
271
- args: [LegendComponent]
272
- }], dateInputItemComponents: [{
273
- type: ContentChildren,
274
- args: [DateInputItemComponent]
275
- }], fieldsetData: [{
276
- type: Input
277
- }], legendRef: [{
278
- type: Input
279
- }], legendData: [{
280
- type: Input
281
- }], legendText: [{
282
- type: Input
283
- }], placeholder: [{
284
- type: Input
285
- }], innerHtml: [{
286
- type: ViewChild,
287
- args: ['innerHtml', { static: true }]
288
- }] } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUFFLFlBQVksRUFDN0IsVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQUUsTUFBTSxFQUdoQixTQUFTLEVBQ1QsV0FBVyxFQUdaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBK0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUYsT0FB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WixZQUFZO3NCQUFwQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUdFLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUU2QixHQUFHO3NCQUFyQyxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDUyxJQUFJO3NCQUE3QyxXQUFXO3VCQUFDLDJCQUEyQjtnQkFDVCxnQkFBZ0I7c0JBQTlDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsT0FBTztnQkFHTyxpQkFBaUI7c0JBQXBELGVBQWU7dUJBQUMsaUJBQWlCO2dCQUdNLHFCQUFxQjtzQkFBNUQsZUFBZTt1QkFBQyxxQkFBcUI7Z0JBR0osZUFBZTtzQkFBaEQsZUFBZTt1QkFBQyxlQUFlO2dCQUVTLHVCQUF1QjtzQkFBL0QsZUFBZTt1QkFBQyxzQkFBc0I7Z0JBUzlCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFb0MsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBIb3N0QmluZGluZyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRzZXREYXRhLCBMZWdlbmREYXRhLCBJdGVtRGF0ZUlucHV0RGF0YSwgTGFiZWxEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZHNldC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZHNldENvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkc2V0L2ZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQgeyBEYXRlSW5wdXREYXlDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQtZGF5L2RhdGUtaW5wdXQtZGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRNb250aENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1tb250aC9kYXRlLWlucHV0LW1vbnRoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlSW5wdXRZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LXllYXIvZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQge01ha2VIdG1sTGlzdFBpcGV9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9tYWtlLWh0bWwtbGlzdC5waXBlJztcbmltcG9ydCB7RGVzeU9uSW5wdXRDaGFuZ2V9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktb24taW5wdXQtY2hhbmdlLmRlY29yYXRvcic7XG5pbXBvcnQgeyBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LWRpdmlkZXIvZGF0ZS1pbnB1dC1kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9zdHJpbmctdXRpbHMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1pdGVtL2RhdGUtaW5wdXQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktZGF0ZS1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRm9ybUZpZWxkQ29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZGVmYXVsdEl0ZW1zID0gW1xuICAgIHtcbiAgICAgIG5hbWU6ICdkYXknLFxuICAgICAgY2xhc3NlczogJ3ctMTQnLFxuICAgICAgbWF4bGVuZ3RoOiAyXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnbW9udGgnLFxuICAgICAgY2xhc3NlczogJ3ctMTQnLFxuICAgICAgbWF4bGVuZ3RoOiAyXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAneWVhcicsXG4gICAgICBjbGFzc2VzOiAndy0yMCcsXG4gICAgICBtYXhsZW5ndGg6IDRcbiAgICB9XG4gIF07XG5cbiAgQElucHV0KCkgbmdNb2RlbEdyb3VwOiBzdHJpbmc7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbkV4dGVybmFsQ2hhbmdlJylcbiAgQElucHV0KCkgaXRlbXM6IEl0ZW1EYXRlSW5wdXREYXRhW107XG4gIEBPdXRwdXQoKSBpdGVtc0NoYW5nZTogRXZlbnRFbWl0dGVyPEl0ZW1EYXRlSW5wdXREYXRhW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtRGF0ZUlucHV0RGF0YVtdPigpO1xuXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25FeHRlcm5hbENoYW5nZScpXG4gIEBJbnB1dCgpIG5hbWVQcmVmaXg6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgLy8gIGZvcm0gZ3JvdXAgY2xhc3MgLSBhc2lnbmFyIGNsYXNlcyBhIGxhIGV0aXF1ZXRhIGRlc3ktaW5wdXRcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jLWZvcm0tZ3JvdXAnKSBjZmcgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmMtZm9ybS1ncm91cC0tZXJyb3InKSBjZmdyOiBib29sZWFuO1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZm9ybUdyb3VwQ2xhc3NlczogYW55O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKHsgb25TZXRDYWxsYmFja05hbWU6ICdvdmVycmlkZUZpZWxkc2V0UGFyYW1zJ30pXG4gIEBDb250ZW50Q2hpbGRyZW4oRmllbGRzZXRDb21wb25lbnQpIGZpZWxkc2V0Q29tcG9uZW50OiBGaWVsZHNldENvbXBvbmVudDtcblxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMnfSlcbiAgQENvbnRlbnRDaGlsZHJlbihFcnJvck1lc3NhZ2VDb21wb25lbnQpIGVycm9yTWVzc2FnZUNvbXBvbmVudDogRXJyb3JNZXNzYWdlQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihMZWdlbmRDb21wb25lbnQpIGxlZ2VuZENvbXBvbmVudDogTGVnZW5kQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0ZUlucHV0SXRlbUNvbXBvbmVudCkgZGF0ZUlucHV0SXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEYXRlSW5wdXRJdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogZmllbGRzZXQsIGRpZmVyZW50ZXMgZm9ybWFzIGRlIGltcGxlbWVudGFyLCBlbnVtZXJhZGFzIHBvciBwcmlvcmlkYWRcbiAgICogMSkgaW5jbHVpciBvYmpldG8gRmllbGRzZXREYXRhIChpbnRlcmZheiBleHB1ZXN0YSlcbiAgICogMikgaW5jbHVpciB0ZW1wbGF0ZSBsZWdlbmRcbiAgICogMykgaW5jbHVpciBsZWdlbmREYXRhIC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW5hIGxlZ2VuZGEgY29uIGxvcyBwYXJhbWV0cm9zIHBhc2Fkb3MgIChpbnRlcmZheiBleHB1ZXN0YSlcbiAgICogNCkgaW5jbHVpciBsZWdlbmRUZXh0IC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW4gdGV4dG8gZW4gbGEgbGVnZW5kYVxuICAgKi9cbiAgQElucHV0KCkgZmllbGRzZXREYXRhOiBGaWVsZHNldERhdGE7XG4gIEBJbnB1dCgpIGxlZ2VuZFJlZjogVGVtcGxhdGVSZWY8TGVnZW5kQ29tcG9uZW50PjtcbiAgQElucHV0KCkgbGVnZW5kRGF0YTogTGVnZW5kRGF0YTtcbiAgQElucHV0KCkgbGVnZW5kVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnaW5uZXJIdG1sJywgeyBzdGF0aWM6IHRydWUgfSkgaW5uZXJIdG1sOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHByaXZhdGUgY29udGVudEluaXQgPSBmYWxzZTtcbiAgcHVibGljIG9nRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYodGhpcy5jb250cm9sQ29udGFpbmVyKXtcbiAgICAgIHRoaXMub2dGb3JtR3JvdXAgPSB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbCBhcyBGb3JtR3JvdXA7XG4gICAgfVxuICAgIGlmKHRoaXMucGxhY2Vob2xkZXIpe1xuICAgICAgbGV0IGFyciA9IHRoaXMucGxhY2Vob2xkZXIuc3BsaXQoJy8nKTsgXG4gICAgICBpZih0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoID4gMCAmJiBhcnIgJiYgYXJyLmxlbmd0aCA+IDApe1xuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgdGhpcy5pdGVtcy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgdGhpcy5pdGVtc1tpXS5wbGFjZWhvbGRlciA9IGFycltpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNmZ3IgPSAodGhpcy5oYXNFcnJvcnNNZXNzYWdlKCkgfHwgdGhpcy5mb3JtR3JvdXBDbGFzc2VzID09PSAnYy1mb3JtLWdyb3VwLS1lcnJvcicpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGVudEluaXQgPSB0cnVlO1xuICB9XG5cbiAgaW5pdERlZmF1bHRJdGVtcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXRlbXMpIHtcbiAgICAgIHRoaXMuaXRlbXMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZMOtYScsXG4gICAgICAgICAgY2xhc3NlczogJ3ctMTQnLFxuICAgICAgICAgIG1heGxlbmd0aDogMlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ21lcycsXG4gICAgICAgICAgY2xhc3NlczogJ3ctMTQnLFxuICAgICAgICAgIG1heGxlbmd0aDogMlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2HDsW8nLFxuICAgICAgICAgIGNsYXNzZXM6ICd3LTIwJyxcbiAgICAgICAgICBtYXhsZW5ndGg6IDRcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IGl0ZW0udmFsdWUgPSB0aGlzLnZhbHVlW3RoaXMuZ2V0SXRlbU5hbWUoaXRlbSldKTtcblxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XG4gICAgZmllbGRzZXQuZXJyb3JJZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gbmV3IE1ha2VIdG1sTGlzdFBpcGUoKS50cmFuc2Zvcm0oW3RoaXMuZ2V0SGludElkKCksIHRoaXMuZ2V0RXJyb3JJZCgpXSwgbnVsbCk7XG4gICAgZmllbGRzZXQucm9sZSA9ICdncm91cCc7XG4gICAgZmllbGRzZXQuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgb3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXMoZXJyb3JNZXNzYWdlOiBFcnJvck1lc3NhZ2VDb21wb25lbnQpOiB2b2lkIHtcbiAgICBpZiAoZXJyb3JNZXNzYWdlICYmICFlcnJvck1lc3NhZ2UuaWQpIHtcbiAgICAgIGVycm9yTWVzc2FnZS5pZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xuICAgICAgZXJyb3JNZXNzYWdlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBvbkV4dGVybmFsQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB0aGlzLnZhbHVlW3RoaXMuZ2V0SXRlbU5hbWUoaXRlbSldID0gaXRlbS52YWx1ZSk7XG4gICAgY29uc3QgbmV3VmFsID0ge307XG4gICAgT2JqZWN0LmFzc2lnbihuZXdWYWwsIHRoaXMudmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsKTtcbiAgfVxuXG4gIG9uSW50ZXJuYWxDaGFuZ2UoaXRlbTogSXRlbURhdGVJbnB1dERhdGEsIGl0ZW1WYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbU5hbWUgPSB0aGlzLmdldEl0ZW1OYW1lKGl0ZW0pO1xuICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZhbHVlW2l0ZW1OYW1lXSAhPT0gaXRlbVZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlW2l0ZW1OYW1lXSA9IGl0ZW1WYWx1ZSA/ICtpdGVtVmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBuZXdWYWwgPSB7fTtcbiAgICAgIE9iamVjdC5hc3NpZ24obmV3VmFsLCB0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMub25DaGFuZ2UobmV3VmFsKTtcbiAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0RGF5Q29tcG9uZW50IHx8IGl0ZW0gaW5zdGFuY2VvZiBEYXRlSW5wdXRNb250aENvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0WWVhckNvbXBvbmVudCkge1xuICAgICAgICBpdGVtLnZhbHVlQ2hhbmdlLmVtaXQoaXRlbVZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcbiAgICAgICAgaXRlbS52YWx1ZSA9IGl0ZW1WYWx1ZTtcbiAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhhc0ZpZWxkc2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh0aGlzLmhhc0ZpZWxkc2V0Q29tcG9uZW50KCkgfHwgdGhpcy5oYXNMZWdlbmRDb21wb25lbnQoKSB8fCB0aGlzLmxlZ2VuZFJlZiB8fCB0aGlzLmZpZWxkc2V0RGF0YVxuICAgICAgfHwgKHRoaXMubGVnZW5kRGF0YSAmJiAodGhpcy5sZWdlbmREYXRhLnRleHQgfHwgdGhpcy5sZWdlbmREYXRhLmh0bWwpKSB8fCB0aGlzLmxlZ2VuZFRleHQpO1xuICB9XG5cbiAgaGFzRmllbGRzZXRDb21wb25lbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcbiAgfVxuXG4gIGhhc0xlZ2VuZENvbXBvbmVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxlZ2VuZENvbXBvbmVudDtcbiAgfVxuXG4gIGhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmVycm9yTWVzc2FnZUNvbXBvbmVudDtcbiAgfVxuXG4gIGdldEl0ZW1OYW1lKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lUHJlZml4ID8gdGhpcy5uYW1lUHJlZml4ICsgJy0nICsgaXRlbS5uYW1lIDogaXRlbS5uYW1lO1xuICB9XG5cbiAgZ2V0SXRlbUxhYmVsKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhKTogTGFiZWxEYXRhIHtcbiAgICBsZXQgbGFiZWxEYXRhOiBMYWJlbERhdGE7XG4gICAgaWYgKGl0ZW0ubGFiZWxEYXRhICYmIChpdGVtLmxhYmVsRGF0YS50ZXh0IHx8IGl0ZW0ubGFiZWxEYXRhLmh0bWwpKSB7XG4gICAgICBsYWJlbERhdGEgPSBpdGVtLmxhYmVsRGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGFiZWxEYXRhID0ge1xuICAgICAgICB0ZXh0OiBpdGVtLmxhYmVsVGV4dCA/IGl0ZW0ubGFiZWxUZXh0IDogKGl0ZW0ubmFtZSA/IGl0ZW0ubmFtZS50b1VwcGVyQ2FzZSgpIDogbnVsbClcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBsYWJlbERhdGE7XG4gIH1cblxuICBnZXRJdGVtTGFiZWxSZWYoaXRlbTogSXRlbURhdGVJbnB1dERhdGEpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dERheUNvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0TW9udGhDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dFllYXJDb21wb25lbnQgP1xuICAgICAgaXRlbS5sYWJlbFJlZiA6IG51bGw7XG4gIH1cblxuICBnZXRJdGVtcygpOiBJdGVtRGF0ZUlucHV0RGF0YVtdIHtcbiAgICBsZXQgaXRlbXM7XG4gICAgaWYgKHRoaXMuZGF0ZUlucHV0SXRlbUNvbXBvbmVudHMgJiYgdGhpcy5kYXRlSW5wdXRJdGVtQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBpdGVtcyA9IHRoaXMuZGF0ZUlucHV0SXRlbUNvbXBvbmVudHMudG9BcnJheSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtcykge1xuICAgICAgaXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZW50SW5pdCkge1xuICAgICAgaXRlbXMgPSBEYXRlSW5wdXRDb21wb25lbnQuZGVmYXVsdEl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtcyA9IFtdO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgZ2V0SXRlbURpdmlkZXJUZW1wbGF0ZShpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiBpdGVtLmRpdmlkZXIgaW5zdGFuY2VvZiBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50ID8gaXRlbS5kaXZpZGVyLmRpdmlkZXJDb250ZW50IDogbnVsbDtcbiAgfVxuICBnZXRJdGVtRGl2aWRlckh0bWwoaXRlbTogSXRlbURhdGVJbnB1dERhdGEpOiBzdHJpbmcge1xuICAgIHJldHVybiBpdGVtLmRpdmlkZXIuaHRtbCA/IGl0ZW0uZGl2aWRlci5odG1sIDogYDxwPiR7IFN0cmluZ1V0aWxzLmVzY2FwZUh0bWwoaXRlbS5kaXZpZGVyLnRleHQpIH08L3A+YDtcbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGUgI2lubmVySHRtbD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhhc0hpbnRDb21wb25lbnQoKVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktaGludFwiPjwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzSGludENvbXBvbmVudCgpXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhpbnRSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8ZGVzeS1oaW50ICpuZ0lmPVwiIWhpbnRSZWYgJiYgaGludERhdGFcIlxuICAgICAgICAgICAgICAgW2lkXT1cImdldEhpbnRJZCgpXCJcbiAgICAgICAgICAgICAgIFt0ZXh0XT1cImhpbnREYXRhLnRleHRcIlxuICAgICAgICAgICAgICAgW2h0bWxdPVwiaGludERhdGEuaHRtbFwiXG4gICAgICAgICAgICAgICBbY2xhc3Nlc109XCJoaW50RGF0YS5jbGFzc2VzXCJcbiAgICAgICAgICAgICAgIFtyb2xlXT1cImhpbnREYXRhLnJvbGVcIlxuICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJoaW50RGF0YS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJoaW50RGF0YS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgW2FyaWFMYWJlbGxlZEJ5XT1cImhpbnREYXRhLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgIFthcmlhSGlkZGVuXT1cImhpbnREYXRhLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJoaW50RGF0YS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgW2FyaWFDb250cm9sc109XCJoaW50RGF0YS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgW2FyaWFDdXJyZW50XT1cImhpbnREYXRhLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJoaW50RGF0YS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICBbYXJpYUV4cGFuZGVkXT1cImhpbnREYXRhLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICBbYXJpYUVycm9yTWVzc2FnZV09XCJoaW50RGF0YS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiaGludERhdGEuYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJoaW50RGF0YS50YWJpbmRleFwiPjwvZGVzeS1oaW50PlxuICAgIDxkZXN5LWhpbnQgKm5nSWY9XCIhaGludFJlZiAmJiAhaGludERhdGEgJiYgaGludFRleHRcIiBbdGV4dF09XCJoaW50VGV4dFwiIFtpZF09XCJnZXRIaW50SWQoKVwiPjwvZGVzeS1oaW50PlxuICA8L25nLWNvbnRhaW5lcj5cblxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNFcnJvck1lc3NhZ2VDb21wb25lbnQoKVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZXJyb3ItbWVzc2FnZVwiPjwvbmctY29udGVudD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzRXJyb3JNZXNzYWdlQ29tcG9uZW50KClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZXJyb3JNZXNzYWdlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRlc3ktZXJyb3ItbWVzc2FnZSAqbmdJZj1cIiFlcnJvck1lc3NhZ2VSZWYgJiYgZXJyb3JNZXNzYWdlRGF0YVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImVycm9yTWVzc2FnZURhdGEudGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaHRtbF09XCJlcnJvck1lc3NhZ2VEYXRhLmh0bWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzZXNdPVwiZXJyb3JNZXNzYWdlRGF0YS5jbGFzc2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2aXN1YWxseUhpZGRlblRleHRdPVwiZXJyb3JNZXNzYWdlRGF0YS52aXN1YWxseUhpZGRlblRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVdPVwiZXJyb3JNZXNzYWdlRGF0YS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUNvbnRyb2xzXT1cImVycm9yTWVzc2FnZURhdGEuYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJlcnJvck1lc3NhZ2VEYXRhLmFyaWFMaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhRXhwYW5kZWRdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiZXJyb3JNZXNzYWdlRGF0YS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImVycm9yTWVzc2FnZURhdGEudGFiaW5kZXhcIj48L2Rlc3ktZXJyb3ItbWVzc2FnZT5cbiAgICA8ZGVzeS1lcnJvci1tZXNzYWdlICpuZ0lmPVwiIWVycm9yTWVzc2FnZVJlZiAmJiAhZXJyb3JNZXNzYWdlRGF0YSAmJiBlcnJvck1lc3NhZ2VUZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cImVycm9yTWVzc2FnZVRleHRcIiBbaWRdPVwiZ2V0RXJyb3JJZCgpXCI+PC9kZXN5LWVycm9yLW1lc3NhZ2U+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gV2l0aCByZWFjdGl2ZSBmb3JtcyAtLT5cbiAgPGRpdiAqbmdJZj1cImNvbnRyb2xDb250YWluZXIgJiYgIW5nTW9kZWxHcm91cFwiXG4gICAgICAgW2Zvcm1Hcm91cF09XCJvZ0Zvcm1Hcm91cFwiXG4gICAgICAgW2NsYXNzXT1cIlsnZmxleCcsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKTsgaW5kZXggYXMgaVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGl2aWRlclwiPlxuICAgICAgICA8ZGl2IHJvbGU9XCJzZXBhcmF0b3JcIiBbbmdDbGFzc109XCJpdGVtLmRpdmlkZXIuY2xhc3Nlc1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKmRlc3lDdXN0b21Jbm5lckNvbnRlbnQ9XCJ7IHRlbXBsYXRlOiBnZXRJdGVtRGl2aWRlclRlbXBsYXRlKGl0ZW0pLCBodG1sOiBnZXRJdGVtRGl2aWRlckh0bWwoaXRlbSkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmRpdmlkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yLWJhc2VcIj5cbiAgICAgICAgICA8ZGVzeS1pbnB1dCBbbGFiZWxEYXRhXT1cImdldEl0ZW1MYWJlbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2xhYmVsUmVmXT1cImdldEl0ZW1MYWJlbFJlZihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIml0ZW0uaWQgPyBpdGVtLmlkIDogaWQgKyAnLScgKyBpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIlsnbWItMCcsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcklkXT1cIml0ZW0uaGFzRXJyb3JzID8gZ2V0RXJyb3JJZCgpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiZ2V0SXRlbU5hbWUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZ2V0SXRlbU5hbWUoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2lucHV0bW9kZV09XCInbnVtZXJpYydcIlxuICAgICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiaXRlbS5hdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cIml0ZW0ucGF0dGVybiA/IGl0ZW0ucGF0dGVybiA6ICdbMC05XSonXCJcbiAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXRlbS5wbGFjZWhvbGRlclwiXG5cbiAgICAgICAgICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIml0ZW0ubWF4bGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgICBbcm9sZV09XCJpdGVtLnJvbGVcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhRGVzY3JpYmVkQnldPVwiaXRlbS5hcmlhRGVzY3JpYmVkQnlcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhRGlzYWJsZWRdPVwiaXRlbS5hcmlhRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxpdmVdPVwiaXRlbS5hcmlhTGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFFeHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUhhc1BvcHVwXT1cIml0ZW0uYXJpYUhhc1BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPjwvZGVzeS1pbnB1dD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBUZW1wbGF0ZS1kcml2ZW4gZm9ybXMgLS0+XG4gIDxkZXN5LXRlbXBsYXRlLWRyaXZlbi13cmFwcGVyICpuZ0lmPVwiY29udHJvbENvbnRhaW5lciAmJiBuZ01vZGVsR3JvdXBcIj5cbiAgICA8ZGl2IFtuZ01vZGVsR3JvdXBdPVwibmdNb2RlbEdyb3VwXCJcbiAgICAgICAgIFtjbGFzc109XCJbJ2ZsZXgnLCBjbGFzc2VzXSB8IG1ha2VIdG1sTGlzdFwiXG4gICAgICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICAgICAgICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEl0ZW1zKCk7IGluZGV4IGFzIGlcIj5cbiAgICAgICAgXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmRpdmlkZXJcIj5cbiAgICAgICAgICA8ZGl2IHJvbGU9XCJzZXBhcmF0b3JcIiBbbmdDbGFzc109XCJpdGVtLmRpdmlkZXIuY2xhc3Nlc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgdGVtcGxhdGU6IGdldEl0ZW1EaXZpZGVyVGVtcGxhdGUoaXRlbSksIGh0bWw6IGdldEl0ZW1EaXZpZGVySHRtbChpdGVtKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZGl2aWRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci1iYXNlXCI+XG4gICAgICAgICAgICA8ZGVzeS1pbnB1dCBbbGFiZWxEYXRhXT1cImdldEl0ZW1MYWJlbChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxSZWZdPVwiZ2V0SXRlbUxhYmVsUmVmKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJpdGVtLmlkID8gaXRlbS5pZCA6IGlkICsgJy0nICsgaXRlbS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc2VzXT1cIlsnbWItMCcsIGl0ZW0uY2xhc3Nlc10gfCBtYWtlSHRtbExpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Vycm9ySWRdPVwiaXRlbS5oYXNFcnJvcnMgPyBnZXRFcnJvcklkKCkgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImdldEl0ZW1OYW1lKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cIml0ZW0udmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkludGVybmFsQ2hhbmdlKGl0ZW0sICskZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIid0ZXh0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaW5wdXRtb2RlXT1cIidudW1lcmljJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cIml0ZW0uYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cIml0ZW0ucGF0dGVybiA/IGl0ZW0ucGF0dGVybiA6ICdbMC05XSonXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCA/IHRydWUgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLnBsYWNlaG9sZGVyXCJcblxuICAgICAgICAgICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJpdGVtLm1heGxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcm9sZV09XCJpdGVtLnJvbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYURlc2NyaWJlZEJ5XT1cIml0ZW0uYXJpYURlc2NyaWJlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxsZWRCeV09XCJpdGVtLmFyaWFMYWJlbGxlZEJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGlkZGVuXT1cIml0ZW0uYXJpYUhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYURpc2FibGVkXT1cIml0ZW0uYXJpYURpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ29udHJvbHNdPVwiaXRlbS5hcmlhQ29udHJvbHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFDdXJyZW50XT1cIml0ZW0uYXJpYUN1cnJlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFMaXZlXT1cIml0ZW0uYXJpYUxpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFFeHBhbmRlZF09XCJpdGVtLmFyaWFFeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUVycm9yTWVzc2FnZV09XCJpdGVtLmFyaWFFcnJvck1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFIYXNQb3B1cF09XCJpdGVtLmFyaWFIYXNQb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXRlbS50YWJpbmRleFwiPjwvZGVzeS1pbnB1dD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kZXN5LXRlbXBsYXRlLWRyaXZlbi13cmFwcGVyPlxuXG4gIDwhLS0gV2l0aCBuZ01vZGVsLS0+XG4gIDxkaXYgKm5nSWY9XCIhY29udHJvbENvbnRhaW5lclwiXG4gICAgICAgW2NsYXNzXT1cIlsnZmxleCcsIGNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICAgICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsID8gYXJpYUxhYmVsIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImFyaWFIaWRkZW4gPyBhcmlhSGlkZGVuIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJhcmlhQ3VycmVudCA/IGFyaWFDdXJyZW50IDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cImFyaWFFcnJvck1lc3NhZ2UgPyBhcmlhRXJyb3JNZXNzYWdlIDogbnVsbFwiXG4gICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0SXRlbXMoKTsgaW5kZXggYXMgaVwiPlxuICAgICAgXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5kaXZpZGVyXCI+XG4gICAgICAgIDxkaXYgcm9sZT1cInNlcGFyYXRvclwiIFtuZ0NsYXNzXT1cIml0ZW0uZGl2aWRlci5jbGFzc2VzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgdGVtcGxhdGU6IGdldEl0ZW1EaXZpZGVyVGVtcGxhdGUoaXRlbSksIGh0bWw6IGdldEl0ZW1EaXZpZGVySHRtbChpdGVtKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZGl2aWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibXItYmFzZVwiPlxuICAgICAgICAgICAgPGRlc3ktaW5wdXQgW2xhYmVsRGF0YV09XCJnZXRJdGVtTGFiZWwoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsUmVmXT1cImdldEl0ZW1MYWJlbFJlZihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiaXRlbS5pZCA/IGl0ZW0uaWQgOiBpZCArICctJyArIGl0ZW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Nlc109XCJbJ21iLTAnLCBpdGVtLmNsYXNzZXNdIHwgbWFrZUh0bWxMaXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJvcklkXT1cIml0ZW0uaGFzRXJyb3JzID8gZ2V0RXJyb3JJZCgpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJnZXRJdGVtTmFtZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJpdGVtLnZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnRlcm5hbENoYW5nZShpdGVtLCArJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHlwZV09XCIndGV4dCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0bW9kZV09XCInbnVtZXJpYydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJpdGVtLmF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGF0dGVybl09XCJpdGVtLnBhdHRlcm4gPyBpdGVtLnBhdHRlcm4gOiAnWzAtOV0qJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXRlbS5wbGFjZWhvbGRlclwiXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIFttYXhsZW5ndGhdPVwiaXRlbS5tYXhsZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3JvbGVdPVwiaXRlbS5yb2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiaXRlbS5hcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFEZXNjcmliZWRCeV09XCJpdGVtLmFyaWFEZXNjcmliZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsbGVkQnldPVwiaXRlbS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUhpZGRlbl09XCJpdGVtLmFyaWFIaWRkZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFEaXNhYmxlZF09XCJpdGVtLmFyaWFEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXJpYUNvbnRyb2xzXT1cIml0ZW0uYXJpYUNvbnRyb2xzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhQ3VycmVudF09XCJpdGVtLmFyaWFDdXJyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhTGl2ZV09XCJpdGVtLmFyaWFMaXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhRXhwYW5kZWRdPVwiaXRlbS5hcmlhRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FyaWFFcnJvck1lc3NhZ2VdPVwiaXRlbS5hcmlhRXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthcmlhSGFzUG9wdXBdPVwiaXRlbS5hcmlhSGFzUG9wdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIml0ZW0udGFiaW5kZXhcIj48L2Rlc3ktaW5wdXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNGaWVsZHNldENvbXBvbmVudCgpXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktZmllbGRzZXRcIj48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaGFzRmllbGRzZXRDb21wb25lbnQoKVwiPlxuICA8ZGVzeS1maWVsZHNldCAqbmdJZj1cImZpZWxkc2V0RGF0YVwiXG4gICAgW2NsYXNzZXNdPVwiZmllbGRzZXREYXRhLmNsYXNzZXNcIlxuICAgIFtpZF09XCJmaWVsZHNldERhdGEuaWRcIlxuICAgIFtsZWdlbmREYXRhXT1cImZpZWxkc2V0RGF0YS5sZWdlbmRcIlxuICAgIFtjYWxsZXJdPVwiaW5uZXJIdG1sXCJcbiAgICBbZXJyb3JJZF09XCJnZXRFcnJvcklkKClcIlxuICAgIFtkZXNjcmliZWRCeV09XCJbZmllbGRzZXREYXRhLmRlc2NyaWJlZEJ5LCBnZXRIaW50SWQoKSwgZ2V0RXJyb3JJZCgpXSB8IG1ha2VIdG1sTGlzdDpudWxsXCJcbiAgICByb2xlPVwiZ3JvdXBcIlxuICAgIFthcmlhTGFiZWxdPVwiZmllbGRzZXREYXRhLmFyaWFMYWJlbFwiXG4gICAgW2FyaWFMYWJlbGxlZEJ5XT1cImZpZWxkc2V0RGF0YS5hcmlhTGFiZWxsZWRCeVwiXG4gICAgW2FyaWFIaWRkZW5dPVwiZmllbGRzZXREYXRhLmFyaWFIaWRkZW5cIlxuICAgIFthcmlhRGlzYWJsZWRdPVwiZmllbGRzZXREYXRhLmFyaWFEaXNhYmxlZFwiXG4gICAgW2FyaWFDb250cm9sc109XCJmaWVsZHNldERhdGEuYXJpYUNvbnRyb2xzXCJcbiAgICBbYXJpYUN1cnJlbnRdPVwiZmllbGRzZXREYXRhLmFyaWFDdXJyZW50XCJcbiAgICBbYXJpYUxpdmVdPVwiZmllbGRzZXREYXRhLmFyaWFMaXZlXCJcbiAgICBbYXJpYUV4cGFuZGVkXT1cImZpZWxkc2V0RGF0YS5hcmlhRXhwYW5kZWRcIlxuICAgIFthcmlhSGFzUG9wdXBdPVwiZmllbGRzZXREYXRhLmFyaWFIYXNQb3B1cFwiXG4gICAgW3RhYmluZGV4XT1cImZpZWxkc2V0RGF0YS50YWJpbmRleFwiPjwvZGVzeS1maWVsZHNldD5cbiAgPGRlc3ktZmllbGRzZXQgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmIGhhc0xlZ2VuZENvbXBvbmVudCgpXCJcbiAgICBbbGVnZW5kUmVmXT1cImxlZ2VuZFRlbXBsYXRlXCJcbiAgICBbY2FsbGVyXT1cImlubmVySHRtbFwiXG4gICAgW2Vycm9ySWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiWyBnZXRIaW50SWQoKSwgZ2V0RXJyb3JJZCgpXSB8IG1ha2VIdG1sTGlzdDpudWxsXCI+XG4gICAgPG5nLXRlbXBsYXRlICNsZWdlbmRUZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGVnZW5kXCI+PC9uZy1jb250ZW50PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGVzeS1maWVsZHNldD5cbiAgPGRlc3ktZmllbGRzZXQgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmICFoYXNMZWdlbmRDb21wb25lbnQoKSAmJiBsZWdlbmRSZWZcIlxuICAgIFtsZWdlbmRSZWZdPVwibGVnZW5kUmVmXCJcbiAgICBbY2FsbGVyXT1cImlubmVySHRtbFwiXG4gICAgW2Vycm9ySWRdPVwiZ2V0RXJyb3JJZCgpXCJcbiAgICBbZGVzY3JpYmVkQnldPVwiWyBnZXRIaW50SWQoKSwgZ2V0RXJyb3JJZCgpXSB8IG1ha2VIdG1sTGlzdDpudWxsXCJcbiAgICByb2xlPVwiZ3JvdXBcIj48L2Rlc3ktZmllbGRzZXQ+XG4gIDxkZXN5LWZpZWxkc2V0ICpuZ0lmPVwiIWZpZWxkc2V0RGF0YSAmJiAhaGFzTGVnZW5kQ29tcG9uZW50KCkgJiYgIWxlZ2VuZFJlZiAmJiBsZWdlbmREYXRhXCJcbiAgICBbbGVnZW5kRGF0YV09XCJ7dGV4dDogbGVnZW5kRGF0YS50ZXh0LCBodG1sOiBsZWdlbmREYXRhLmh0bWwsICBjbGFzc2VzOiBsZWdlbmREYXRhLmNsYXNzZXMsIGlzUGFnZUhlYWRpbmc6IGxlZ2VuZERhdGEuaXNQYWdlSGVhZGluZ31cIlxuICAgIFtjYWxsZXJdPVwiaW5uZXJIdG1sXCJcbiAgICBbZXJyb3JJZF09XCJnZXRFcnJvcklkKClcIlxuICAgIFtkZXNjcmliZWRCeV09XCJbIGdldEhpbnRJZCgpLCBnZXRFcnJvcklkKCldIHwgbWFrZUh0bWxMaXN0Om51bGxcIlxuICAgIHJvbGU9XCJncm91cFwiPjwvZGVzeS1maWVsZHNldD5cbiAgPGRlc3ktZmllbGRzZXQgKm5nSWY9XCIhZmllbGRzZXREYXRhICYmICFoYXNMZWdlbmRDb21wb25lbnQoKSAmJiAhbGVnZW5kUmVmICYmICFsZWdlbmREYXRhICYmIGxlZ2VuZFRleHRcIlxuICAgIFtsZWdlbmRUZXh0XT1cImxlZ2VuZFRleHRcIlxuICAgIFtjYWxsZXJdPVwiaW5uZXJIdG1sXCJcbiAgICBbZXJyb3JJZF09XCJnZXRFcnJvcklkKClcIlxuICAgIFtkZXNjcmliZWRCeV09XCJbIGdldEhpbnRJZCgpLCBnZXRFcnJvcklkKCldIHwgbWFrZUh0bWxMaXN0Om51bGxcIlxuICAgIHJvbGU9XCJncm91cFwiPjwvZGVzeS1maWVsZHNldD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0ZpZWxkc2V0KClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySHRtbFwiPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -1,31 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { AccessibilityComponent } from '../../../shared/components';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "../../../shared/directives/custom-inner-content.directive";
6
- export class ErrorMessageComponent extends AccessibilityComponent {
7
- constructor(changeDetectorRef) {
8
- super();
9
- this.changeDetectorRef = changeDetectorRef;
10
- }
11
- detectChanges() {
12
- this.changeDetectorRef.detectChanges();
13
- }
14
- }
15
- ErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ErrorMessageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
16
- ErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ErrorMessageComponent, selector: "desy-error-message", inputs: { id: "id", classes: "classes", html: "html", text: "text", visuallyHiddenText: "visuallyHiddenText" }, usesInheritance: true, ngImport: i0, template: "<p class=\"block font-semibold text-alert-base\" [ngClass]=\"classes\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <span class=\"sr-only\">{{visuallyHiddenText ? visuallyHiddenText : 'Error'}}:</span>\n <ng-content></ng-content>\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n</p>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }] });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ErrorMessageComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'desy-error-message', template: "<p class=\"block font-semibold text-alert-base\" [ngClass]=\"classes\"\n [attr.id]=\"id ? id : null\"\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : 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.tabindex]=\"tabindex ? tabindex : null\">\n <span class=\"sr-only\">{{visuallyHiddenText ? visuallyHiddenText : 'Error'}}:</span>\n <ng-content></ng-content>\n <ng-container *desyCustomInnerContent=\"{ html: html, text: text }\"></ng-container>\n</p>\n" }]
20
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
21
- type: Input
22
- }], classes: [{
23
- type: Input
24
- }], html: [{
25
- type: Input
26
- }], text: [{
27
- type: Input
28
- }], visuallyHiddenText: [{
29
- type: Input
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7O0FBTWxFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7SUFRL0QsWUFBb0IsaUJBQW9DO1FBQ3RELEtBQUssRUFBRSxDQUFDO1FBRFUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUV4RCxDQUFDO0lBRU0sYUFBYTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQzs7a0hBZFUscUJBQXFCO3NHQUFyQixxQkFBcUIsaU1DUGxDLHVsQ0FtQkE7MkZEWmEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG9CQUFvQjt3R0FLckIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktZXJyb3ItbWVzc2FnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2VDb21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IHtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGh0bWw6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSB2aXN1YWxseUhpZGRlblRleHQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPHAgY2xhc3M9XCJibG9jayBmb250LXNlbWlib2xkIHRleHQtYWxlcnQtYmFzZVwiIFtuZ0NsYXNzXT1cImNsYXNzZXNcIlxuICAgW2F0dHIuaWRdPVwiaWQgPyBpZCA6IG51bGxcIlxuICAgW2F0dHIucm9sZV09XCJyb2xlID8gcm9sZSA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZEJ5ID8gYXJpYURlc2NyaWJlZEJ5IDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgPyBhcmlhTGFiZWxsZWRCeSA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiYXJpYURpc2FibGVkID8gYXJpYURpc2FibGVkIDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImFyaWFDb250cm9scyA/IGFyaWFDb250cm9scyA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50ID8gYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtbGl2ZV09XCJhcmlhTGl2ZSA/IGFyaWFMaXZlIDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImFyaWFFeHBhbmRlZCA/IGFyaWFFeHBhbmRlZCA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiYXJpYUVycm9yTWVzc2FnZSA/IGFyaWFFcnJvck1lc3NhZ2UgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwiYXJpYUhhc1BvcHVwID8gYXJpYUhhc1BvcHVwIDogbnVsbFwiXG4gICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleCA/IHRhYmluZGV4IDogbnVsbFwiPlxuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj57e3Zpc3VhbGx5SGlkZGVuVGV4dCA/IHZpc3VhbGx5SGlkZGVuVGV4dCA6ICdFcnJvcid9fTo8L3NwYW4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPG5nLWNvbnRhaW5lciAqZGVzeUN1c3RvbUlubmVyQ29udGVudD1cInsgaHRtbDogaHRtbCwgdGV4dDogdGV4dCB9XCI+PC9uZy1jb250YWluZXI+XG48L3A+XG4iXX0=