desy-angular 7.0.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (539) hide show
  1. package/README.md +2 -2
  2. package/esm2022/desy-angular.mjs +2 -0
  3. package/{esm2020 → esm2022}/lib/desy-angular.module.mjs +37 -37
  4. package/esm2022/lib/desy-buttons/components/button/button.component.mjs +115 -0
  5. package/esm2022/lib/desy-buttons/components/button-loader/button-loader.component.mjs +63 -0
  6. package/esm2022/lib/desy-buttons/components/dropdown/dropdown.component.mjs +127 -0
  7. package/esm2022/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +39 -0
  8. package/{esm2020 → esm2022}/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +4 -4
  9. package/esm2022/lib/desy-buttons/components/listbox/listbox.component.mjs +334 -0
  10. package/esm2022/lib/desy-buttons/components/pill/pill.component.mjs +80 -0
  11. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +4 -4
  13. package/esm2022/lib/desy-buttons/components/toggle/toggle.component.mjs +61 -0
  14. package/esm2022/lib/desy-buttons/desy-buttons.module.mjs +81 -0
  15. package/{esm2020 → esm2022}/lib/desy-commons/components/content/content.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/desy-commons/components/description/description.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/desy-commons/components/divider/divider.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/desy-commons/components/icon/icon.component.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/desy-commons/components/title/title.component.mjs +4 -4
  20. package/esm2022/lib/desy-commons/desy-commons.module.mjs +52 -0
  21. package/{esm2020 → esm2022}/lib/desy-forms/components/character-count/character-count.component.mjs +10 -10
  22. package/esm2022/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +222 -0
  23. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +15 -0
  24. package/esm2022/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +268 -0
  25. package/esm2022/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +55 -0
  26. package/esm2022/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +19 -0
  27. package/{esm2020 → esm2022}/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +4 -4
  28. package/esm2022/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +55 -0
  29. package/esm2022/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +51 -0
  30. package/esm2022/lib/desy-forms/components/date-input/date-input.component.mjs +293 -0
  31. package/esm2022/lib/desy-forms/components/error-message/error-message.component.mjs +31 -0
  32. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/fieldset.component.mjs +10 -8
  33. package/{esm2020 → esm2022}/lib/desy-forms/components/fieldset/legend/legend.component.mjs +4 -4
  34. package/esm2022/lib/desy-forms/components/file-upload/file-upload.component.mjs +67 -0
  35. package/esm2022/lib/desy-forms/components/form-field/form-field.component.mjs +120 -0
  36. package/esm2022/lib/desy-forms/components/hint/hint.component.mjs +29 -0
  37. package/esm2022/lib/desy-forms/components/input/input.component.mjs +98 -0
  38. package/esm2022/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +20 -0
  39. package/esm2022/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +59 -0
  40. package/{esm2020 → esm2022}/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +4 -4
  41. package/esm2022/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +51 -0
  42. package/esm2022/lib/desy-forms/components/input-group/input-group.component.mjs +228 -0
  43. package/esm2022/lib/desy-forms/components/label/label.component.mjs +38 -0
  44. package/esm2022/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +170 -0
  45. package/esm2022/lib/desy-forms/components/radios/radios-parent.component.mjs +15 -0
  46. package/esm2022/lib/desy-forms/components/radios/radios.component.mjs +281 -0
  47. package/esm2022/lib/desy-forms/components/search-bar/search-bar.component.mjs +60 -0
  48. package/{esm2020 → esm2022}/lib/desy-forms/components/select/option/option.component.mjs +4 -4
  49. package/esm2022/lib/desy-forms/components/select/option-group/option-group.component.mjs +18 -0
  50. package/{esm2020 → esm2022}/lib/desy-forms/components/select/select-item/select-item.component.mjs +4 -4
  51. package/esm2022/lib/desy-forms/components/select/select.component.mjs +92 -0
  52. package/{esm2020 → esm2022}/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/desy-forms/components/textarea/textarea.component.mjs +12 -13
  54. package/esm2022/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +173 -0
  55. package/esm2022/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +377 -0
  56. package/esm2022/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +25 -0
  57. package/{esm2020 → esm2022}/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +4 -4
  58. package/esm2022/lib/desy-forms/components/tree/tree.component.mjs +356 -0
  59. package/esm2022/lib/desy-forms/desy-forms.module.mjs +207 -0
  60. package/esm2022/lib/desy-forms/directives/condition.directive.mjs +34 -0
  61. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
  62. package/{esm2020 → esm2022}/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
  63. package/esm2022/lib/desy-modals/components/dialog/dialog.component.mjs +150 -0
  64. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +25 -0
  65. package/esm2022/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +23 -0
  66. package/esm2022/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +23 -0
  67. package/esm2022/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +23 -0
  68. package/esm2022/lib/desy-modals/components/modal/modal.component.mjs +182 -0
  69. package/esm2022/lib/desy-modals/desy-modals.module.mjs +61 -0
  70. package/{esm2020 → esm2022}/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
  71. package/esm2022/lib/desy-modals/interfaces/index.mjs +7 -0
  72. package/esm2022/lib/desy-modals/services/dialog.service.mjs +114 -0
  73. package/{esm2020 → esm2022}/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +4 -4
  74. package/esm2022/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +48 -0
  75. package/{esm2020 → esm2022}/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +4 -4
  76. package/esm2022/lib/desy-nav/components/error-summary/error-summary.component.mjs +64 -0
  77. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +4 -4
  78. package/esm2022/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +31 -0
  79. package/{esm2020 → esm2022}/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +4 -4
  80. package/esm2022/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +19 -0
  81. package/esm2022/lib/desy-nav/components/footer/footer.component.mjs +74 -0
  82. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +4 -4
  83. package/esm2022/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +46 -0
  84. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +4 -4
  85. package/esm2022/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +36 -0
  86. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +4 -4
  87. package/{esm2020 → esm2022}/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +4 -4
  88. package/esm2022/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +93 -0
  89. package/esm2022/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +41 -0
  90. package/esm2022/lib/desy-nav/components/header/header.component.mjs +107 -0
  91. package/esm2022/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +40 -0
  92. package/esm2022/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +14 -0
  93. package/esm2022/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
  94. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +4 -4
  95. package/esm2022/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +78 -0
  96. package/esm2022/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +49 -0
  97. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +4 -4
  98. package/esm2022/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +602 -0
  99. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +46 -0
  100. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +18 -0
  101. package/{esm2020 → esm2022}/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +4 -4
  102. package/esm2022/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +113 -0
  103. package/esm2022/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +51 -0
  104. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +4 -4
  105. package/esm2022/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +36 -0
  106. package/{esm2020 → esm2022}/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +4 -4
  107. package/esm2022/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +45 -0
  108. package/esm2022/lib/desy-nav/components/menubar/menubar.component.mjs +713 -0
  109. package/{esm2020 → esm2022}/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +4 -4
  110. package/esm2022/lib/desy-nav/components/nav/nav.component.mjs +115 -0
  111. package/{esm2020 → esm2022}/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +4 -4
  112. package/esm2022/lib/desy-nav/components/notification/notification.component.mjs +143 -0
  113. package/esm2022/lib/desy-nav/components/skip-link/skip-link.component.mjs +43 -0
  114. package/esm2022/lib/desy-nav/desy-nav.module.mjs +240 -0
  115. package/esm2022/lib/desy-nav/interfaces/header-skiplink-data.mjs +2 -0
  116. package/esm2022/lib/desy-pagination/components/pagination/pagination.component.mjs +191 -0
  117. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +4 -4
  118. package/{esm2020 → esm2022}/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +4 -4
  119. package/{esm2020 → esm2022}/lib/desy-pagination/desy-pagination.module.mjs +15 -15
  120. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-caption.component.mjs +4 -4
  121. package/{esm2020 → esm2022}/lib/desy-tables/components/table/components/table-cell.component.mjs +4 -4
  122. package/esm2022/lib/desy-tables/components/table/components/table-header.component.mjs +18 -0
  123. package/esm2022/lib/desy-tables/components/table/components/table-row.component.mjs +18 -0
  124. package/esm2022/lib/desy-tables/components/table/table.component.mjs +79 -0
  125. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +50 -0
  126. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +18 -0
  127. package/{esm2020 → esm2022}/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +4 -4
  128. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +27 -0
  129. package/esm2022/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +28 -0
  130. package/esm2022/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +286 -0
  131. package/{esm2020 → esm2022}/lib/desy-tables/desy-tables.module.mjs +38 -38
  132. package/esm2022/lib/desy-tables/directives/cell.directive.mjs +25 -0
  133. package/esm2022/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +81 -0
  134. package/esm2022/lib/desy-tables/directives/row.directive.mjs +22 -0
  135. package/{esm2020 → esm2022}/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +4 -4
  136. package/esm2022/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +61 -0
  137. package/esm2022/lib/desy-views/components/accordion/accordion.component.mjs +199 -0
  138. package/esm2022/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +41 -0
  139. package/esm2022/lib/desy-views/components/accordion-history/accordion-history.component.mjs +19 -0
  140. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +4 -4
  141. package/{esm2020 → esm2022}/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +4 -4
  142. package/esm2022/lib/desy-views/components/alert/alert.component.mjs +81 -0
  143. package/esm2022/lib/desy-views/components/collapsible/collapsible.component.mjs +81 -0
  144. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/definition/definition.component.mjs +4 -4
  145. package/esm2022/lib/desy-views/components/description-list/description-item/description-item.component.mjs +36 -0
  146. package/esm2022/lib/desy-views/components/description-list/description-list.component.mjs +28 -0
  147. package/{esm2020 → esm2022}/lib/desy-views/components/description-list/term/term.component.mjs +4 -4
  148. package/{esm2020 → esm2022}/lib/desy-views/components/details/details.component.mjs +4 -4
  149. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +4 -4
  150. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +4 -4
  151. package/{esm2020 → esm2022}/lib/desy-views/components/item/item-item/item-item.component.mjs +4 -4
  152. package/esm2022/lib/desy-views/components/item/item.component.mjs +121 -0
  153. package/{esm2020 → esm2022}/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +4 -4
  154. package/esm2022/lib/desy-views/components/media-object/media-object.component.mjs +117 -0
  155. package/{esm2020 → esm2022}/lib/desy-views/components/spinner/spinner.component.mjs +4 -4
  156. package/esm2022/lib/desy-views/components/status/status.component.mjs +107 -0
  157. package/esm2022/lib/desy-views/components/status-item/status-item.component.mjs +148 -0
  158. package/{esm2020 → esm2022}/lib/desy-views/components/tabs/panel/panel.component.mjs +4 -4
  159. package/esm2022/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +39 -0
  160. package/esm2022/lib/desy-views/components/tabs/tabs.component.mjs +200 -0
  161. package/{esm2020 → esm2022}/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +4 -4
  162. package/esm2022/lib/desy-views/components/tooltip/tooltip.component.mjs +206 -0
  163. package/{esm2020 → esm2022}/lib/desy-views/desy-views.module.mjs +67 -67
  164. package/esm2022/lib/desy-views/services/alert.service.mjs +88 -0
  165. package/esm2022/lib/shared/components/accessibility/accessibility.component.mjs +42 -0
  166. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +4 -4
  167. package/{esm2020 → esm2022}/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +4 -4
  168. package/esm2022/lib/shared/components/content-base/content-base.component.mjs +21 -0
  169. package/{esm2020 → esm2022}/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +4 -4
  170. package/esm2022/lib/shared/decorators/desy-content-child.decorator.mjs +30 -0
  171. package/esm2022/lib/shared/decorators/desy-on-input-change.decorator.mjs +15 -0
  172. package/esm2022/lib/shared/directives/attribute-change.directive.mjs +50 -0
  173. package/esm2022/lib/shared/directives/click-outside.directive.mjs +40 -0
  174. package/esm2022/lib/shared/directives/content-change.directive.mjs +41 -0
  175. package/esm2022/lib/shared/directives/custom-inner-content.directive.mjs +44 -0
  176. package/esm2022/lib/shared/directives/inner-content.directive.mjs +37 -0
  177. package/esm2022/lib/shared/pipes/external-href.pipe.mjs +28 -0
  178. package/esm2022/lib/shared/pipes/inner-html.pipe.mjs +21 -0
  179. package/{esm2020 → esm2022}/lib/shared/pipes/make-html-list.pipe.mjs +4 -4
  180. package/esm2022/lib/shared/shared.module.mjs +83 -0
  181. package/esm2022/lib/shared/utils/search-utils.mjs +66 -0
  182. package/esm2022/lib/shared/utils/string-utils.mjs +11 -0
  183. package/esm2022/public-api.mjs +197 -0
  184. package/{fesm2020 → fesm2022}/desy-angular.mjs +1964 -2068
  185. package/fesm2022/desy-angular.mjs.map +1 -0
  186. package/index.d.ts +0 -3
  187. package/lib/desy-buttons/components/button/button.component.d.ts +1 -1
  188. package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -1
  189. package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +1 -1
  190. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -1
  191. package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +1 -1
  192. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +16 -5
  193. package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -1
  194. package/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.d.ts +1 -1
  195. package/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.d.ts +1 -1
  196. package/lib/desy-buttons/components/toggle/toggle.component.d.ts +1 -1
  197. package/lib/desy-commons/components/content/content.component.d.ts +1 -1
  198. package/lib/desy-commons/components/description/description.component.d.ts +1 -1
  199. package/lib/desy-commons/components/divider/divider.component.d.ts +1 -1
  200. package/lib/desy-commons/components/icon/icon.component.d.ts +1 -1
  201. package/lib/desy-commons/components/title/title.component.d.ts +1 -1
  202. package/lib/desy-forms/components/character-count/character-count.component.d.ts +1 -1
  203. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +6 -4
  204. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +13 -0
  205. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +13 -31
  206. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -1
  207. package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +1 -1
  208. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -1
  209. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -1
  210. package/lib/desy-forms/components/date-input/date-input.component.d.ts +5 -8
  211. package/lib/desy-forms/components/error-message/error-message.component.d.ts +1 -1
  212. package/lib/desy-forms/components/fieldset/fieldset.component.d.ts +1 -8
  213. package/lib/desy-forms/components/fieldset/legend/legend.component.d.ts +1 -1
  214. package/lib/desy-forms/components/file-upload/file-upload.component.d.ts +1 -6
  215. package/lib/desy-forms/components/form-field/form-field.component.d.ts +10 -10
  216. package/lib/desy-forms/components/hint/hint.component.d.ts +1 -1
  217. package/lib/desy-forms/components/input/input.component.d.ts +1 -1
  218. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +2 -1
  219. package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +1 -1
  220. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +2 -1
  221. package/lib/desy-forms/components/input-group/input-group.component.d.ts +3 -8
  222. package/lib/desy-forms/components/label/label.component.d.ts +1 -1
  223. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +6 -5
  224. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +13 -0
  225. package/lib/desy-forms/components/radios/radios.component.d.ts +14 -31
  226. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +3 -5
  227. package/lib/desy-forms/components/select/option/option.component.d.ts +2 -2
  228. package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +1 -1
  229. package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +1 -1
  230. package/lib/desy-forms/components/select/select.component.d.ts +1 -1
  231. package/lib/desy-forms/components/textarea/textarea.component.d.ts +1 -1
  232. package/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.d.ts +1 -1
  233. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +2 -5
  234. package/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.d.ts +6 -2
  235. package/lib/desy-forms/components/tree/tree-sub/tree-sub.component.d.ts +1 -1
  236. package/lib/desy-forms/components/tree/tree.component.d.ts +2 -59
  237. package/lib/desy-forms/directives/condition.directive.d.ts +1 -6
  238. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +1 -0
  239. package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
  240. package/lib/desy-modals/components/dialog/dialog.component.d.ts +2 -1
  241. package/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.d.ts +1 -1
  242. package/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.d.ts +1 -1
  243. package/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.d.ts +1 -1
  244. package/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.d.ts +1 -1
  245. package/lib/desy-modals/components/modal/modal.component.d.ts +1 -1
  246. package/lib/desy-modals/interfaces/dialog-options.d.ts +1 -0
  247. package/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.d.ts +1 -1
  248. package/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.d.ts +1 -1
  249. package/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.d.ts +1 -1
  250. package/lib/desy-nav/components/error-summary/error-summary.component.d.ts +1 -1
  251. package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +1 -1
  252. package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +1 -1
  253. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +1 -1
  254. package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +1 -1
  255. package/lib/desy-nav/components/footer/footer.component.d.ts +1 -1
  256. package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +1 -1
  257. package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +1 -1
  258. package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +1 -1
  259. package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +1 -8
  260. package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +1 -1
  261. package/lib/desy-nav/components/header/header.component.d.ts +3 -2
  262. package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +20 -0
  263. package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +7 -0
  264. package/lib/desy-nav/components/links-list/links-list.component.d.ts +13 -0
  265. package/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.d.ts +1 -1
  266. package/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.d.ts +1 -1
  267. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.d.ts +1 -1
  268. package/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.d.ts +1 -1
  269. package/lib/desy-nav/components/menu-navigation/menu-navigation.component.d.ts +1 -1
  270. package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +1 -1
  271. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +1 -1
  272. package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +1 -1
  273. package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +1 -1
  274. package/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.d.ts +1 -1
  275. package/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.d.ts +1 -1
  276. package/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.d.ts +1 -1
  277. package/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.d.ts +1 -1
  278. package/lib/desy-nav/components/menubar/menubar.component.d.ts +1 -8
  279. package/lib/desy-nav/components/nav/nav-item/nav-item.component.d.ts +1 -1
  280. package/lib/desy-nav/components/nav/nav.component.d.ts +1 -1
  281. package/lib/desy-nav/components/notification/notification-item/notification-item.component.d.ts +1 -1
  282. package/lib/desy-nav/components/notification/notification.component.d.ts +1 -1
  283. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +2 -1
  284. package/lib/desy-nav/desy-nav.module.d.ts +29 -26
  285. package/lib/desy-nav/interfaces/header-skiplink-data.d.ts +7 -0
  286. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +12 -7
  287. package/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.d.ts +1 -1
  288. package/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.d.ts +1 -1
  289. package/lib/desy-tables/components/table/components/table-caption.component.d.ts +1 -1
  290. package/lib/desy-tables/components/table/components/table-cell.component.d.ts +1 -1
  291. package/lib/desy-tables/components/table/table.component.d.ts +1 -1
  292. package/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.d.ts +1 -1
  293. package/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.d.ts +1 -1
  294. package/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.d.ts +1 -1
  295. package/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.d.ts +1 -1
  296. package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +1 -56
  297. package/lib/desy-tables/directives/cell.directive.d.ts +1 -4
  298. package/lib/desy-tables/directives/row.directive.d.ts +1 -8
  299. package/lib/desy-views/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
  300. package/lib/desy-views/components/accordion/accordion-item/accordion-item.component.d.ts +1 -1
  301. package/lib/desy-views/components/accordion/accordion.component.d.ts +1 -1
  302. package/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.d.ts +1 -1
  303. package/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.d.ts +1 -1
  304. package/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.d.ts +1 -1
  305. package/lib/desy-views/components/alert/alert.component.d.ts +1 -1
  306. package/lib/desy-views/components/collapsible/collapsible.component.d.ts +1 -1
  307. package/lib/desy-views/components/description-list/definition/definition.component.d.ts +1 -1
  308. package/lib/desy-views/components/description-list/description-item/description-item.component.d.ts +1 -1
  309. package/lib/desy-views/components/description-list/description-list.component.d.ts +1 -1
  310. package/lib/desy-views/components/description-list/term/term.component.d.ts +1 -1
  311. package/lib/desy-views/components/details/details.component.d.ts +1 -1
  312. package/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.d.ts +1 -1
  313. package/lib/desy-views/components/item/item.component.d.ts +2 -1
  314. package/lib/desy-views/components/media-object/media-object.component.d.ts +1 -1
  315. package/lib/desy-views/components/spinner/spinner.component.d.ts +1 -1
  316. package/lib/desy-views/components/status/status.component.d.ts +3 -1
  317. package/lib/desy-views/components/status-item/status-item.component.d.ts +1 -1
  318. package/lib/desy-views/components/tabs/panel/panel.component.d.ts +1 -1
  319. package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +1 -1
  320. package/lib/desy-views/components/tabs/tabs.component.d.ts +1 -1
  321. package/lib/desy-views/components/tooltip/tooltip.component.d.ts +1 -1
  322. package/lib/shared/components/accessibility/accessibility.component.d.ts +1 -4
  323. package/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.d.ts +1 -9
  324. package/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.d.ts +1 -7
  325. package/lib/shared/components/content-base/content-base.component.d.ts +0 -3
  326. package/lib/shared/components/text-or-html-required/text-or-html-required.component.d.ts +1 -5
  327. package/lib/shared/decorators/desy-content-child.decorator.d.ts +0 -11
  328. package/lib/shared/decorators/desy-on-input-change.decorator.d.ts +0 -4
  329. package/lib/shared/directives/attribute-change.directive.d.ts +2 -1
  330. package/lib/shared/directives/click-outside.directive.d.ts +1 -1
  331. package/lib/shared/directives/content-change.directive.d.ts +1 -5
  332. package/lib/shared/directives/custom-inner-content.directive.d.ts +1 -7
  333. package/lib/shared/directives/inner-content.directive.d.ts +1 -1
  334. package/lib/shared/pipes/external-href.pipe.d.ts +0 -4
  335. package/lib/shared/utils/search-utils.d.ts +0 -10
  336. package/lib/shared/utils/string-utils.d.ts +0 -7
  337. package/package.json +13 -19
  338. package/public-api.d.ts +4 -0
  339. package/esm2020/desy-angular.mjs +0 -5
  340. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +0 -115
  341. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +0 -63
  342. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +0 -126
  343. package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +0 -32
  344. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +0 -291
  345. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +0 -80
  346. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +0 -59
  347. package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +0 -82
  348. package/esm2020/lib/desy-commons/desy-commons.module.mjs +0 -53
  349. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +0 -240
  350. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +0 -264
  351. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +0 -52
  352. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +0 -19
  353. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +0 -52
  354. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +0 -48
  355. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +0 -266
  356. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +0 -31
  357. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +0 -72
  358. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +0 -124
  359. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +0 -29
  360. package/esm2020/lib/desy-forms/components/input/input.component.mjs +0 -99
  361. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +0 -20
  362. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +0 -53
  363. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +0 -45
  364. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +0 -223
  365. package/esm2020/lib/desy-forms/components/label/label.component.mjs +0 -38
  366. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +0 -185
  367. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +0 -270
  368. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +0 -66
  369. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +0 -18
  370. package/esm2020/lib/desy-forms/components/select/select.component.mjs +0 -93
  371. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +0 -167
  372. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +0 -397
  373. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +0 -25
  374. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +0 -425
  375. package/esm2020/lib/desy-forms/desy-forms.module.mjs +0 -209
  376. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +0 -34
  377. package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +0 -9
  378. package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +0 -9
  379. package/esm2020/lib/desy-forms/services/checkbox.service.mjs +0 -61
  380. package/esm2020/lib/desy-forms/services/radio.service.mjs +0 -53
  381. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +0 -130
  382. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +0 -25
  383. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +0 -23
  384. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +0 -23
  385. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +0 -23
  386. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +0 -178
  387. package/esm2020/lib/desy-modals/desy-modals.module.mjs +0 -62
  388. package/esm2020/lib/desy-modals/interfaces/index.mjs +0 -8
  389. package/esm2020/lib/desy-modals/services/dialog.service.mjs +0 -114
  390. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +0 -47
  391. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +0 -62
  392. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +0 -30
  393. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +0 -19
  394. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +0 -71
  395. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +0 -45
  396. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +0 -36
  397. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +0 -95
  398. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +0 -41
  399. package/esm2020/lib/desy-nav/components/header/header.component.mjs +0 -103
  400. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +0 -79
  401. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +0 -49
  402. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +0 -616
  403. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +0 -45
  404. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +0 -18
  405. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +0 -113
  406. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +0 -51
  407. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +0 -36
  408. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +0 -45
  409. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +0 -727
  410. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +0 -116
  411. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +0 -141
  412. package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +0 -37
  413. package/esm2020/lib/desy-nav/desy-nav.module.mjs +0 -221
  414. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +0 -167
  415. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +0 -18
  416. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +0 -18
  417. package/esm2020/lib/desy-tables/components/table/table.component.mjs +0 -78
  418. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +0 -47
  419. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +0 -18
  420. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +0 -27
  421. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +0 -28
  422. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +0 -342
  423. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +0 -28
  424. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +0 -81
  425. package/esm2020/lib/desy-tables/directives/row.directive.mjs +0 -29
  426. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +0 -57
  427. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +0 -198
  428. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +0 -39
  429. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +0 -19
  430. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +0 -81
  431. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +0 -81
  432. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +0 -34
  433. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +0 -28
  434. package/esm2020/lib/desy-views/components/item/item.component.mjs +0 -121
  435. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +0 -115
  436. package/esm2020/lib/desy-views/components/status/status.component.mjs +0 -97
  437. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +0 -143
  438. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +0 -37
  439. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +0 -199
  440. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +0 -202
  441. package/esm2020/lib/desy-views/services/alert.service.mjs +0 -88
  442. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +0 -45
  443. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +0 -24
  444. package/esm2020/lib/shared/decorators/desy-content-child.decorator.mjs +0 -41
  445. package/esm2020/lib/shared/decorators/desy-on-input-change.decorator.mjs +0 -19
  446. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +0 -45
  447. package/esm2020/lib/shared/directives/click-outside.directive.mjs +0 -40
  448. package/esm2020/lib/shared/directives/content-change.directive.mjs +0 -45
  449. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +0 -60
  450. package/esm2020/lib/shared/directives/inner-content.directive.mjs +0 -37
  451. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +0 -32
  452. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +0 -20
  453. package/esm2020/lib/shared/shared.module.mjs +0 -99
  454. package/esm2020/lib/shared/utils/search-utils.mjs +0 -78
  455. package/esm2020/lib/shared/utils/string-utils.mjs +0 -18
  456. package/esm2020/public-api.mjs +0 -221
  457. package/fesm2015/desy-angular.mjs +0 -11752
  458. package/fesm2015/desy-angular.mjs.map +0 -1
  459. package/fesm2020/desy-angular.mjs.map +0 -1
  460. package/lib/desy-forms/models/checkbox-service-item.component.d.ts +0 -13
  461. package/lib/desy-forms/models/radio-service-item.component.d.ts +0 -12
  462. package/lib/desy-forms/services/checkbox.service.d.ts +0 -14
  463. package/lib/desy-forms/services/radio.service.d.ts +0 -13
  464. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-item-data.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/desy-buttons/interfaces/listbox-label-data.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/content-data.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/description-data.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/divider-data.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/icon-data.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/desy-commons/interfaces/title-data.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/itree-item.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/desy-forms/components/tree/interfaces/quit-tree-item-focus-options.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/accesibility-data.mjs +0 -0
  475. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/error-message-data.mjs +0 -0
  476. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/fieldset-data.mjs +0 -0
  477. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/hint-data.mjs +0 -0
  478. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/index.mjs +0 -0
  479. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-checkbox-data.mjs +0 -0
  480. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-date-input-data.mjs +0 -0
  481. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-divider-input-group-data.mjs +0 -0
  482. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-input-group-data.mjs +0 -0
  483. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-data.mjs +0 -0
  484. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/item-radio-with-template-data.mjs +0 -0
  485. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/label-data.mjs +0 -0
  486. /package/{esm2020 → esm2022}/lib/desy-forms/interfaces/legend-data.mjs +0 -0
  487. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-button-data.mjs +0 -0
  488. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-data.mjs +0 -0
  489. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-icon-data.mjs +0 -0
  490. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/modal-options.mjs +0 -0
  491. /package/{esm2020 → esm2022}/lib/desy-modals/interfaces/open-dialog-result.mjs +0 -0
  492. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/breadcrumbs.data.mjs +0 -0
  493. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/error-summary-data.mjs +0 -0
  494. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/footer-data.mjs +0 -0
  495. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-dropdown-data.mjs +0 -0
  496. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-data.mjs +0 -0
  497. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-navigation-item-data.mjs +0 -0
  498. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-offcanvas-data.mjs +0 -0
  499. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/header-subnav-data.mjs +0 -0
  500. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/index.mjs +0 -0
  501. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-data.mjs +0 -0
  502. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-horizontal-item-event-data.mjs +0 -0
  503. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item-sub-item.mjs +0 -0
  504. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation-item-sub-item.mjs +0 -0
  505. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-navigation.mjs +0 -0
  506. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-items-data.mjs +0 -0
  507. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-data.mjs +0 -0
  508. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menu-vertical-sub-items-data.mjs +0 -0
  509. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item-sub-item.mjs +0 -0
  510. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub-item.mjs +0 -0
  511. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item-sub.mjs +0 -0
  512. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/menubar-item.mjs +0 -0
  513. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item-event.data.mjs +0 -0
  514. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/nav-item.data.mjs +0 -0
  515. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-items-data.mjs +0 -0
  516. /package/{esm2020 → esm2022}/lib/desy-nav/interfaces/notification-options.mjs +0 -0
  517. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/index.mjs +0 -0
  518. /package/{esm2020 → esm2022}/lib/desy-pagination/interfaces/pagination-item.data.mjs +0 -0
  519. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/cell-data.mjs +0 -0
  520. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/head-cell-data.mjs +0 -0
  521. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/index.mjs +0 -0
  522. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/recalculate-table-params.mjs +0 -0
  523. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/row-data.mjs +0 -0
  524. /package/{esm2020 → esm2022}/lib/desy-tables/interfaces/wrapper-data.mjs +0 -0
  525. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-header.data.mjs +0 -0
  526. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/accordion-item.data.mjs +0 -0
  527. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/alert-options.mjs +0 -0
  528. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/description-item.data.mjs +0 -0
  529. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/index.mjs +0 -0
  530. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/open-alert-result.mjs +0 -0
  531. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-data.mjs +0 -0
  532. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-icon-data.mjs +0 -0
  533. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/status-item-title-data.mjs +0 -0
  534. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-items-data.mjs +0 -0
  535. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/tabs-panel-data.mjs +0 -0
  536. /package/{esm2020 → esm2022}/lib/desy-views/interfaces/term-definition.data.mjs +0 -0
  537. /package/{esm2020 → esm2022}/lib/shared/components/index.mjs +0 -0
  538. /package/{esm2020 → esm2022}/lib/shared/interfaces/accesibility-data.mjs +0 -0
  539. /package/{esm2020 → esm2022}/lib/shared/utils/focus-utils.mjs +0 -0
