desy-angular 7.0.0 → 7.1.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 (226) hide show
  1. package/README.md +2 -2
  2. package/esm2020/lib/desy-angular.module.mjs +4 -4
  3. package/esm2020/lib/desy-buttons/components/button/button.component.mjs +5 -5
  4. package/esm2020/lib/desy-buttons/components/button-loader/button-loader.component.mjs +3 -3
  5. package/esm2020/lib/desy-buttons/components/dropdown/dropdown.component.mjs +6 -7
  6. package/esm2020/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.mjs +11 -4
  7. package/esm2020/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.mjs +3 -3
  8. package/esm2020/lib/desy-buttons/components/listbox/listbox.component.mjs +142 -94
  9. package/esm2020/lib/desy-buttons/components/pill/pill.component.mjs +3 -3
  10. package/esm2020/lib/desy-buttons/components/toggle/toggle-off-state/toggle-off-state.component.mjs +3 -3
  11. package/esm2020/lib/desy-buttons/components/toggle/toggle-on-state/toggle-on-state.component.mjs +3 -3
  12. package/esm2020/lib/desy-buttons/components/toggle/toggle.component.mjs +3 -3
  13. package/esm2020/lib/desy-buttons/desy-buttons.module.mjs +4 -4
  14. package/esm2020/lib/desy-commons/components/content/content.component.mjs +3 -3
  15. package/esm2020/lib/desy-commons/components/description/description.component.mjs +3 -3
  16. package/esm2020/lib/desy-commons/components/divider/divider.component.mjs +3 -3
  17. package/esm2020/lib/desy-commons/components/icon/icon.component.mjs +3 -3
  18. package/esm2020/lib/desy-commons/components/title/title.component.mjs +3 -3
  19. package/esm2020/lib/desy-commons/desy-commons.module.mjs +4 -4
  20. package/esm2020/lib/desy-forms/components/character-count/character-count.component.mjs +3 -3
  21. package/esm2020/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.mjs +25 -43
  22. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes-parent.component.mjs +23 -0
  23. package/esm2020/lib/desy-forms/components/checkboxes/checkboxes.component.mjs +98 -67
  24. package/esm2020/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.mjs +6 -4
  25. package/esm2020/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.mjs +3 -3
  26. package/esm2020/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.mjs +3 -3
  27. package/esm2020/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.mjs +6 -4
  28. package/esm2020/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.mjs +6 -4
  29. package/esm2020/lib/desy-forms/components/date-input/date-input.component.mjs +29 -6
  30. package/esm2020/lib/desy-forms/components/error-message/error-message.component.mjs +3 -3
  31. package/esm2020/lib/desy-forms/components/fieldset/fieldset.component.mjs +3 -3
  32. package/esm2020/lib/desy-forms/components/fieldset/legend/legend.component.mjs +3 -3
  33. package/esm2020/lib/desy-forms/components/file-upload/file-upload.component.mjs +3 -3
  34. package/esm2020/lib/desy-forms/components/form-field/form-field.component.mjs +4 -4
  35. package/esm2020/lib/desy-forms/components/hint/hint.component.mjs +3 -3
  36. package/esm2020/lib/desy-forms/components/input/input.component.mjs +6 -6
  37. package/esm2020/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.mjs +3 -3
  38. package/esm2020/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.mjs +10 -5
  39. package/esm2020/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.mjs +3 -3
  40. package/esm2020/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.mjs +10 -5
  41. package/esm2020/lib/desy-forms/components/input-group/input-group.component.mjs +12 -6
  42. package/esm2020/lib/desy-forms/components/label/label.component.mjs +3 -3
  43. package/esm2020/lib/desy-forms/components/radios/radio-item/radio-item.component.mjs +22 -34
  44. package/esm2020/lib/desy-forms/components/radios/radios-parent.component.mjs +23 -0
  45. package/esm2020/lib/desy-forms/components/radios/radios.component.mjs +109 -71
  46. package/esm2020/lib/desy-forms/components/search-bar/search-bar.component.mjs +7 -13
  47. package/esm2020/lib/desy-forms/components/select/option/option.component.mjs +4 -4
  48. package/esm2020/lib/desy-forms/components/select/option-group/option-group.component.mjs +3 -3
  49. package/esm2020/lib/desy-forms/components/select/select-item/select-item.component.mjs +3 -3
  50. package/esm2020/lib/desy-forms/components/select/select.component.mjs +7 -7
  51. package/esm2020/lib/desy-forms/components/template-driven-wrapper/template-driven-wrapper.component.mjs +3 -3
  52. package/esm2020/lib/desy-forms/components/textarea/textarea.component.mjs +3 -3
  53. package/esm2020/lib/desy-forms/components/tree/tree-checkbox/tree-checkbox.component.mjs +3 -3
  54. package/esm2020/lib/desy-forms/components/tree/tree-item/tree-item.component.mjs +7 -6
  55. package/esm2020/lib/desy-forms/components/tree/tree-items-generator/tree-items-generator.component.mjs +3 -3
  56. package/esm2020/lib/desy-forms/components/tree/tree-sub/tree-sub.component.mjs +3 -3
  57. package/esm2020/lib/desy-forms/components/tree/tree.component.mjs +12 -4
  58. package/esm2020/lib/desy-forms/desy-forms.module.mjs +6 -6
  59. package/esm2020/lib/desy-forms/directives/condition.directive.mjs +3 -3
  60. package/esm2020/lib/desy-forms/interfaces/item-date-input-data.mjs +1 -1
  61. package/esm2020/lib/desy-forms/interfaces/select-item-data.mjs +1 -1
  62. package/esm2020/lib/desy-modals/components/dialog/dialog.component.mjs +24 -4
  63. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-primary/modal-button-loader-primary.component.mjs +3 -3
  64. package/esm2020/lib/desy-modals/components/modal/modal-button-loader-secondary/modal-button-loader-secondary.component.mjs +3 -3
  65. package/esm2020/lib/desy-modals/components/modal/modal-button-primary/modal-button-primary.component.mjs +3 -3
  66. package/esm2020/lib/desy-modals/components/modal/modal-button-secondary/modal-button-secondary.component.mjs +3 -3
  67. package/esm2020/lib/desy-modals/components/modal/modal.component.mjs +3 -3
  68. package/esm2020/lib/desy-modals/desy-modals.module.mjs +4 -4
  69. package/esm2020/lib/desy-modals/interfaces/dialog-options.mjs +1 -1
  70. package/esm2020/lib/desy-modals/services/dialog.service.mjs +3 -3
  71. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs-item/breadcrumbs-item.component.mjs +3 -3
  72. package/esm2020/lib/desy-nav/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  73. package/esm2020/lib/desy-nav/components/error-summary/error-summary-item/error-summary-item.component.mjs +3 -3
  74. package/esm2020/lib/desy-nav/components/error-summary/error-summary.component.mjs +3 -3
  75. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.mjs +3 -3
  76. package/esm2020/lib/desy-nav/components/footer/footer-meta/footer-meta.component.mjs +3 -3
  77. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.mjs +3 -3
  78. package/esm2020/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.mjs +3 -3
  79. package/esm2020/lib/desy-nav/components/footer/footer.component.mjs +3 -3
  80. package/esm2020/lib/desy-nav/components/header/header-custom-navigation/header-custom-navigation.component.mjs +3 -3
  81. package/esm2020/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.mjs +5 -5
  82. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.mjs +3 -3
  83. package/esm2020/lib/desy-nav/components/header/header-navigation/header-navigation.component.mjs +3 -3
  84. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.mjs +3 -3
  85. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.mjs +3 -3
  86. package/esm2020/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.mjs +3 -3
  87. package/esm2020/lib/desy-nav/components/header/header-subnav/header-subnav.component.mjs +3 -3
  88. package/esm2020/lib/desy-nav/components/header/header.component.mjs +8 -10
  89. package/esm2020/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.mjs +40 -0
  90. package/esm2020/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.mjs +14 -0
  91. package/esm2020/lib/desy-nav/components/links-list/links-list.component.mjs +42 -0
  92. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal-item/menu-horizontal-item.component.mjs +3 -3
  93. package/esm2020/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.mjs +3 -3
  94. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-item/menu-navigation-item.component.mjs +3 -3
  95. package/esm2020/lib/desy-nav/components/menu-navigation/components/menu-navigation-subitem/menu-navigation-subitem.component.mjs +3 -3
  96. package/esm2020/lib/desy-nav/components/menu-navigation/menu-navigation.component.mjs +3 -3
  97. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.mjs +3 -3
  98. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.mjs +3 -3
  99. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.mjs +3 -3
  100. package/esm2020/lib/desy-nav/components/menu-vertical/menu-vertical.component.mjs +3 -3
  101. package/esm2020/lib/desy-nav/components/menubar/components/menubar-item/menubar-item.component.mjs +3 -3
  102. package/esm2020/lib/desy-nav/components/menubar/components/menubar-label/menubar-label.component.mjs +3 -3
  103. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subitem/menubar-subitem.component.mjs +3 -3
  104. package/esm2020/lib/desy-nav/components/menubar/components/menubar-subsubitem/menubar-subsubitem.component.mjs +3 -3
  105. package/esm2020/lib/desy-nav/components/menubar/directives/menubaritem.directive.mjs +3 -3
  106. package/esm2020/lib/desy-nav/components/menubar/menubar.component.mjs +3 -3
  107. package/esm2020/lib/desy-nav/components/nav/nav-item/nav-item.component.mjs +3 -3
  108. package/esm2020/lib/desy-nav/components/nav/nav.component.mjs +3 -3
  109. package/esm2020/lib/desy-nav/components/notification/notification-item/notification-item.component.mjs +3 -3
  110. package/esm2020/lib/desy-nav/components/notification/notification.component.mjs +3 -3
  111. package/esm2020/lib/desy-nav/components/skip-link/skip-link.component.mjs +11 -5
  112. package/esm2020/lib/desy-nav/desy-nav.module.mjs +25 -6
  113. package/esm2020/lib/desy-nav/interfaces/header-skiplink-data.mjs +2 -0
  114. package/esm2020/lib/desy-pagination/components/pagination/pagination.component.mjs +53 -30
  115. package/esm2020/lib/desy-pagination/components/pagination-item-perpage/pagination-item-perpage.component.mjs +3 -3
  116. package/esm2020/lib/desy-pagination/components/pagination-listbox-label/pagination-listbox-label.component.mjs +3 -3
  117. package/esm2020/lib/desy-pagination/desy-pagination.module.mjs +4 -4
  118. package/esm2020/lib/desy-tables/components/table/components/table-caption.component.mjs +3 -3
  119. package/esm2020/lib/desy-tables/components/table/components/table-cell.component.mjs +3 -3
  120. package/esm2020/lib/desy-tables/components/table/components/table-header.component.mjs +3 -3
  121. package/esm2020/lib/desy-tables/components/table/components/table-row.component.mjs +3 -3
  122. package/esm2020/lib/desy-tables/components/table/table.component.mjs +3 -3
  123. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header-cell.component.mjs +3 -3
  124. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-header.component.mjs +3 -3
  125. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row-cell.component.mjs +3 -3
  126. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-row.component.mjs +3 -3
  127. package/esm2020/lib/desy-tables/components/table-advanced/components/table-advanced-select.component.mjs +3 -3
  128. package/esm2020/lib/desy-tables/components/table-advanced/table-advanced.component.mjs +3 -3
  129. package/esm2020/lib/desy-tables/desy-tables.module.mjs +4 -4
  130. package/esm2020/lib/desy-tables/directives/cell.directive.mjs +3 -3
  131. package/esm2020/lib/desy-tables/directives/focus-clicked-cell.directive.mjs +3 -3
  132. package/esm2020/lib/desy-tables/directives/row.directive.mjs +3 -3
  133. package/esm2020/lib/desy-views/components/accordion/accordion-header/accordion-header.component.mjs +3 -3
  134. package/esm2020/lib/desy-views/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  135. package/esm2020/lib/desy-views/components/accordion/accordion.component.mjs +3 -3
  136. package/esm2020/lib/desy-views/components/accordion-history/accordion-history-item/accordion-history-item.component.mjs +3 -3
  137. package/esm2020/lib/desy-views/components/accordion-history/accordion-history.component.mjs +3 -3
  138. package/esm2020/lib/desy-views/components/accordion-history/accordion-item-hide-button/accordion-item-hide-button.component.mjs +3 -3
  139. package/esm2020/lib/desy-views/components/accordion-history/accordion-item-show-button/accordion-item-show-button.component.mjs +3 -3
  140. package/esm2020/lib/desy-views/components/alert/alert.component.mjs +3 -3
  141. package/esm2020/lib/desy-views/components/collapsible/collapsible.component.mjs +3 -3
  142. package/esm2020/lib/desy-views/components/description-list/definition/definition.component.mjs +3 -3
  143. package/esm2020/lib/desy-views/components/description-list/description-item/description-item.component.mjs +3 -3
  144. package/esm2020/lib/desy-views/components/description-list/description-list.component.mjs +3 -3
  145. package/esm2020/lib/desy-views/components/description-list/term/term.component.mjs +3 -3
  146. package/esm2020/lib/desy-views/components/details/details.component.mjs +3 -3
  147. package/esm2020/lib/desy-views/components/item/item-content-bottom/item-content-bottom.component.mjs +3 -3
  148. package/esm2020/lib/desy-views/components/item/item-content-right/item-content-right.component.mjs +3 -3
  149. package/esm2020/lib/desy-views/components/item/item-item/item-item.component.mjs +3 -3
  150. package/esm2020/lib/desy-views/components/item/item.component.mjs +11 -16
  151. package/esm2020/lib/desy-views/components/media-object/media-object-figure/media-object-figure.component.mjs +3 -3
  152. package/esm2020/lib/desy-views/components/media-object/media-object.component.mjs +3 -3
  153. package/esm2020/lib/desy-views/components/spinner/spinner.component.mjs +3 -3
  154. package/esm2020/lib/desy-views/components/status/status.component.mjs +14 -5
  155. package/esm2020/lib/desy-views/components/status-item/status-item.component.mjs +3 -3
  156. package/esm2020/lib/desy-views/components/tabs/panel/panel.component.mjs +3 -3
  157. package/esm2020/lib/desy-views/components/tabs/tab-item/tab-item.component.mjs +3 -3
  158. package/esm2020/lib/desy-views/components/tabs/tabs.component.mjs +3 -3
  159. package/esm2020/lib/desy-views/components/tooltip/tooltip-content/tooltip-content.component.mjs +3 -3
  160. package/esm2020/lib/desy-views/components/tooltip/tooltip.component.mjs +3 -3
  161. package/esm2020/lib/desy-views/desy-views.module.mjs +4 -4
  162. package/esm2020/lib/desy-views/services/alert.service.mjs +3 -3
  163. package/esm2020/lib/shared/components/accessibility/accessibility.component.mjs +3 -3
  164. package/esm2020/lib/shared/components/accessibility-and-content-required/accessibility-and-content-required.component.mjs +3 -3
  165. package/esm2020/lib/shared/components/accessibility-and-text-or-html-required/accessibility-and-text-or-html-required.component.mjs +3 -3
  166. package/esm2020/lib/shared/components/content-base/content-base.component.mjs +3 -3
  167. package/esm2020/lib/shared/components/text-or-html-required/text-or-html-required.component.mjs +3 -3
  168. package/esm2020/lib/shared/directives/attribute-change.directive.mjs +24 -19
  169. package/esm2020/lib/shared/directives/click-outside.directive.mjs +3 -3
  170. package/esm2020/lib/shared/directives/content-change.directive.mjs +3 -3
  171. package/esm2020/lib/shared/directives/custom-inner-content.directive.mjs +3 -3
  172. package/esm2020/lib/shared/directives/inner-content.directive.mjs +3 -3
  173. package/esm2020/lib/shared/pipes/external-href.pipe.mjs +5 -5
  174. package/esm2020/lib/shared/pipes/inner-html.pipe.mjs +3 -3
  175. package/esm2020/lib/shared/pipes/make-html-list.pipe.mjs +3 -3
  176. package/esm2020/lib/shared/shared.module.mjs +4 -4
  177. package/esm2020/public-api.mjs +5 -1
  178. package/fesm2015/desy-angular.mjs +1205 -1002
  179. package/fesm2015/desy-angular.mjs.map +1 -1
  180. package/fesm2020/desy-angular.mjs +1205 -1000
  181. package/fesm2020/desy-angular.mjs.map +1 -1
  182. package/lib/desy-buttons/components/listbox/listbox-item/listbox-item.component.d.ts +3 -1
  183. package/lib/desy-buttons/components/listbox/listbox.component.d.ts +15 -4
  184. package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -3
  185. package/lib/desy-forms/components/checkboxes/checkboxes-parent.component.d.ts +21 -0
  186. package/lib/desy-forms/components/checkboxes/checkboxes.component.d.ts +19 -11
  187. package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +2 -1
  188. package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +2 -1
  189. package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +2 -1
  190. package/lib/desy-forms/components/date-input/date-input.component.d.ts +5 -1
  191. package/lib/desy-forms/components/form-field/form-field.component.d.ts +9 -9
  192. package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +1 -0
  193. package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +1 -0
  194. package/lib/desy-forms/components/input-group/input-group.component.d.ts +2 -0
  195. package/lib/desy-forms/components/radios/radio-item/radio-item.component.d.ts +5 -4
  196. package/lib/desy-forms/components/radios/radios-parent.component.d.ts +21 -0
  197. package/lib/desy-forms/components/radios/radios.component.d.ts +19 -10
  198. package/lib/desy-forms/components/search-bar/search-bar.component.d.ts +2 -4
  199. package/lib/desy-forms/components/select/option/option.component.d.ts +1 -1
  200. package/lib/desy-forms/components/tree/tree-item/tree-item.component.d.ts +1 -0
  201. package/lib/desy-forms/components/tree/tree.component.d.ts +4 -0
  202. package/lib/desy-forms/interfaces/item-date-input-data.d.ts +1 -0
  203. package/lib/desy-forms/interfaces/select-item-data.d.ts +1 -1
  204. package/lib/desy-modals/components/dialog/dialog.component.d.ts +2 -1
  205. package/lib/desy-modals/interfaces/dialog-options.d.ts +1 -0
  206. package/lib/desy-nav/components/header/header.component.d.ts +3 -2
  207. package/lib/desy-nav/components/links-list/links-list-item/links-list-item.component.d.ts +20 -0
  208. package/lib/desy-nav/components/links-list/links-list-item-sub/links-list-item-sub.component.d.ts +7 -0
  209. package/lib/desy-nav/components/links-list/links-list.component.d.ts +13 -0
  210. package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +1 -0
  211. package/lib/desy-nav/desy-nav.module.d.ts +29 -26
  212. package/lib/desy-nav/interfaces/header-skiplink-data.d.ts +7 -0
  213. package/lib/desy-pagination/components/pagination/pagination.component.d.ts +12 -7
  214. package/lib/desy-views/components/item/item.component.d.ts +1 -0
  215. package/lib/desy-views/components/status/status.component.d.ts +3 -1
  216. package/lib/shared/directives/attribute-change.directive.d.ts +2 -1
  217. package/package.json +1 -1
  218. package/public-api.d.ts +4 -0
  219. package/esm2020/lib/desy-forms/models/checkbox-service-item.component.mjs +0 -9
  220. package/esm2020/lib/desy-forms/models/radio-service-item.component.mjs +0 -9
  221. package/esm2020/lib/desy-forms/services/checkbox.service.mjs +0 -61
  222. package/esm2020/lib/desy-forms/services/radio.service.mjs +0 -53
  223. package/lib/desy-forms/models/checkbox-service-item.component.d.ts +0 -13
  224. package/lib/desy-forms/models/radio-service-item.component.d.ts +0 -12
  225. package/lib/desy-forms/services/checkbox.service.d.ts +0 -14
  226. package/lib/desy-forms/services/radio.service.d.ts +0 -13
@@ -3,9 +3,9 @@ import { AccessibilityComponent } from '../../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ToggleOnStateComponent extends AccessibilityComponent {
5
5
  }
6
- ToggleOnStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleOnStateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- ToggleOnStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ToggleOnStateComponent, selector: "desy-toggle-on-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOnState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOnState>\n <ng-content></ng-content>\n</ng-template>" });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleOnStateComponent, decorators: [{
6
+ ToggleOnStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleOnStateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ ToggleOnStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ToggleOnStateComponent, selector: "desy-toggle-on-state", inputs: { classes: "classes" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["contentTemplateOnState"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplateOnState>\n <ng-content></ng-content>\n</ng-template>" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleOnStateComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-toggle-on-state', template: "<ng-template #contentTemplateOnState>\n <ng-content></ng-content>\n</ng-template>" }]
11
11
  }], propDecorators: { content: [{
@@ -19,15 +19,15 @@ export class ToggleComponent extends AccessibilityComponent {
19
19
  this.clickEvent.emit(event);
20
20
  }
21
21
  }
22
- ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
- ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ToggleComponent, selector: "desy-toggle", inputs: { id: "id", isSwitch: "isSwitch", pressed: "pressed", classes: "classes", isExpandible: "isExpandible", cfg: "cfg" }, outputs: { clickEvent: "clickEvent", pressedChange: "pressedChange" }, host: { properties: { "class.relative": "this.cfg" } }, queries: [{ propertyName: "contentTemplateOnState", predicate: ToggleOnStateComponent }, { propertyName: "contentTemplateOffState", predicate: ToggleOffStateComponent }], usesInheritance: true, ngImport: i0, template: "<!-- toggle -->\n <button *ngIf=\"isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\n [attr.aria-pressed]=\"!isExpandible ? (pressed ? 'true' : 'false') : null\"\n [attr.id]=\"id ? id : null\" \n [attr.role]=\"'switch'\"\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]=\"isExpandible ? (pressed ? 'true' : 'false') : null\" \n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" \n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" \n [attr.tabindex]=\"tabindex ? tabindex : null\">\n \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n\n <button *ngIf=\"!isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\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 \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n<!-- /toggle -->", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
22
+ ToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
23
+ ToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ToggleComponent, selector: "desy-toggle", inputs: { id: "id", isSwitch: "isSwitch", pressed: "pressed", classes: "classes", isExpandible: "isExpandible", cfg: "cfg" }, outputs: { clickEvent: "clickEvent", pressedChange: "pressedChange" }, host: { properties: { "class.relative": "this.cfg" } }, queries: [{ propertyName: "contentTemplateOnState", predicate: ToggleOnStateComponent }, { propertyName: "contentTemplateOffState", predicate: ToggleOffStateComponent }], usesInheritance: true, ngImport: i0, template: "<!-- toggle -->\n <button *ngIf=\"isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\n [attr.aria-pressed]=\"!isExpandible ? (pressed ? 'true' : 'false') : null\"\n [attr.id]=\"id ? id : null\" \n [attr.role]=\"'switch'\"\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]=\"isExpandible ? (pressed ? 'true' : 'false') : null\" \n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" \n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" \n [attr.tabindex]=\"tabindex ? tabindex : null\">\n \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n\n <button *ngIf=\"!isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\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 \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n<!-- /toggle -->", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
24
24
  __decorate([
25
25
  DesyContentChild()
26
26
  ], ToggleComponent.prototype, "contentTemplateOnState", void 0);
27
27
  __decorate([
28
28
  DesyContentChild()
29
29
  ], ToggleComponent.prototype, "contentTemplateOffState", void 0);
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ToggleComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ToggleComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: 'desy-toggle', template: "<!-- toggle -->\n <button *ngIf=\"isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-checked]=\"pressed ? 'true' : 'false'\"\n [attr.aria-pressed]=\"!isExpandible ? (pressed ? 'true' : 'false') : null\"\n [attr.id]=\"id ? id : null\" \n [attr.role]=\"'switch'\"\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]=\"isExpandible ? (pressed ? 'true' : 'false') : null\" \n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\" \n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\" \n [attr.tabindex]=\"tabindex ? tabindex : null\">\n \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n\n <button *ngIf=\"!isSwitch\"\n (click)=\"onClick($event)\"\n [type]=\"'button'\"\n [class]=\"pressed ? (classes + ' ' + contentTemplateOnState?.classes) : (classes + ' ' + contentTemplateOffState?.classes)\"\n [attr.aria-pressed]=\"pressed ? 'true' : 'false'\"\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 \n <span [class]=\"pressed ? 'hidden' : ''\"><ng-container *ngTemplateOutlet=\"contentTemplateOffState?.content\"></ng-container></span>\n <span [class]=\"pressed ? '' : 'hidden'\"><ng-container *ngTemplateOutlet=\"contentTemplateOnState?.content\"></ng-container></span>\n </button>\n<!-- /toggle -->" }]
33
33
  }], propDecorators: { id: [{
@@ -17,8 +17,8 @@ import { ToggleOffStateComponent } from './components/toggle/toggle-off-state/to
17
17
  import * as i0 from "@angular/core";
18
18
  export class DesyButtonsModule {
19
19
  }
20
- DesyButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- DesyButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DesyButtonsModule, declarations: [ButtonComponent,
20
+ DesyButtonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyButtonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ DesyButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DesyButtonsModule, declarations: [ButtonComponent,
22
22
  ButtonLoaderComponent,
23
23
  DropdownComponent,
24
24
  ListboxComponent,
@@ -40,11 +40,11 @@ DesyButtonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
40
40
  ToggleComponent,
41
41
  ToggleOnStateComponent,
42
42
  ToggleOffStateComponent] });
43
- DesyButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyButtonsModule, imports: [CommonModule,
43
+ DesyButtonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyButtonsModule, imports: [CommonModule,
44
44
  SharedModule,
45
45
  DesyViewsModule,
46
46
  NgxTippyModule] });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyButtonsModule, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyButtonsModule, decorators: [{
48
48
  type: NgModule,
49
49
  args: [{
50
50
  declarations: [
@@ -3,9 +3,9 @@ import { ContentBaseComponent } from '../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class ContentComponent extends ContentBaseComponent {
5
5
  }
6
- ContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- ContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: ContentComponent, selector: "desy-content", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: ContentComponent, decorators: [{
6
+ ContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ ContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ContentComponent, selector: "desy-content", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ContentComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-content', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
11
  }], propDecorators: { classes: [{
@@ -3,9 +3,9 @@ import { ContentBaseComponent } from '../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class DescriptionComponent extends ContentBaseComponent {
5
5
  }
6
- DescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DescriptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- DescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DescriptionComponent, selector: "desy-description", inputs: { classes: "classes", visuallyHiddenTitle: "visuallyHiddenTitle" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DescriptionComponent, decorators: [{
6
+ DescriptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DescriptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ DescriptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DescriptionComponent, selector: "desy-description", inputs: { classes: "classes", visuallyHiddenTitle: "visuallyHiddenTitle" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DescriptionComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-description',
@@ -3,9 +3,9 @@ import { ContentBaseComponent } from '../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class DividerComponent extends ContentBaseComponent {
5
5
  }
6
- DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: DividerComponent, selector: "desy-divider", inputs: { text: "text", html: "html" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>" });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DividerComponent, decorators: [{
6
+ DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DividerComponent, selector: "desy-divider", inputs: { text: "text", html: "html" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DividerComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-divider', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>" }]
11
11
  }], propDecorators: { text: [{
@@ -3,9 +3,9 @@ import { ContentBaseComponent } from '../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class IconComponent extends ContentBaseComponent {
5
5
  }
6
- IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: IconComponent, selector: "desy-icon", inputs: { type: "type", containerClasses: "containerClasses" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: IconComponent, decorators: [{
6
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IconComponent, selector: "desy-icon", inputs: { type: "type", containerClasses: "containerClasses" }, usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IconComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'desy-icon', template: "<ng-template #contentTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
11
11
  }], propDecorators: { type: [{
@@ -3,9 +3,9 @@ import { ContentBaseComponent } from '../../../shared/components';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TitleComponent extends ContentBaseComponent {
5
5
  }
6
- TitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- TitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: TitleComponent, selector: "desy-title", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TitleComponent, decorators: [{
6
+ TitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
+ TitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TitleComponent, selector: "desy-title", inputs: { classes: "classes" }, usesInheritance: true, ngImport: i0, template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>', isInline: true });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TitleComponent, decorators: [{
9
9
  type: Component,
10
10
  args: [{
11
11
  selector: 'desy-title',
@@ -11,8 +11,8 @@ import { DividerComponent } from './components/divider/divider.component';
11
11
  import * as i0 from "@angular/core";
12
12
  export class DesyCommonsModule {
13
13
  }
14
- DesyCommonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyCommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- DesyCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: DesyCommonsModule, declarations: [IconComponent,
14
+ DesyCommonsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyCommonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ DesyCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DesyCommonsModule, declarations: [IconComponent,
16
16
  ContentComponent,
17
17
  DescriptionComponent,
18
18
  TitleComponent,
@@ -23,10 +23,10 @@ DesyCommonsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
23
23
  DescriptionComponent,
24
24
  TitleComponent,
25
25
  DividerComponent] });
26
- DesyCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyCommonsModule, imports: [CommonModule,
26
+ DesyCommonsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyCommonsModule, imports: [CommonModule,
27
27
  SharedModule,
28
28
  NgxTippyModule] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: DesyCommonsModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DesyCommonsModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  declarations: [
@@ -84,15 +84,15 @@ export class CharacterCountComponent extends FormFieldComponent {
84
84
  }
85
85
  }
86
86
  }
87
- CharacterCountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CharacterCountComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
88
- CharacterCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CharacterCountComponent, selector: "desy-character-count", inputs: { name: "name", type: "type", rows: "rows", placeholder: "placeholder", maxlength: "maxlength", countbbdd: "countbbdd", maxwords: "maxwords", threshold: "threshold", formGroupClasses: "formGroupClasses", countMessageClasses: "countMessageClasses", classes: "classes" }, providers: [
87
+ CharacterCountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CharacterCountComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
88
+ CharacterCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CharacterCountComponent, selector: "desy-character-count", inputs: { name: "name", type: "type", rows: "rows", placeholder: "placeholder", maxlength: "maxlength", countbbdd: "countbbdd", maxwords: "maxwords", threshold: "threshold", formGroupClasses: "formGroupClasses", countMessageClasses: "countMessageClasses", classes: "classes" }, providers: [
89
89
  {
90
90
  provide: NG_VALUE_ACCESSOR,
91
91
  useExisting: forwardRef(() => CharacterCountComponent),
92
92
  multi: true
93
93
  }
94
94
  ], viewQueries: [{ propertyName: "textarea", first: true, predicate: TextareaComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<desy-textarea\n [id]=\"id\"\n [name]=\"name\"\n [describedBy]=\"id + '-info'\"\n [rows]=\"rows\"\n [placeholder]=\"placeholder\"\n [formGroupClasses]=\"[formGroupClasses ? formGroupClasses : 'mb-0'] | makeHtmlList\"\n [classes]=\"['js-character-count', hasErrorsMessage() ? 'border-alert-base ring-2 ring-alert-base' : null, classes] | makeHtmlList\"\n [labelRef]=\"labelRef\" [labelData]=\"labelData\" [labelText]=\"labelText\"\n [hintRef]=\"hintRef\" [hintData]=\"hintData\" [hintText]=\"hintText\"\n [errorMessageRef]=\"errorMessageRef\" [errorMessageData]=\"errorMessageData\" [errorMessageText]=\"errorMessageText\"\n [role]=\"role\"\n [ariaLabel]=\"ariaLabel\"\n [ariaLabelledBy]=\"ariaLabelledBy\"\n [ariaHidden]=\"ariaHidden\"\n [ariaDisabled]=\"ariaDisabled\"\n [ariaControls]=\"ariaControls\"\n [ariaCurrent]=\"ariaCurrent\"\n [ariaLive]=\"ariaLive\"\n [ariaExpanded]=\"ariaExpanded\"\n [ariaErrorMessage]=\"ariaErrorMessage\"\n [ariaHasPopup]=\"ariaHasPopup\"\n [tabindex]=\"tabindex\"></desy-textarea>\n\n<desy-hint *ngIf=\"!!displayCountMessage\"\n [id]=\"id + '-info'\" [classes]=\"['mt-xs text-sm', countMessageClasses] | makeHtmlList\" ariaLive=\"polite\"\n [text]=\"'Puedes escribir hasta ' + remaining + (maxlength ? ' caracteres' : ' palabras')\"></desy-hint>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.HintComponent, selector: "desy-hint", inputs: ["id", "classes", "html", "text"] }, { kind: "component", type: i3.TextareaComponent, selector: "desy-textarea", inputs: ["name", "rows", "placeholder", "describedBy", "formGroupClasses", "classes", "autocomplete", "maxlength"] }, { kind: "pipe", type: i4.MakeHtmlListPipe, name: "makeHtmlList" }] });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CharacterCountComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CharacterCountComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'desy-character-count', providers: [
98
98
  {
@@ -6,50 +6,49 @@ import { LabelComponent } from '../../label/label.component';
6
6
  import { HintComponent } from '../../hint/hint.component';
7
7
  import { AccessibilityComponent } from '../../../../shared/components';
8
8
  import { DesyOnInputChange } from "../../../../shared/decorators/desy-on-input-change.decorator";
9
+ import { MakeHtmlListPipe } from '../../../../shared/pipes/make-html-list.pipe';
9
10
  import * as i0 from "@angular/core";
10
- import * as i1 from "../../../services/checkbox.service";
11
+ import * as i1 from "../checkboxes-parent.component";
11
12
  import * as i2 from "@angular/common";
12
13
  import * as i3 from "../../../../shared/directives/custom-inner-content.directive";
13
14
  import * as i4 from "../../label/label.component";
14
15
  import * as i5 from "../../../../shared/pipes/make-html-list.pipe";
15
- // TODO los hijos no pueden contener al padre, los metodos hay que pasarlos al padre (checkboxes)
16
16
  export class CheckboxItemComponent extends AccessibilityComponent {
17
- constructor(checkboxService, changeDetectorRef) {
17
+ constructor(checkboxes, changeDetectorRef) {
18
18
  super();
19
- this.checkboxService = checkboxService;
19
+ this.checkboxes = checkboxes;
20
20
  this.changeDetectorRef = changeDetectorRef;
21
21
  this.checkedChange = new EventEmitter();
22
22
  this.indeterminateChange = new EventEmitter();
23
23
  }
24
24
  ngOnInit() {
25
- this.checkboxService.markForUpdateCheckboxIds(this.name);
25
+ this.checkboxes.markForUpdateCheckboxIds();
26
26
  }
27
27
  ngOnDestroy() {
28
- this.checkboxService.markForUpdateCheckboxIds(this.name);
28
+ this.checkboxes.markForUpdateCheckboxIds();
29
29
  }
30
30
  ngOnChanges(changes) {
31
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
32
- this.classes = (i != -1 && this.checkboxService.checkboxServiceItems[i].dividers) ? this.classes += ' border-t border-b border-neutral-base -mb-px' : this.classes;
31
+ this.classesHost = new MakeHtmlListPipe().transform(['block', this.checkboxes.hasDividers ? 'border-t border-b border-neutral-base -mb-px' : null, this.classes], null);
33
32
  if (this.checked !== this.lastChecked && this.isInit()) {
34
33
  this.setChecked(this.checked);
35
- this.checkboxService.updateValueFromCheckboxItems(this.name);
34
+ this.checkboxes.updateValueFromCheckboxItems();
36
35
  }
37
36
  else if (this.lastValue !== undefined && this.lastValue !== this.value) {
38
- this.checkboxService.updateValueFromCheckboxItems(this.name);
37
+ this.checkboxes.updateValueFromCheckboxItems();
39
38
  }
40
39
  if (this.indeterminateChecked !== this.lastIndeterminate && this.isInit()) {
41
40
  this.setIndeterminateChecked(this.indeterminateChecked);
42
- this.checkboxService.updateValueFromCheckboxItems(this.name);
41
+ this.checkboxes.updateValueFromCheckboxItems();
43
42
  }
44
43
  this.lastValue = this.value;
45
44
  if (this.id !== this.checkboxId) {
46
- this.checkboxService.markForUpdateCheckboxIds(this.name);
45
+ this.checkboxes.markForUpdateCheckboxIds();
47
46
  }
48
47
  }
49
48
  ngAfterViewInit() {
50
49
  this.setChecked(this.checked);
51
50
  this.setIndeterminateChecked(this.indeterminateChecked);
52
- this.checkboxService.updateValueFromCheckboxItems(this.name);
51
+ this.checkboxes.updateValueFromCheckboxItems();
53
52
  }
54
53
  getItemHintId() {
55
54
  return this.hintComponentList && this.hintComponentList.length > 0 && this.checkboxId ? this.checkboxId + '-item-hint' : null;
@@ -69,24 +68,12 @@ export class CheckboxItemComponent extends AccessibilityComponent {
69
68
  }
70
69
  this.setChecked(input.checked);
71
70
  this.setIndeterminateChecked(input.indeterminate);
72
- this.checkboxService.updateValueFromCheckboxItems(this.name);
71
+ this.checkboxes.updateValueFromCheckboxItems();
73
72
  }
74
73
  setChecked(checked) {
75
74
  this.checked = checked;
76
75
  this.lastChecked = checked;
77
- let index = this.checkboxService.getCheckboxServiceItem(this.name);
78
76
  this.checkedChange.emit(checked);
79
- if (checked) {
80
- this.checkboxService.addValueToNextValue(this.name, this.value);
81
- }
82
- else {
83
- if (this.checkboxService.checkboxServiceItems[index].nextValue && this.checkboxService.checkboxServiceItems[index].nextValue.length > 0) {
84
- var i = this.checkboxService.checkboxServiceItems[index].nextValue.indexOf(this.value);
85
- if (i != -1) {
86
- this.checkboxService.checkboxServiceItems[index].nextValue.splice(i, 1);
87
- }
88
- }
89
- }
90
77
  this.changeDetectorRef.detectChanges(); // Avisa al elemento input para que actualice su estado
91
78
  }
92
79
  setIndeterminateChecked(indeterminateChecked) {
@@ -116,12 +103,11 @@ export class CheckboxItemComponent extends AccessibilityComponent {
116
103
  return input.checked || input.indeterminate ? this.value : null;
117
104
  }
118
105
  updateCheckboxId(index) {
119
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
120
106
  if (this.id) {
121
107
  this.checkboxId = this.id;
122
108
  }
123
109
  else {
124
- const idPrefix = this.checkboxService.checkboxServiceItems[i].idPrefix ? this.checkboxService.checkboxServiceItems[i].idPrefix : this.checkboxService.checkboxServiceItems[i].nameRadio;
110
+ const idPrefix = this.checkboxes.idPrefix ? this.checkboxes.idPrefix : this.checkboxes.name;
125
111
  if (index === 0) {
126
112
  this.checkboxId = idPrefix;
127
113
  }
@@ -141,24 +127,20 @@ export class CheckboxItemComponent extends AccessibilityComponent {
141
127
  * Funciones para aportar información desde el componente checkboxes que lo contiene
142
128
  */
143
129
  hasDividers() {
144
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
145
- return i !== -1 ? this.checkboxService.checkboxServiceItems[i].dividers : null;
130
+ return this.checkboxes.hasDividers;
146
131
  }
147
132
  hasError() {
148
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
149
- return i !== -1 ? this.checkboxService.checkboxServiceItems[i].hasErrorMessage : null;
133
+ return this.checkboxes.hasErrorsMessage();
150
134
  }
151
135
  getNameCheckbox() {
152
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
153
- return i !== -1 ? this.checkboxService.checkboxServiceItems[i].nameRadio : null;
136
+ return this.checkboxes.name;
154
137
  }
155
138
  getDescribedBy() {
156
- let i = this.checkboxService.getCheckboxServiceItem(this.name);
157
- return i !== -1 ? (!this.checkboxService.checkboxServiceItems[i].fieldSet ? this.checkboxService.checkboxServiceItems[i].describedBy : null) : null;
139
+ return !this.checkboxes.hasFieldset() ? this.checkboxes.describedBy : null;
158
140
  }
159
141
  }
160
- CheckboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckboxItemComponent, deps: [{ token: i1.CheckboxService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
161
- CheckboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CheckboxItemComponent, selector: "desy-checkbox-item", inputs: { id: "id", value: "value", name: "name", conditional: "conditional", disabled: "disabled", isIndeterminate: "isIndeterminate", indeterminateChecked: "indeterminateChecked", classes: "classes", checked: "checked" }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class": "this.classes" } }, queries: [{ propertyName: "labelComponentList", predicate: LabelComponent }, { propertyName: "hintComponentList", predicate: HintComponent }, { propertyName: "conditionalContentList", predicate: ContentComponent }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"relative flex items-start py-base\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [checked]=\"checked\"\n [attr.id]=\"checkboxId\"\n [attr.name]=\"name ? name : getNameCheckbox()\"\n type=\"checkbox\"\n [value]=\"value\" (change)=\"hasChanged()\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.aria-controls]=\"conditionalContentList && conditionalContentList.length > 0 ? 'conditional-' + checkboxId : null\"\n [attr.aria-describedby]=\"[getDescribedBy(), getItemHintId()] | makeHtmlList:null\"\n [attr.aria-invalid]=\"hasError() ? true : null\"\n\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 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-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 </div>\n <div class=\"pt-0.5 leading-5\">\n <ng-container *ngIf=\"labelComponentList && labelComponentList.length > 0\">\n <ng-content select=\"desy-label\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!(labelComponentList && labelComponentList.length > 0)\">\n <desy-label [for]=\"checkboxId\">\n <ng-content></ng-content>\n </desy-label>\n </ng-container>\n <ng-content select=\"desy-hint\"></ng-content>\n </div>\n</div>\n\n<div *ngIf=\"conditional && conditionalContentList && conditionalContentList.length > 0 && (input.checked || input.indeterminate)\" @displayConditional\n class=\"mb-base ml-5 py-sm pl-6 origin-top-left border-l-2 border-primary-base\"\n [attr.id]=\"'conditional-' + checkboxId\">\n <ng-container *desyCustomInnerContent=\"{ component: conditionalContentList.first }\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i4.LabelComponent, selector: "desy-label", inputs: ["id", "classes", "html", "text", "isPageHeading", "headingLevel", "for"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }], animations: [
142
+ CheckboxItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxItemComponent, deps: [{ token: i1.CheckboxesParentComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
143
+ CheckboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CheckboxItemComponent, selector: "desy-checkbox-item", inputs: { id: "id", value: "value", name: "name", conditional: "conditional", disabled: "disabled", isIndeterminate: "isIndeterminate", indeterminateChecked: "indeterminateChecked", classes: "classes", checked: "checked" }, outputs: { checkedChange: "checkedChange", indeterminateChange: "indeterminateChange" }, host: { properties: { "class": "this.classesHost" } }, queries: [{ propertyName: "labelComponentList", predicate: LabelComponent }, { propertyName: "hintComponentList", predicate: HintComponent }, { propertyName: "conditionalContentList", predicate: ContentComponent }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"relative flex items-start py-base\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [checked]=\"checked\"\n [attr.id]=\"checkboxId\"\n [attr.name]=\"name ? name : getNameCheckbox()\"\n type=\"checkbox\"\n [value]=\"value\" (change)=\"hasChanged()\"\n [attr.disabled]=\"disabled || parentDisabled ? true : null\"\n [attr.aria-controls]=\"conditionalContentList && conditionalContentList.length > 0 ? 'conditional-' + checkboxId : null\"\n [attr.aria-describedby]=\"[getDescribedBy(), getItemHintId()] | makeHtmlList:null\"\n [attr.aria-invalid]=\"hasError() ? true : null\"\n\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 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-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 </div>\n <div class=\"pt-0.5 leading-5\">\n <ng-container *ngIf=\"labelComponentList && labelComponentList.length > 0\">\n <ng-content select=\"desy-label\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!(labelComponentList && labelComponentList.length > 0)\">\n <desy-label [for]=\"checkboxId\">\n <ng-content></ng-content>\n </desy-label>\n </ng-container>\n <ng-content select=\"desy-hint\"></ng-content>\n </div>\n</div>\n\n<div *ngIf=\"conditional && conditionalContentList && conditionalContentList.length > 0 && (input.checked || input.indeterminate)\" @displayConditional\n class=\"mb-base ml-5 py-sm pl-6 origin-top-left border-l-2 border-primary-base\"\n [attr.id]=\"'conditional-' + checkboxId\">\n <ng-container *desyCustomInnerContent=\"{ component: conditionalContentList.first }\"></ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CustomInnerContentDirective, selector: "[desyCustomInnerContent]", inputs: ["desyCustomInnerContent"] }, { kind: "component", type: i4.LabelComponent, selector: "desy-label", inputs: ["id", "classes", "html", "text", "isPageHeading", "headingLevel", "for"] }, { kind: "pipe", type: i5.MakeHtmlListPipe, name: "makeHtmlList" }], animations: [
162
144
  trigger('displayConditional', [
163
145
  state('void', style({
164
146
  opacity: '0.0',
@@ -179,7 +161,7 @@ CheckboxItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
179
161
  __decorate([
180
162
  DesyOnInputChange('setIndeterminateStatus')
181
163
  ], CheckboxItemComponent.prototype, "indeterminateChecked", void 0);
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CheckboxItemComponent, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxItemComponent, decorators: [{
183
165
  type: Component,
184
166
  args: [{ selector: 'desy-checkbox-item', animations: [
185
167
  trigger('displayConditional', [
@@ -198,8 +180,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
198
180
  query('@*', animateChild(), { optional: true })
199
181
  ])
200
182
  ])
201
- ], template: "<div class=\"relative flex items-start py-base\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [checked]=\"checked\"\n [attr.id]=\"checkboxId\"\n [attr.name]=\"name ? name : getNameCheckbox()\"\n type=\"checkbox\"\n [value]=\"value\" (change)=\"hasChanged()\"\n [attr.disabled]=\"disabled ? true : null\"\n [attr.aria-controls]=\"conditionalContentList && conditionalContentList.length > 0 ? 'conditional-' + checkboxId : null\"\n [attr.aria-describedby]=\"[getDescribedBy(), getItemHintId()] | makeHtmlList:null\"\n [attr.aria-invalid]=\"hasError() ? true : null\"\n\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 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-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 </div>\n <div class=\"pt-0.5 leading-5\">\n <ng-container *ngIf=\"labelComponentList && labelComponentList.length > 0\">\n <ng-content select=\"desy-label\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!(labelComponentList && labelComponentList.length > 0)\">\n <desy-label [for]=\"checkboxId\">\n <ng-content></ng-content>\n </desy-label>\n </ng-container>\n <ng-content select=\"desy-hint\"></ng-content>\n </div>\n</div>\n\n<div *ngIf=\"conditional && conditionalContentList && conditionalContentList.length > 0 && (input.checked || input.indeterminate)\" @displayConditional\n class=\"mb-base ml-5 py-sm pl-6 origin-top-left border-l-2 border-primary-base\"\n [attr.id]=\"'conditional-' + checkboxId\">\n <ng-container *desyCustomInnerContent=\"{ component: conditionalContentList.first }\"></ng-container>\n</div>\n" }]
202
- }], ctorParameters: function () { return [{ type: i1.CheckboxService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElement: [{
183
+ ], template: "<div class=\"relative flex items-start py-base\">\n <div class=\"flex items-center mx-sm\">\n <input #input class=\"w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base\"\n [checked]=\"checked\"\n [attr.id]=\"checkboxId\"\n [attr.name]=\"name ? name : getNameCheckbox()\"\n type=\"checkbox\"\n [value]=\"value\" (change)=\"hasChanged()\"\n [attr.disabled]=\"disabled || parentDisabled ? true : null\"\n [attr.aria-controls]=\"conditionalContentList && conditionalContentList.length > 0 ? 'conditional-' + checkboxId : null\"\n [attr.aria-describedby]=\"[getDescribedBy(), getItemHintId()] | makeHtmlList:null\"\n [attr.aria-invalid]=\"hasError() ? true : null\"\n\n [attr.role]=\"role ? role : null\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 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-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 </div>\n <div class=\"pt-0.5 leading-5\">\n <ng-container *ngIf=\"labelComponentList && labelComponentList.length > 0\">\n <ng-content select=\"desy-label\"></ng-content>\n </ng-container>\n <ng-container *ngIf=\"!(labelComponentList && labelComponentList.length > 0)\">\n <desy-label [for]=\"checkboxId\">\n <ng-content></ng-content>\n </desy-label>\n </ng-container>\n <ng-content select=\"desy-hint\"></ng-content>\n </div>\n</div>\n\n<div *ngIf=\"conditional && conditionalContentList && conditionalContentList.length > 0 && (input.checked || input.indeterminate)\" @displayConditional\n class=\"mb-base ml-5 py-sm pl-6 origin-top-left border-l-2 border-primary-base\"\n [attr.id]=\"'conditional-' + checkboxId\">\n <ng-container *desyCustomInnerContent=\"{ component: conditionalContentList.first }\"></ng-container>\n</div>\n" }]
184
+ }], ctorParameters: function () { return [{ type: i1.CheckboxesParentComponent }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputElement: [{
203
185
  type: ViewChild,
204
186
  args: ['input']
205
187
  }], id: [{
@@ -218,7 +200,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
218
200
  type: Input
219
201
  }], classes: [{
220
202
  type: Input
221
- }, {
203
+ }], classesHost: [{
222
204
  type: HostBinding,
223
205
  args: ['class']
224
206
  }], labelComponentList: [{
@@ -237,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
237
219
  }], indeterminateChange: [{
238
220
  type: Output
239
221
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvY2hlY2tib3hlcy9jaGVja2JveC1pdGVtL2NoZWNrYm94LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3gtaXRlbS9jaGVja2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBRVosV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0FBRS9GLGlHQUFpRztBQXVCakcsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHNCQUFzQjtJQTZCL0QsWUFBcUIsZUFBZ0MsRUFBVSxpQkFBb0M7UUFDakcsS0FBSyxFQUFFLENBQUM7UUFEVyxv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QyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dDQUNsQixPQUFPLEVBQUUsS0FBSztnQ0FDZCxTQUFTLEVBQUUsYUFBYTs2QkFDekIsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDO2dDQUNmLE9BQU8sRUFBRSxLQUFLO2dDQUNkLFNBQVMsRUFBRSxZQUFZOzZCQUN4QixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUFDLGdCQUFnQixDQUFDOzZCQUMxQixDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7NkJBQzlDLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDtzSUFJbUIsWUFBWTtzQkFBL0IsU0FBUzt1QkFBQyxPQUFPO2dCQUVULEVBQUU7c0JBQVYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDeUIsT0FBTztzQkFBckMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxPQUFPO2dCQUVJLGtCQUFrQjtzQkFBbEQsZUFBZTt1QkFBQyxjQUFjO2dCQUNDLGlCQUFpQjtzQkFBaEQsZUFBZTt1QkFBQyxhQUFhO2dCQUNLLHNCQUFzQjtzQkFBeEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBRXhCLE9BQU87c0JBQWYsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsXG4gIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0l0ZW1DaGVja2JveERhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7YW5pbWF0ZSwgYW5pbWF0ZUNoaWxkLCBxdWVyeSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7TGFiZWxDb21wb25lbnR9IGZyb20gJy4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0hpbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2hpbnQvaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDaGVja2JveFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jaGVja2JveC5zZXJ2aWNlJztcbi8vIFRPRE8gbG9zIGhpam9zIG5vIHB1ZWRlbiBjb250ZW5lciBhbCBwYWRyZSwgbG9zIG1ldG9kb3MgaGF5IHF1ZSBwYXNhcmxvcyBhbCBwYWRyZSAoY2hlY2tib3hlcylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ktY2hlY2tib3gtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2Rpc3BsYXlDb25kaXRpb25hbCcsIFtcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoe1xuICAgICAgICBvcGFjaXR5OiAnMC4wJyxcbiAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoMC45NSknXG4gICAgICB9KSksXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtcbiAgICAgICAgb3BhY2l0eTogJzEuMCcsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDEuMCknXG4gICAgICB9KSksXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGVhc2Utb3V0JylcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgW1xuICAgICAgICBxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSwge29wdGlvbmFsOiB0cnVlfSlcbiAgICAgIF0pXG4gICAgXSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDaGVja2JveEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBBY2Nlc3NpYmlsaXR5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgSXRlbUNoZWNrYm94RGF0YSB7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb25kaXRpb25hbDogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzSW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ3NldEluZGV0ZXJtaW5hdGVTdGF0dXMnKVxuICBASW5wdXQoKSBpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXM6IGFueTtcblxuICBAQ29udGVudENoaWxkcmVuKExhYmVsQ29tcG9uZW50KSBsYWJlbENvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxMYWJlbENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oSGludENvbXBvbmVudCkgaGludENvbXBvbmVudExpc3Q6IFF1ZXJ5TGlzdDxIaW50Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihDb250ZW50Q29tcG9uZW50KSBjb25kaXRpb25hbENvbnRlbnRMaXN0OiBRdWVyeUxpc3Q8Q29udGVudENvbXBvbmVudD47XG5cbiAgQElucHV0KCkgY2hlY2tlZDogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgY2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGluZGV0ZXJtaW5hdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbGFzdENoZWNrZWQ7XG4gIGxhc3RJbmRldGVybWluYXRlO1xuICBsYXN0VmFsdWU7XG4gIGNoZWNrYm94SWQ7XG5cbiAgY29uc3RydWN0b3IoIHByaXZhdGUgY2hlY2tib3hTZXJ2aWNlOiBDaGVja2JveFNlcnZpY2UsIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tib3hTZXJ2aWNlLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcyh0aGlzLm5hbWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveFNlcnZpY2UubWFya0ZvclVwZGF0ZUNoZWNrYm94SWRzKHRoaXMubmFtZSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgbGV0IGkgPSB0aGlzLmNoZWNrYm94U2VydmljZS5nZXRDaGVja2JveFNlcnZpY2VJdGVtKHRoaXMubmFtZSk7XG4gICAgdGhpcy5jbGFzc2VzID0gKGkgIT0tMSAmJiB0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpXS5kaXZpZGVycykgPyB0aGlzLmNsYXNzZXMgKz0gJyBib3JkZXItdCBib3JkZXItYiBib3JkZXItbmV1dHJhbC1iYXNlIC1tYi1weCcgOiB0aGlzLmNsYXNzZXM7XG4gICAgaWYgKHRoaXMuY2hlY2tlZCAhPT0gdGhpcy5sYXN0Q2hlY2tlZCAmJiB0aGlzLmlzSW5pdCgpKSB7XG4gICAgICAgdGhpcy5zZXRDaGVja2VkKHRoaXMuY2hlY2tlZCk7XG4gICAgICAgdGhpcy5jaGVja2JveFNlcnZpY2UudXBkYXRlVmFsdWVGcm9tQ2hlY2tib3hJdGVtcyh0aGlzLm5hbWUpO1xuICAgICB9IGVsc2UgaWYgKHRoaXMubGFzdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5sYXN0VmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICB0aGlzLmNoZWNrYm94U2VydmljZS51cGRhdGVWYWx1ZUZyb21DaGVja2JveEl0ZW1zKHRoaXMubmFtZSk7XG4gICAgIH1cblxuICAgICBpZih0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkICE9PSB0aGlzLmxhc3RJbmRldGVybWluYXRlICYmIHRoaXMuaXNJbml0KCkpe1xuICAgICAgIHRoaXMuc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCk7XG4gICAgICAgdGhpcy5jaGVja2JveFNlcnZpY2UudXBkYXRlVmFsdWVGcm9tQ2hlY2tib3hJdGVtcyh0aGlzLm5hbWUpO1xuICAgICB9XG5cblxuICAgICB0aGlzLmxhc3RWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAgaWYgKHRoaXMuaWQgIT09IHRoaXMuY2hlY2tib3hJZCkge1xuICAgICAgIHRoaXMuY2hlY2tib3hTZXJ2aWNlLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcyh0aGlzLm5hbWUpO1xuICAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDaGVja2VkKHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlQ2hlY2tlZCh0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkKTtcbiAgICB0aGlzLmNoZWNrYm94U2VydmljZS51cGRhdGVWYWx1ZUZyb21DaGVja2JveEl0ZW1zKHRoaXMubmFtZSk7XG4gIH1cblxuICBnZXRJdGVtSGludElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaGludENvbXBvbmVudExpc3QgJiYgdGhpcy5oaW50Q29tcG9uZW50TGlzdC5sZW5ndGggPiAwICYmIHRoaXMuY2hlY2tib3hJZCA/IHRoaXMuY2hlY2tib3hJZCArICctaXRlbS1oaW50JyA6IG51bGw7XG4gIH1cblxuICBoYXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIC8vIFNlIGVzdGFibGVjZSBlbCBjYW1iaW8gYSB2aXN1YWxpemFyIGVuIGVsIGlucHV0XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGlmICh0aGlzLmlzSW5kZXRlcm1pbmF0ZSkge1xuICAgICAgaWYgKGlucHV0LnJlYWRPbmx5KSB7XG4gICAgICAgIGlucHV0LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoIWlucHV0LmNoZWNrZWQpIHtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRDaGVja2VkKGlucHV0LmNoZWNrZWQpO1xuICAgIHRoaXMuc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoaW5wdXQuaW5kZXRlcm1pbmF0ZSk7XG4gICAgdGhpcy5jaGVja2JveFNlcnZpY2UudXBkYXRlVmFsdWVGcm9tQ2hlY2tib3hJdGVtcyh0aGlzLm5hbWUpO1xuICB9XG5cbiAgc2V0Q2hlY2tlZChjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZDtcbiAgICB0aGlzLmxhc3RDaGVja2VkID0gY2hlY2tlZDtcbiAgICBsZXQgaW5kZXggPSB0aGlzLmNoZWNrYm94U2VydmljZS5nZXRDaGVja2JveFNlcnZpY2VJdGVtKHRoaXMubmFtZSk7XG5cbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChjaGVja2VkKTtcbiAgICBpZihjaGVja2VkKXtcbiAgICAgIHRoaXMuY2hlY2tib3hTZXJ2aWNlLmFkZFZhbHVlVG9OZXh0VmFsdWUodGhpcy5uYW1lLCB0aGlzLnZhbHVlKTtcbiAgICB9ZWxzZXtcbiAgICAgIGlmKHRoaXMuY2hlY2tib3hTZXJ2aWNlLmNoZWNrYm94U2VydmljZUl0ZW1zW2luZGV4XS5uZXh0VmFsdWUgJiYgdGhpcy5jaGVja2JveFNlcnZpY2UuY2hlY2tib3hTZXJ2aWNlSXRlbXNbaW5kZXhdLm5leHRWYWx1ZS5sZW5ndGggPiAwKXtcbiAgICAgICAgdmFyIGkgPSB0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpbmRleF0ubmV4dFZhbHVlLmluZGV4T2YodGhpcy52YWx1ZSk7XG4gICAgICAgIGlmKGkgIT0gLTEpe1xuICAgICAgICAgIHRoaXMuY2hlY2tib3hTZXJ2aWNlLmNoZWNrYm94U2VydmljZUl0ZW1zW2luZGV4XS5uZXh0VmFsdWUuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBBdmlzYSBhbCBlbGVtZW50byBpbnB1dCBwYXJhIHF1ZSBhY3R1YWxpY2Ugc3UgZXN0YWRvXG4gIH1cblxuICBzZXRJbmRldGVybWluYXRlQ2hlY2tlZChpbmRldGVybWluYXRlQ2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQgPSBpbmRldGVybWluYXRlQ2hlY2tlZDtcbiAgICB0aGlzLmxhc3RJbmRldGVybWluYXRlID0gaW5kZXRlcm1pbmF0ZUNoZWNrZWQ7XG4gICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQoaW5kZXRlcm1pbmF0ZUNoZWNrZWQpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpOyAvLyBBdmlzYSBhbCBlbGVtZW50byBpbnB1dCBwYXJhIHF1ZSBhY3R1YWxpY2Ugc3UgZXN0YWRvXG4gIH1cblxuICBzZXRJbmRldGVybWluYXRlU3RhdHVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy5pbnB1dEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCkge1xuICAgICAgICBpbnB1dC5yZWFkT25seSA9IHRydWU7XG4gICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChpbnB1dC5yZWFkT25seSkge1xuICAgICAgICBpbnB1dC5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaXNJbml0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaW5wdXRFbGVtZW50O1xuICB9XG5cbiAgZ2V0VmFsdWUoKTogYW55IHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgcmV0dXJuIGlucHV0LmNoZWNrZWQgfHwgaW5wdXQuaW5kZXRlcm1pbmF0ZSA/IHRoaXMudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgdXBkYXRlQ2hlY2tib3hJZChpbmRleD86IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBpID0gdGhpcy5jaGVja2JveFNlcnZpY2UuZ2V0Q2hlY2tib3hTZXJ2aWNlSXRlbSh0aGlzLm5hbWUpO1xuICAgIGlmICh0aGlzLmlkKSB7XG4gICAgICAgdGhpcy5jaGVja2JveElkID0gdGhpcy5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaWRQcmVmaXggPSB0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpXS5pZFByZWZpeCA/IHRoaXMuY2hlY2tib3hTZXJ2aWNlLmNoZWNrYm94U2VydmljZUl0ZW1zW2ldLmlkUHJlZml4IDogdGhpcy5jaGVja2JveFNlcnZpY2UuY2hlY2tib3hTZXJ2aWNlSXRlbXNbaV0ubmFtZVJhZGlvO1xuICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMuY2hlY2tib3hJZCA9IGlkUHJlZml4O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jaGVja2JveElkID0gYCR7aWRQcmVmaXh9LSR7aW5kZXh9YDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5sYWJlbENvbXBvbmVudExpc3QgJiYgdGhpcy5sYWJlbENvbXBvbmVudExpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sYWJlbENvbXBvbmVudExpc3QuZmlyc3QuZm9yID0gdGhpcy5jaGVja2JveElkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhpbnRDb21wb25lbnRMaXN0ICYmIHRoaXMuaGludENvbXBvbmVudExpc3QubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oaW50Q29tcG9uZW50TGlzdC5maXJzdC5pZCA9IHRoaXMuZ2V0SXRlbUhpbnRJZCgpO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLypcbiAgICogRnVuY2lvbmVzIHBhcmEgYXBvcnRhciBpbmZvcm1hY2nDs24gZGVzZGUgZWwgY29tcG9uZW50ZSBjaGVja2JveGVzIHF1ZSBsbyBjb250aWVuZVxuICAgKi9cblxuICBoYXNEaXZpZGVycygpOiBib29sZWFuIHtcbiAgICBsZXQgaSA9IHRoaXMuY2hlY2tib3hTZXJ2aWNlLmdldENoZWNrYm94U2VydmljZUl0ZW0odGhpcy5uYW1lKTtcbiAgICByZXR1cm4gaSAhPT0gLTEgPyB0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpXS5kaXZpZGVycyA6IG51bGw7XG4gIH1cblxuICBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICBsZXQgaSA9IHRoaXMuY2hlY2tib3hTZXJ2aWNlLmdldENoZWNrYm94U2VydmljZUl0ZW0odGhpcy5uYW1lKTtcbiAgICByZXR1cm4gaSAhPT0gLTEgPyB0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpXS5oYXNFcnJvck1lc3NhZ2UgOiBudWxsO1xuICB9XG5cbiAgZ2V0TmFtZUNoZWNrYm94KCk6IHN0cmluZyB7XG4gICAgbGV0IGkgPSB0aGlzLmNoZWNrYm94U2VydmljZS5nZXRDaGVja2JveFNlcnZpY2VJdGVtKHRoaXMubmFtZSk7XG4gICAgcmV0dXJuIGkgIT09IC0xID8gdGhpcy5jaGVja2JveFNlcnZpY2UuY2hlY2tib3hTZXJ2aWNlSXRlbXNbaV0ubmFtZVJhZGlvIDogbnVsbDtcbiAgfVxuXG4gIGdldERlc2NyaWJlZEJ5KCk6IHN0cmluZyB7XG4gICAgbGV0IGkgPSB0aGlzLmNoZWNrYm94U2VydmljZS5nZXRDaGVja2JveFNlcnZpY2VJdGVtKHRoaXMubmFtZSk7XG4gICAgcmV0dXJuIGkgIT09IC0xID8gKCF0aGlzLmNoZWNrYm94U2VydmljZS5jaGVja2JveFNlcnZpY2VJdGVtc1tpXS5maWVsZFNldCA/IHRoaXMuY2hlY2tib3hTZXJ2aWNlLmNoZWNrYm94U2VydmljZUl0ZW1zW2ldLmRlc2NyaWJlZEJ5IDogbnVsbCkgOiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmUgZmxleCBpdGVtcy1zdGFydCBweS1iYXNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG14LXNtXCI+XG4gICAgICA8aW5wdXQgI2lucHV0IGNsYXNzPVwidy02IGgtNiB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCBlYXNlLWluLW91dCBib3JkZXItYmxhY2sgZm9jdXM6Ym9yZGVyLWJsYWNrIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzLWlucHV0IGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLW9mZnNldC0wIGZvY3VzOnJpbmctd2FybmluZy1iYXNlIGRpc2FibGVkOmJnLW5ldXRyYWwtYmFzZSBkaXNhYmxlZDpib3JkZXItbmV1dHJhbC1iYXNlIHRleHQtcHJpbWFyeS1iYXNlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cImNoZWNrYm94SWRcIlxuICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWUgPyBuYW1lIDogZ2V0TmFtZUNoZWNrYm94KClcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIiAoY2hhbmdlKT1cImhhc0NoYW5nZWQoKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbmRpdGlvbmFsQ29udGVudExpc3QgJiYgY29uZGl0aW9uYWxDb250ZW50TGlzdC5sZW5ndGggPiAwID8gJ2NvbmRpdGlvbmFsLScgKyBjaGVja2JveElkIDogbnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiW2dldERlc2NyaWJlZEJ5KCksIGdldEl0ZW1IaW50SWQoKV0gfCBtYWtlSHRtbExpc3Q6bnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcigpID8gdHJ1ZSA6IG51bGxcIlxuXG4gICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwicm9sZSA/IHJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50ID8gYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiYXJpYUVycm9yTWVzc2FnZSA/IGFyaWFFcnJvck1lc3NhZ2UgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtMC41IGxlYWRpbmctNVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsQ29tcG9uZW50TGlzdCAmJiBsYWJlbENvbXBvbmVudExpc3QubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShsYWJlbENvbXBvbmVudExpc3QgJiYgbGFiZWxDb21wb25lbnRMaXN0Lmxlbmd0aCA+IDApXCI+XG4gICAgICAgIDxkZXN5LWxhYmVsIFtmb3JdPVwiY2hlY2tib3hJZFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kZXN5LWxhYmVsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImNvbmRpdGlvbmFsICYmIGNvbmRpdGlvbmFsQ29udGVudExpc3QgJiYgY29uZGl0aW9uYWxDb250ZW50TGlzdC5sZW5ndGggPiAwICYmIChpbnB1dC5jaGVja2VkIHx8IGlucHV0LmluZGV0ZXJtaW5hdGUpXCIgQGRpc3BsYXlDb25kaXRpb25hbFxuICAgICAgY2xhc3M9XCJtYi1iYXNlIG1sLTUgcHktc20gcGwtNiBvcmlnaW4tdG9wLWxlZnQgYm9yZGVyLWwtMiBib3JkZXItcHJpbWFyeS1iYXNlXCJcbiAgICAgIFthdHRyLmlkXT1cIidjb25kaXRpb25hbC0nICsgY2hlY2tib3hJZFwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbmRpdGlvbmFsQ29udGVudExpc3QuZmlyc3QgfVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvY2hlY2tib3hlcy9jaGVja2JveC1pdGVtL2NoZWNrYm94LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3gtaXRlbS9jaGVja2JveC1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQy9GLE9BQU8sRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDhEQUE4RCxDQUFDO0FBRS9GLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0FBd0I5RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsc0JBQXNCO0lBZ0MvRCxZQUFvQixVQUFxQyxFQUFVLGlCQUFvQztRQUNyRyxLQUFLLEVBQUUsQ0FBQztRQURVLGVBQVUsR0FBVixVQUFVLENBQTJCO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVY3RixrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzNELHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBVzNFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4SyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDckQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQy9DO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDekUsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQy9DO1FBRUQsSUFBRyxJQUFJLENBQUMsb0JBQW9CLEtBQUssSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBQztZQUN2RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1NBQy9DO1FBR0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRTVCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUMzQztJQUNKLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUVELFVBQVU7UUFDUixrREFBa0Q7UUFDbEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3hCO2lCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUN6QixLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDdEIsS0FBSyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7YUFDNUI7U0FDRjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsdURBQXVEO0lBQ2pHLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxvQkFBNkI7UUFDbkQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO1FBQ2pELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsdURBQXVEO0lBQ2pHLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtnQkFDN0IsS0FBSyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzVCO2lCQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsS0FBSyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2FBQzdCO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFjO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUM1RixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQzthQUMxQztTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNyRDtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O09BRUc7SUFFSCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdFLENBQUM7O2tIQTFLVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw2Y0FnQmYsY0FBYyxvREFDZCxhQUFhLHlEQUNiLGdCQUFnQixnTEM3RG5DLG9tRkEyQ0EsdWVEbkJjO1FBQ1YsT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQzVCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO2dCQUNsQixPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsYUFBYTthQUN6QixDQUFDLENBQUM7WUFDSCxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsWUFBWTthQUN4QixDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUM7YUFDMUIsQ0FBQztZQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0JBQ25CLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFDOUMsQ0FBQztTQUNILENBQUM7S0FDSDtBQWNEO0lBREMsaUJBQWlCLENBQUMsd0JBQXdCLENBQUM7bUVBQ0w7MkZBWjVCLHFCQUFxQjtrQkF0QmpDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBRWxCO3dCQUNWLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRTs0QkFDNUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7Z0NBQ2xCLE9BQU8sRUFBRSxLQUFLO2dDQUNkLFNBQVMsRUFBRSxhQUFhOzZCQUN6QixDQUFDLENBQUM7NEJBQ0gsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUM7Z0NBQ2YsT0FBTyxFQUFFLEtBQUs7Z0NBQ2QsU0FBUyxFQUFFLFlBQVk7NkJBQ3hCLENBQUMsQ0FBQzs0QkFDSCxVQUFVLENBQUMsUUFBUSxFQUFFO2dDQUNuQixPQUFPLENBQUMsZ0JBQWdCLENBQUM7NkJBQzFCLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQzs2QkFDOUMsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO2dKQUltQixZQUFZO3NCQUEvQixTQUFTO3VCQUFDLE9BQU87Z0JBRVQsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDZ0IsV0FBVztzQkFBaEMsV0FBVzt1QkFBQyxPQUFPO2dCQUVhLGtCQUFrQjtzQkFBbEQsZUFBZTt1QkFBQyxjQUFjO2dCQUNDLGlCQUFpQjtzQkFBaEQsZUFBZTt1QkFBQyxhQUFhO2dCQUNLLHNCQUFzQjtzQkFBeEQsZUFBZTt1QkFBQyxnQkFBZ0I7Z0JBRXhCLE9BQU87c0JBQWYsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsXG4gIE91dHB1dCwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0l0ZW1DaGVja2JveERhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9kZXN5LWNvbW1vbnMvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7YW5pbWF0ZSwgYW5pbWF0ZUNoaWxkLCBxdWVyeSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7TGFiZWxDb21wb25lbnR9IGZyb20gJy4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0hpbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2hpbnQvaGludC5jb21wb25lbnQnO1xuaW1wb3J0IHtBY2Nlc3NpYmlsaXR5Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cyc7XG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tIFwiLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1vbi1pbnB1dC1jaGFuZ2UuZGVjb3JhdG9yXCI7XG5pbXBvcnQgeyBDaGVja2JveGVzUGFyZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tib3hlcy1wYXJlbnQuY29tcG9uZW50JztcbmltcG9ydCB7TWFrZUh0bWxMaXN0UGlwZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL3BpcGVzL21ha2UtaHRtbC1saXN0LnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWNoZWNrYm94LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdkaXNwbGF5Q29uZGl0aW9uYWwnLCBbXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgb3BhY2l0eTogJzAuMCcsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDAuOTUpJ1xuICAgICAgfSkpLFxuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7XG4gICAgICAgIG9wYWNpdHk6ICcxLjAnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgxLjApJ1xuICAgICAgfSkpLFxuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBhbmltYXRlKCcxMDBtcyBlYXNlLW91dCcpXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIFtcbiAgICAgICAgcXVlcnkoJ0AqJywgYW5pbWF0ZUNoaWxkKCksIHtvcHRpb25hbDogdHJ1ZX0pXG4gICAgICBdKVxuICAgIF0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hJdGVtQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJpbGl0eUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIEl0ZW1DaGVja2JveERhdGEge1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY29uZGl0aW9uYWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBpc0luZGV0ZXJtaW5hdGU6IGJvb2xlYW47XG5cbiAgQERlc3lPbklucHV0Q2hhbmdlKCdzZXRJbmRldGVybWluYXRlU3RhdHVzJylcbiAgQElucHV0KCkgaW5kZXRlcm1pbmF0ZUNoZWNrZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNsYXNzZXM6IGFueTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzZXNIb3N0OiBhbnk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMYWJlbENvbXBvbmVudCkgbGFiZWxDb21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8TGFiZWxDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKEhpbnRDb21wb25lbnQpIGhpbnRDb21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8SGludENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oQ29udGVudENvbXBvbmVudCkgY29uZGl0aW9uYWxDb250ZW50TGlzdDogUXVlcnlMaXN0PENvbnRlbnRDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIGNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbmRldGVybWluYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGxhc3RDaGVja2VkO1xuICBsYXN0SW5kZXRlcm1pbmF0ZTtcbiAgbGFzdFZhbHVlO1xuICBjaGVja2JveElkO1xuXG4gIHBhcmVudERpc2FibGVkOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hlY2tib3hlczogQ2hlY2tib3hlc1BhcmVudENvbXBvbmVudCwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2JveGVzLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3Nlc0hvc3QgPSBuZXcgTWFrZUh0bWxMaXN0UGlwZSgpLnRyYW5zZm9ybShbJ2Jsb2NrJywgdGhpcy5jaGVja2JveGVzLmhhc0RpdmlkZXJzID8gJ2JvcmRlci10IGJvcmRlci1iIGJvcmRlci1uZXV0cmFsLWJhc2UgLW1iLXB4JyA6IG51bGwsIHRoaXMuY2xhc3Nlc10sIG51bGwpO1xuICAgIGlmICh0aGlzLmNoZWNrZWQgIT09IHRoaXMubGFzdENoZWNrZWQgJiYgdGhpcy5pc0luaXQoKSkge1xuICAgICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmNoZWNrZWQpO1xuICAgICAgdGhpcy5jaGVja2JveGVzLnVwZGF0ZVZhbHVlRnJvbUNoZWNrYm94SXRlbXMoKTtcbiAgICAgfSBlbHNlIGlmICh0aGlzLmxhc3RWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMubGFzdFZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICB0aGlzLmNoZWNrYm94ZXMudXBkYXRlVmFsdWVGcm9tQ2hlY2tib3hJdGVtcygpO1xuICAgICB9XG5cbiAgICAgaWYodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCAhPT0gdGhpcy5sYXN0SW5kZXRlcm1pbmF0ZSAmJiB0aGlzLmlzSW5pdCgpKXtcbiAgICAgICB0aGlzLnNldEluZGV0ZXJtaW5hdGVDaGVja2VkKHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQpO1xuICAgICAgdGhpcy5jaGVja2JveGVzLnVwZGF0ZVZhbHVlRnJvbUNoZWNrYm94SXRlbXMoKTtcbiAgICAgfVxuXG5cbiAgICAgdGhpcy5sYXN0VmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgIGlmICh0aGlzLmlkICE9PSB0aGlzLmNoZWNrYm94SWQpIHtcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5tYXJrRm9yVXBkYXRlQ2hlY2tib3hJZHMoKTtcbiAgICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Q2hlY2tlZCh0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQodGhpcy5pbmRldGVybWluYXRlQ2hlY2tlZCk7XG4gICAgdGhpcy5jaGVja2JveGVzLnVwZGF0ZVZhbHVlRnJvbUNoZWNrYm94SXRlbXMoKTtcbiAgfVxuXG4gIGdldEl0ZW1IaW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oaW50Q29tcG9uZW50TGlzdCAmJiB0aGlzLmhpbnRDb21wb25lbnRMaXN0Lmxlbmd0aCA+IDAgJiYgdGhpcy5jaGVja2JveElkID8gdGhpcy5jaGVja2JveElkICsgJy1pdGVtLWhpbnQnIDogbnVsbDtcbiAgfVxuXG4gIGhhc0NoYW5nZWQoKTogdm9pZCB7XG4gICAgLy8gU2UgZXN0YWJsZWNlIGVsIGNhbWJpbyBhIHZpc3VhbGl6YXIgZW4gZWwgaW5wdXRcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuaXNJbmRldGVybWluYXRlKSB7XG4gICAgICBpZiAoaW5wdXQucmVhZE9ubHkpIHtcbiAgICAgICAgaW5wdXQuY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICBpbnB1dC5yZWFkT25seSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIGlmICghaW5wdXQuY2hlY2tlZCkge1xuICAgICAgICBpbnB1dC5yZWFkT25seSA9IHRydWU7XG4gICAgICAgIGlucHV0LmluZGV0ZXJtaW5hdGUgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldENoZWNrZWQoaW5wdXQuY2hlY2tlZCk7XG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlQ2hlY2tlZChpbnB1dC5pbmRldGVybWluYXRlKTtcbiAgICB0aGlzLmNoZWNrYm94ZXMudXBkYXRlVmFsdWVGcm9tQ2hlY2tib3hJdGVtcygpO1xuICB9XG5cbiAgc2V0Q2hlY2tlZChjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gY2hlY2tlZDtcbiAgICB0aGlzLmxhc3RDaGVja2VkID0gY2hlY2tlZDtcbiAgICB0aGlzLmNoZWNrZWRDaGFuZ2UuZW1pdChjaGVja2VkKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgLy8gQXZpc2EgYWwgZWxlbWVudG8gaW5wdXQgcGFyYSBxdWUgYWN0dWFsaWNlIHN1IGVzdGFkb1xuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZUNoZWNrZWQoaW5kZXRlcm1pbmF0ZUNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGVja2VkID0gaW5kZXRlcm1pbmF0ZUNoZWNrZWQ7XG4gICAgdGhpcy5sYXN0SW5kZXRlcm1pbmF0ZSA9IGluZGV0ZXJtaW5hdGVDaGVja2VkO1xuICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KGluZGV0ZXJtaW5hdGVDaGVja2VkKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTsgLy8gQXZpc2EgYWwgZWxlbWVudG8gaW5wdXQgcGFyYSBxdWUgYWN0dWFsaWNlIHN1IGVzdGFkb1xuICB9XG5cbiAgc2V0SW5kZXRlcm1pbmF0ZVN0YXR1cygpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuaW5wdXRFbGVtZW50Py5uYXRpdmVFbGVtZW50O1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZUNoZWNrZWQpIHtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSB0cnVlO1xuICAgICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoaW5wdXQucmVhZE9ubHkpIHtcbiAgICAgICAgaW5wdXQucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgICAgaW5wdXQuaW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzSW5pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmlucHV0RWxlbWVudDtcbiAgfVxuXG4gIGdldFZhbHVlKCk6IGFueSB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBpbnB1dC5jaGVja2VkIHx8IGlucHV0LmluZGV0ZXJtaW5hdGUgPyB0aGlzLnZhbHVlIDogbnVsbDtcbiAgfVxuXG4gIHVwZGF0ZUNoZWNrYm94SWQoaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pZCkge1xuICAgICAgIHRoaXMuY2hlY2tib3hJZCA9IHRoaXMuaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkUHJlZml4ID0gdGhpcy5jaGVja2JveGVzLmlkUHJlZml4ID8gdGhpcy5jaGVja2JveGVzLmlkUHJlZml4IDogdGhpcy5jaGVja2JveGVzLm5hbWU7XG4gICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgdGhpcy5jaGVja2JveElkID0gaWRQcmVmaXg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNoZWNrYm94SWQgPSBgJHtpZFByZWZpeH0tJHtpbmRleH1gO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmxhYmVsQ29tcG9uZW50TGlzdCAmJiB0aGlzLmxhYmVsQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxhYmVsQ29tcG9uZW50TGlzdC5maXJzdC5mb3IgPSB0aGlzLmNoZWNrYm94SWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGludENvbXBvbmVudExpc3QgJiYgdGhpcy5oaW50Q29tcG9uZW50TGlzdC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmhpbnRDb21wb25lbnRMaXN0LmZpcnN0LmlkID0gdGhpcy5nZXRJdGVtSGludElkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKlxuICAgKiBGdW5jaW9uZXMgcGFyYSBhcG9ydGFyIGluZm9ybWFjacOzbiBkZXNkZSBlbCBjb21wb25lbnRlIGNoZWNrYm94ZXMgcXVlIGxvIGNvbnRpZW5lXG4gICAqL1xuXG4gIGhhc0RpdmlkZXJzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMuaGFzRGl2aWRlcnM7ICAgIFxuICB9XG5cbiAgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2hlY2tib3hlcy5oYXNFcnJvcnNNZXNzYWdlKCk7XG4gIH1cblxuICBnZXROYW1lQ2hlY2tib3goKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2JveGVzLm5hbWU7XG4gIH1cblxuICBnZXREZXNjcmliZWRCeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAhdGhpcy5jaGVja2JveGVzLmhhc0ZpZWxkc2V0KCkgPyB0aGlzLmNoZWNrYm94ZXMuZGVzY3JpYmVkQnkgOiBudWxsO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpdmUgZmxleCBpdGVtcy1zdGFydCBweS1iYXNlXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIG14LXNtXCI+XG4gICAgICA8aW5wdXQgI2lucHV0IGNsYXNzPVwidy02IGgtNiB0cmFuc2l0aW9uIGR1cmF0aW9uLTE1MCBlYXNlLWluLW91dCBib3JkZXItYmxhY2sgZm9jdXM6Ym9yZGVyLWJsYWNrIGZvY3VzOnNoYWRvdy1vdXRsaW5lLWZvY3VzLWlucHV0IGZvY3VzOnJpbmctNCBmb2N1czpyaW5nLW9mZnNldC0wIGZvY3VzOnJpbmctd2FybmluZy1iYXNlIGRpc2FibGVkOmJnLW5ldXRyYWwtYmFzZSBkaXNhYmxlZDpib3JkZXItbmV1dHJhbC1iYXNlIHRleHQtcHJpbWFyeS1iYXNlXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICAgIFthdHRyLmlkXT1cImNoZWNrYm94SWRcIlxuICAgICAgICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWUgPyBuYW1lIDogZ2V0TmFtZUNoZWNrYm94KClcIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIiAoY2hhbmdlKT1cImhhc0NoYW5nZWQoKVwiXG4gICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IHBhcmVudERpc2FibGVkID8gdHJ1ZSA6IG51bGxcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNvbmRpdGlvbmFsQ29udGVudExpc3QgJiYgY29uZGl0aW9uYWxDb250ZW50TGlzdC5sZW5ndGggPiAwID8gJ2NvbmRpdGlvbmFsLScgKyBjaGVja2JveElkIDogbnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiW2dldERlc2NyaWJlZEJ5KCksIGdldEl0ZW1IaW50SWQoKV0gfCBtYWtlSHRtbExpc3Q6bnVsbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJoYXNFcnJvcigpID8gdHJ1ZSA6IG51bGxcIlxuXG4gICAgICAgICAgICAgIFthdHRyLnJvbGVdPVwicm9sZSA/IHJvbGUgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwgPyBhcmlhTGFiZWwgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5ID8gYXJpYUxhYmVsbGVkQnkgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiYXJpYUhpZGRlbiA/IGFyaWFIaWRkZW4gOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJhcmlhRGlzYWJsZWQgPyBhcmlhRGlzYWJsZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cImFyaWFDdXJyZW50ID8gYXJpYUN1cnJlbnQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1saXZlXT1cImFyaWFMaXZlID8gYXJpYUxpdmUgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJhcmlhRXhwYW5kZWQgPyBhcmlhRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiYXJpYUVycm9yTWVzc2FnZSA/IGFyaWFFcnJvck1lc3NhZ2UgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJhcmlhSGFzUG9wdXAgPyBhcmlhSGFzUG9wdXAgOiBudWxsXCJcbiAgICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXggPyB0YWJpbmRleCA6IG51bGxcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicHQtMC41IGxlYWRpbmctNVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsQ29tcG9uZW50TGlzdCAmJiBsYWJlbENvbXBvbmVudExpc3QubGVuZ3RoID4gMFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWxhYmVsXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShsYWJlbENvbXBvbmVudExpc3QgJiYgbGFiZWxDb21wb25lbnRMaXN0Lmxlbmd0aCA+IDApXCI+XG4gICAgICAgIDxkZXN5LWxhYmVsIFtmb3JdPVwiY2hlY2tib3hJZFwiPlxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9kZXN5LWxhYmVsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJkZXN5LWhpbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImNvbmRpdGlvbmFsICYmIGNvbmRpdGlvbmFsQ29udGVudExpc3QgJiYgY29uZGl0aW9uYWxDb250ZW50TGlzdC5sZW5ndGggPiAwICYmIChpbnB1dC5jaGVja2VkIHx8IGlucHV0LmluZGV0ZXJtaW5hdGUpXCIgQGRpc3BsYXlDb25kaXRpb25hbFxuICAgICAgY2xhc3M9XCJtYi1iYXNlIG1sLTUgcHktc20gcGwtNiBvcmlnaW4tdG9wLWxlZnQgYm9yZGVyLWwtMiBib3JkZXItcHJpbWFyeS1iYXNlXCJcbiAgICAgIFthdHRyLmlkXT1cIidjb25kaXRpb25hbC0nICsgY2hlY2tib3hJZFwiPlxuICA8bmctY29udGFpbmVyICpkZXN5Q3VzdG9tSW5uZXJDb250ZW50PVwieyBjb21wb25lbnQ6IGNvbmRpdGlvbmFsQ29udGVudExpc3QuZmlyc3QgfVwiPjwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormFieldComponent } from '../form-field/form-field.component';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Clase abstracta que permite comunicar al checkbox-item con el checkboxes
6
+ * sin que existan dependencias circulares.
7
+ * El esquema de dependencias resulta:
8
+ * - CheckboxesComponent -> CheckboxesParentComponent
9
+ * - CheckboxesComponent -> CheckboxItemComponent
10
+ * - CheckboxItemComponent -> CheckboxesParentComponent
11
+ */
12
+ export class CheckboxesParentComponent extends FormFieldComponent {
13
+ }
14
+ CheckboxesParentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxesParentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
+ CheckboxesParentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CheckboxesParentComponent, selector: "desy-checkboxes-parent", usesInheritance: true, ngImport: i0, template: '', isInline: true });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CheckboxesParentComponent, decorators: [{
17
+ type: Component,
18
+ args: [{
19
+ selector: 'desy-checkboxes-parent',
20
+ template: ''
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hlcy1wYXJlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2NoZWNrYm94ZXMvY2hlY2tib3hlcy1wYXJlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRXhFOzs7Ozs7O0dBT0c7QUFLSCxNQUFNLE9BQWdCLHlCQUEwQixTQUFRLGtCQUF1Qjs7c0hBQXpELHlCQUF5QjswR0FBekIseUJBQXlCLHFGQUZuQyxFQUFFOzJGQUVRLHlCQUF5QjtrQkFKOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcblxuLyoqXG4gKiBDbGFzZSBhYnN0cmFjdGEgcXVlIHBlcm1pdGUgY29tdW5pY2FyIGFsIGNoZWNrYm94LWl0ZW0gY29uIGVsIGNoZWNrYm94ZXNcbiAqIHNpbiBxdWUgZXhpc3RhbiBkZXBlbmRlbmNpYXMgY2lyY3VsYXJlcy5cbiAqIEVsIGVzcXVlbWEgZGUgZGVwZW5kZW5jaWFzIHJlc3VsdGE6XG4gKiAgLSBDaGVja2JveGVzQ29tcG9uZW50IC0+IENoZWNrYm94ZXNQYXJlbnRDb21wb25lbnRcbiAqICAtIENoZWNrYm94ZXNDb21wb25lbnQgLT4gQ2hlY2tib3hJdGVtQ29tcG9uZW50XG4gKiAgLSBDaGVja2JveEl0ZW1Db21wb25lbnQgLT4gQ2hlY2tib3hlc1BhcmVudENvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5LWNoZWNrYm94ZXMtcGFyZW50JyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENoZWNrYm94ZXNQYXJlbnRDb21wb25lbnQgZXh0ZW5kcyBGb3JtRmllbGRDb21wb25lbnQ8YW55PiB7XG4gIGlkUHJlZml4Pzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBoYXNEaXZpZGVycz86IGJvb2xlYW47XG4gIGRlc2NyaWJlZEJ5Pzogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGhhc0ZpZWxkc2V0KCk6IGJvb2xlYW47XG5cbiAgYWJzdHJhY3QgbWFya0ZvclVwZGF0ZUNoZWNrYm94SWRzKCk6IHZvaWQ7XG4gIGFic3RyYWN0IHVwZGF0ZVZhbHVlRnJvbUNoZWNrYm94SXRlbXMoKTogdm9pZDtcbn0iXX0=