@@ -0,0 +1,51 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, TemplateRef, 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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DateInputYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", 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" }); }
14
+ }
15
+ __decorate([
16
+ DesyContentChild(),
17
+ __metadata("design:type", LabelComponent)
18
+ ], DateInputYearComponent.prototype, "labelComponent", void 0);
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DateInputYearComponent, decorators: [{
20
+ type: Component,
21
+ 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" }]
22
+ }], propDecorators: { id: [{
23
+ type: Input
24
+ }], name: [{
25
+ type: Input
26
+ }], disabled: [{
27
+ type: Input
28
+ }], hasErrors: [{
29
+ type: Input
30
+ }], value: [{
31
+ type: Input
32
+ }], autocomplete: [{
33
+ type: Input
34
+ }], pattern: [{
35
+ type: Input
36
+ }], classes: [{
37
+ type: Input
38
+ }], maxlength: [{
39
+ type: Input
40
+ }], placeholder: [{
41
+ type: Input
42
+ }], valueChange: [{
43
+ type: Output
44
+ }], labelComponent: [{
45
+ type: ContentChildren,
46
+ args: [LabelComponent]
47
+ }], labelRef: [{
48
+ type: ViewChild,
49
+ args: ['label', { static: true }]
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQteWVhci9kYXRlLWlucHV0LXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC15ZWFyL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFMUgsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOztBQU90RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsc0JBQXNCO0lBTGxFOztRQWlCWSxnQkFBVyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0tBTzFFOzhHQW5CWSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrU0FGdEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyx5REFpQnBGLGNBQWMscUtDMUJqQywyRkFHQTs7QURzQkU7SUFBQyxnQkFBZ0IsRUFBRTs4QkFDOEIsY0FBYzs4REFBQzsyRkFmckQsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQixhQUVoQixDQUFDLEVBQUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEVBQUMsQ0FBQzs4QkFHNUYsRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNXLE9BQU87c0JBQXZCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRzBCLGNBQWM7c0JBQTlDLGVBQWU7dUJBQUMsY0FBYztnQkFFTyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRlbURhdGVJbnB1dERhdGEgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XG5pbXBvcnQge0xhYmVsQ29tcG9uZW50fSBmcm9tICcuLi8uLi9sYWJlbC9sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUlucHV0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtaW5wdXQtaXRlbS9kYXRlLWlucHV0LWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1pbnB1dC15ZWFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBEYXRlSW5wdXRJdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlSW5wdXRZZWFyQ29tcG9uZW50KX1dLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRZZWFyQ29tcG9uZW50IGV4dGVuZHMgRGF0ZUlucHV0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEl0ZW1EYXRlSW5wdXREYXRhIHtcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgaGFzRXJyb3JzOiBib29sZWFuO1xuICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZztcbiAgQElucHV0KCkgcGF0dGVybjogc3RyaW5nO1xuICBASW5wdXQoKSBkZWNsYXJlIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgbWF4bGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihMYWJlbENvbXBvbmVudCkgbGFiZWxDb21wb25lbnQ6IExhYmVsQ29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWxSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjbGFiZWw+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImRlc3ktbGFiZWxcIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,293 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { Component, ContentChildren, EventEmitter, forwardRef, Input, Optional, Output, QueryList, TemplateRef, ViewChild, HostBinding } from '@angular/core';
3
+ import { ControlContainer, 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
+ static { this.defaultItems = [
29
+ {
30
+ name: 'day',
31
+ classes: 'w-14',
32
+ maxlength: 2
33
+ },
34
+ {
35
+ name: 'month',
36
+ classes: 'w-14',
37
+ maxlength: 2
38
+ },
39
+ {
40
+ name: 'year',
41
+ classes: 'w-20',
42
+ maxlength: 4
43
+ }
44
+ ]; }
45
+ constructor(controlContainer) {
46
+ super();
47
+ this.controlContainer = controlContainer;
48
+ this.itemsChange = new EventEmitter();
49
+ this.cfg = true;
50
+ this.contentInit = false;
51
+ }
52
+ ngOnInit() {
53
+ if (this.controlContainer) {
54
+ this.ogFormGroup = this.controlContainer.control;
55
+ }
56
+ if (this.placeholder) {
57
+ let arr = this.placeholder.split('/');
58
+ if (this.items && this.items.length > 0 && arr && arr.length > 0) {
59
+ for (let i = 0; i < this.items.length; i++) {
60
+ this.items[i].placeholder = arr[i];
61
+ }
62
+ }
63
+ }
64
+ }
65
+ ngOnChanges(changes) {
66
+ this.cfgr = (this.hasErrorsMessage() || this.formGroupClasses === 'c-form-group--error');
67
+ }
68
+ ngAfterContentInit() {
69
+ this.contentInit = true;
70
+ }
71
+ initDefaultItems() {
72
+ if (!this.items) {
73
+ this.items = [
74
+ {
75
+ name: 'día',
76
+ classes: 'w-14',
77
+ maxlength: 2
78
+ },
79
+ {
80
+ name: 'mes',
81
+ classes: 'w-14',
82
+ maxlength: 2
83
+ },
84
+ {
85
+ name: 'año',
86
+ classes: 'w-20',
87
+ maxlength: 4
88
+ }
89
+ ];
90
+ }
91
+ }
92
+ writeValue(value) {
93
+ this.value = value;
94
+ if (this.value) {
95
+ const items = this.getItems();
96
+ items.forEach(item => item.value = this.value[this.getItemName(item)]);
97
+ if (this.items) {
98
+ this.itemsChange.emit(this.items);
99
+ }
100
+ }
101
+ this.onChange(value);
102
+ }
103
+ overrideFieldsetParams(fieldset) {
104
+ fieldset.caller = this.innerHtml;
105
+ fieldset.errorId = this.getErrorId();
106
+ fieldset.describedBy = new MakeHtmlListPipe().transform([this.getHintId(), this.getErrorId()], null);
107
+ fieldset.role = 'group';
108
+ fieldset.detectChanges();
109
+ }
110
+ overrideErrorMessageParams(errorMessage) {
111
+ if (errorMessage && !errorMessage.id) {
112
+ errorMessage.id = this.getErrorId();
113
+ errorMessage.detectChanges();
114
+ }
115
+ }
116
+ onExternalChange() {
117
+ if (!this.contentInit) {
118
+ return;
119
+ }
120
+ if (!this.value) {
121
+ this.value = {};
122
+ }
123
+ const items = this.getItems();
124
+ items.forEach(item => this.value[this.getItemName(item)] = item.value);
125
+ const newVal = {};
126
+ Object.assign(newVal, this.value);
127
+ this.onChange(newVal);
128
+ }
129
+ onInternalChange(item, itemValue) {
130
+ const itemName = this.getItemName(item);
131
+ if (!this.value) {
132
+ this.value = {};
133
+ }
134
+ if (this.value[itemName] !== itemValue) {
135
+ this.value[itemName] = itemValue ? +itemValue : undefined;
136
+ const newVal = {};
137
+ Object.assign(newVal, this.value);
138
+ this.onChange(newVal);
139
+ if (item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent) {
140
+ item.valueChange.emit(itemValue);
141
+ }
142
+ if (this.items) {
143
+ item.value = itemValue;
144
+ this.itemsChange.emit(this.items);
145
+ }
146
+ }
147
+ }
148
+ hasFieldset() {
149
+ return !!(this.hasFieldsetComponent() || this.hasLegendComponent() || this.legendRef || this.fieldsetData
150
+ || (this.legendData && (this.legendData.text || this.legendData.html)) || this.legendText);
151
+ }
152
+ hasFieldsetComponent() {
153
+ return !!this.fieldsetComponent;
154
+ }
155
+ hasLegendComponent() {
156
+ return !!this.legendComponent;
157
+ }
158
+ hasErrorMessageComponent() {
159
+ return !!this.errorMessageComponent;
160
+ }
161
+ getItemName(item) {
162
+ return this.namePrefix ? this.namePrefix + '-' + item.name : item.name;
163
+ }
164
+ getItemLabel(item) {
165
+ let labelData;
166
+ if (item.labelData && (item.labelData.text || item.labelData.html)) {
167
+ labelData = item.labelData;
168
+ }
169
+ else {
170
+ labelData = {
171
+ text: item.labelText ? item.labelText : (item.name ? item.name.toUpperCase() : null)
172
+ };
173
+ }
174
+ return labelData;
175
+ }
176
+ getItemLabelRef(item) {
177
+ return item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent ?
178
+ item.labelRef : null;
179
+ }
180
+ getItems() {
181
+ let items;
182
+ if (this.dateInputItemComponents && this.dateInputItemComponents.length > 0) {
183
+ items = this.dateInputItemComponents.toArray();
184
+ }
185
+ else if (this.items) {
186
+ items = this.items;
187
+ }
188
+ else if (this.contentInit) {
189
+ items = DateInputComponent.defaultItems;
190
+ }
191
+ else {
192
+ items = [];
193
+ }
194
+ return items;
195
+ }
196
+ getItemDividerTemplate(item) {
197
+ return item.divider instanceof DateInputDividerComponent ? item.divider.dividerContent : null;
198
+ }
199
+ getItemDividerHtml(item) {
200
+ return item.divider.html ? item.divider.html : `<p>${StringUtils.escapeHtml(item.divider.text)}</p>`;
201
+ }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DateInputComponent, deps: [{ token: i1.ControlContainer, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", 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: [
204
+ {
205
+ provide: NG_VALUE_ACCESSOR,
206
+ useExisting: forwardRef(() => DateInputComponent),
207
+ multi: true
208
+ }
209
+ ], 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" }] }); }
210
+ }
211
+ __decorate([
212
+ DesyOnInputChange('onExternalChange'),
213
+ __metadata("design:type", Array)
214
+ ], DateInputComponent.prototype, "items", void 0);
215
+ __decorate([
216
+ DesyOnInputChange('onExternalChange'),
217
+ __metadata("design:type", String)
218
+ ], DateInputComponent.prototype, "namePrefix", void 0);
219
+ __decorate([
220
+ DesyContentChild({ onSetCallbackName: 'overrideFieldsetParams' }),
221
+ __metadata("design:type", FieldsetComponent)
222
+ ], DateInputComponent.prototype, "fieldsetComponent", void 0);
223
+ __decorate([
224
+ DesyContentChild({ onSetCallbackName: 'overrideErrorMessageParams' }),
225
+ __metadata("design:type", ErrorMessageComponent)
226
+ ], DateInputComponent.prototype, "errorMessageComponent", void 0);
227
+ __decorate([
228
+ DesyContentChild(),
229
+ __metadata("design:type", LegendComponent)
230
+ ], DateInputComponent.prototype, "legendComponent", void 0);
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DateInputComponent, decorators: [{
232
+ type: Component,
233
+ args: [{ selector: 'desy-date-input', providers: [
234
+ {
235
+ provide: NG_VALUE_ACCESSOR,
236
+ useExisting: forwardRef(() => DateInputComponent),
237
+ multi: true
238
+ }
239
+ ], 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" }]
240
+ }], ctorParameters: function () { return [{ type: i1.ControlContainer, decorators: [{
241
+ type: Optional
242
+ }] }]; }, propDecorators: { ngModelGroup: [{
243
+ type: Input
244
+ }], items: [{
245
+ type: Input
246
+ }], itemsChange: [{
247
+ type: Output
248
+ }], namePrefix: [{
249
+ type: Input
250
+ }], classes: [{
251
+ type: Input
252
+ }], errorMessage: [{
253
+ type: Input
254
+ }], id: [{
255
+ type: Input
256
+ }], cfg: [{
257
+ type: HostBinding,
258
+ args: ['class.c-form-group']
259
+ }], cfgr: [{
260
+ type: HostBinding,
261
+ args: ['class.c-form-group--error']
262
+ }], formGroupClasses: [{
263
+ type: Input
264
+ }, {
265
+ type: HostBinding,
266
+ args: ['class']
267
+ }], fieldsetComponent: [{
268
+ type: ContentChildren,
269
+ args: [FieldsetComponent]
270
+ }], errorMessageComponent: [{
271
+ type: ContentChildren,
272
+ args: [ErrorMessageComponent]
273
+ }], legendComponent: [{
274
+ type: ContentChildren,
275
+ args: [LegendComponent]
276
+ }], dateInputItemComponents: [{
277
+ type: ContentChildren,
278
+ args: [DateInputItemComponent]
279
+ }], fieldsetData: [{
280
+ type: Input
281
+ }], legendRef: [{
282
+ type: Input
283
+ }], legendData: [{
284
+ type: Input
285
+ }], legendText: [{
286
+ type: Input
287
+ }], placeholder: [{
288
+ type: Input
289
+ }], innerHtml: [{
290
+ type: ViewChild,
291
+ args: ['innerHtml', { static: true }]
292
+ }] } });
293
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUFFLFlBQVksRUFDN0IsVUFBVSxFQUNWLEtBQUssRUFFTCxRQUFRLEVBQUUsTUFBTSxFQUNoQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBR1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFhLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIs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LENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFvRVksUUFBUTs0Q0E5Q1osWUFBWTtzQkFBcEIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHRSxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNXLEVBQUU7c0JBQWxCLEtBQUs7Z0JBRTZCLEdBQUc7c0JBQXJDLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUNTLElBQUk7c0JBQTdDLFdBQVc7dUJBQUMsMkJBQTJCO2dCQUNULGdCQUFnQjtzQkFBOUMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPO2dCQUdPLGlCQUFpQjtzQkFBcEQsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBR2MscUJBQXFCO3NCQUFwRSxlQUFlO3VCQUFDLHFCQUFxQjtnQkFHSixlQUFlO3NCQUFoRCxlQUFlO3VCQUFDLGVBQWU7Z0JBRVMsdUJBQXVCO3NCQUEvRCxlQUFlO3VCQUFDLHNCQUFzQjtnQkFTOUIsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVvQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPcHRpb25hbCwgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIEhvc3RCaW5kaW5nLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWVsZHNldERhdGEsIExlZ2VuZERhdGEsIEl0ZW1EYXRlSW5wdXREYXRhLCBMYWJlbERhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IExlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkc2V0L2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50JztcbmltcG9ydCB7IERlc3lDb250ZW50Q2hpbGQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LWNvbnRlbnQtY2hpbGQuZGVjb3JhdG9yJztcbmltcG9ydCB7IERhdGVJbnB1dERheUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1kYXkvZGF0ZS1pbnB1dC1kYXkuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dE1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LW1vbnRoL2RhdGUtaW5wdXQtbW9udGguY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVJbnB1dFllYXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQteWVhci9kYXRlLWlucHV0LXllYXIuY29tcG9uZW50JztcbmltcG9ydCB7TWFrZUh0bWxMaXN0UGlwZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3BpcGVzL21ha2UtaHRtbC1saXN0LnBpcGUnO1xuaW1wb3J0IHtEZXN5T25JbnB1dENoYW5nZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yJztcbmltcG9ydCB7IERhdGVJbnB1dERpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQtZGl2aWRlci9kYXRlLWlucHV0LWRpdmlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XG5pbXBvcnQgeyBEYXRlSW5wdXRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LWl0ZW0vZGF0ZS1pbnB1dC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvck1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1kYXRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVJbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGb3JtRmllbGRDb21wb25lbnQ8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcblxuICBwcml2YXRlIHN0YXRpYyBkZWZhdWx0SXRlbXMgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ2RheScsXG4gICAgICBjbGFzc2VzOiAndy0xNCcsXG4gICAgICBtYXhsZW5ndGg6IDJcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdtb250aCcsXG4gICAgICBjbGFzc2VzOiAndy0xNCcsXG4gICAgICBtYXhsZW5ndGg6IDJcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICd5ZWFyJyxcbiAgICAgIGNsYXNzZXM6ICd3LTIwJyxcbiAgICAgIG1heGxlbmd0aDogNFxuICAgIH1cbiAgXTtcblxuICBASW5wdXQoKSBuZ01vZGVsR3JvdXA6IHN0cmluZztcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uRXh0ZXJuYWxDaGFuZ2UnKVxuICBASW5wdXQoKSBpdGVtczogSXRlbURhdGVJbnB1dERhdGFbXTtcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SXRlbURhdGVJbnB1dERhdGFbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW1EYXRlSW5wdXREYXRhW10+KCk7XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbkV4dGVybmFsQ2hhbmdlJylcbiAgQElucHV0KCkgbmFtZVByZWZpeDogc3RyaW5nO1xuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZWNsYXJlIGlkOiBzdHJpbmc7XG4gIC8vICBmb3JtIGdyb3VwIGNsYXNzIC0gYXNpZ25hciBjbGFzZXMgYSBsYSBldGlxdWV0YSBkZXN5LWlucHV0XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYy1mb3JtLWdyb3VwJykgY2ZnID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jLWZvcm0tZ3JvdXAtLWVycm9yJykgY2ZncjogYm9vbGVhbjtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGZvcm1Hcm91cENsYXNzZXM6IGFueTtcblxuICBARGVzeUNvbnRlbnRDaGlsZCh7IG9uU2V0Q2FsbGJhY2tOYW1lOiAnb3ZlcnJpZGVGaWVsZHNldFBhcmFtcyd9KVxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XG5cbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRXJyb3JNZXNzYWdlUGFyYW1zJ30pXG4gIEBDb250ZW50Q2hpbGRyZW4oRXJyb3JNZXNzYWdlQ29tcG9uZW50KSBkZWNsYXJlIGVycm9yTWVzc2FnZUNvbXBvbmVudDogRXJyb3JNZXNzYWdlQ29tcG9uZW50O1xuXG4gIEBEZXN5Q29udGVudENoaWxkKClcbiAgQENvbnRlbnRDaGlsZHJlbihMZWdlbmRDb21wb25lbnQpIGxlZ2VuZENvbXBvbmVudDogTGVnZW5kQ29tcG9uZW50O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0ZUlucHV0SXRlbUNvbXBvbmVudCkgZGF0ZUlucHV0SXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEYXRlSW5wdXRJdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogZmllbGRzZXQsIGRpZmVyZW50ZXMgZm9ybWFzIGRlIGltcGxlbWVudGFyLCBlbnVtZXJhZGFzIHBvciBwcmlvcmlkYWRcbiAgICogMSkgaW5jbHVpciBvYmpldG8gRmllbGRzZXREYXRhIChpbnRlcmZheiBleHB1ZXN0YSlcbiAgICogMikgaW5jbHVpciB0ZW1wbGF0ZSBsZWdlbmRcbiAgICogMykgaW5jbHVpciBsZWdlbmREYXRhIC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW5hIGxlZ2VuZGEgY29uIGxvcyBwYXJhbWV0cm9zIHBhc2Fkb3MgIChpbnRlcmZheiBleHB1ZXN0YSlcbiAgICogNCkgaW5jbHVpciBsZWdlbmRUZXh0IC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW4gdGV4dG8gZW4gbGEgbGVnZW5kYVxuICAgKi9cbiAgQElucHV0KCkgZmllbGRzZXREYXRhOiBGaWVsZHNldERhdGE7XG4gIEBJbnB1dCgpIGxlZ2VuZFJlZjogVGVtcGxhdGVSZWY8TGVnZW5kQ29tcG9uZW50PjtcbiAgQElucHV0KCkgbGVnZW5kRGF0YTogTGVnZW5kRGF0YTtcbiAgQElucHV0KCkgbGVnZW5kVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnaW5uZXJIdG1sJywgeyBzdGF0aWM6IHRydWUgfSkgaW5uZXJIdG1sOiBUZW1wbGF0ZVJlZjxhbnk+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=
@@ -0,0 +1,31 @@
1
+ import { ChangeDetectorRef, 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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: ErrorMessageComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", 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"] }] }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFNbEUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQVEvRCxZQUFvQixpQkFBb0M7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO0lBRXhELENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQWRVLHFCQUFxQjtrR0FBckIscUJBQXFCLGlNQ1BsQyx1bENBbUJBOzsyRkRaYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9CO3dHQUtyQixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjY2Vzc2liaWxpdHlDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeS1lcnJvci1tZXNzYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yTWVzc2FnZUNvbXBvbmVudCBleHRlbmRzIEFjY2Vzc2liaWxpdHlDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcbiAgQElucHV0KCkgaHRtbDogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZpc3VhbGx5SGlkZGVuVGV4dDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iLCI8cCBjbGFzcz1cImJsb2NrIGZvbnQtc2VtaWJvbGQgdGV4dC1hbGVydC1iYXNlXCIgW25nQ2xhc3NdPVwiY2xhc3Nlc1wiXG4gICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXG4gICBbYXR0ci5yb2xlXT1cInJvbGUgPyByb2xlIDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgPyBhcmlhRGVzY3JpYmVkQnkgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSA/IGFyaWFMYWJlbGxlZEJ5IDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWhpZGRlbl09XCJhcmlhSGlkZGVuID8gYXJpYUhpZGRlbiA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiYXJpYUNvbnRyb2xzID8gYXJpYUNvbnRyb2xzIDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwiYXJpYUN1cnJlbnQgPyBhcmlhQ3VycmVudCA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiYXJpYUV4cGFuZGVkID8gYXJpYUV4cGFuZGVkIDogbnVsbFwiXG4gICBbYXR0ci5hcmlhLWVycm9ybWVzc2FnZV09XCJhcmlhRXJyb3JNZXNzYWdlID8gYXJpYUVycm9yTWVzc2FnZSA6IG51bGxcIlxuICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4ID8gdGFiaW5kZXggOiBudWxsXCI+XG4gIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPnt7dmlzdWFsbHlIaWRkZW5UZXh0ID8gdmlzdWFsbHlIaWRkZW5UZXh0IDogJ0Vycm9yJ319Ojwvc3Bhbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBodG1sOiBodG1sLCB0ZXh0OiB0ZXh0IH1cIj48L25nLWNvbnRhaW5lcj5cbjwvcD5cbiJdfQ==