@coreui/angular-pro 4.3.8 → 4.3.11

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 (262) hide show
  1. package/esm2020/lib/accordion/accordion/accordion.component.mjs +7 -7
  2. package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
  3. package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +11 -11
  4. package/esm2020/lib/accordion/accordion.module.mjs +4 -4
  5. package/esm2020/lib/accordion/accordion.service.mjs +3 -3
  6. package/esm2020/lib/alert/alert-heading.directive.mjs +5 -5
  7. package/esm2020/lib/alert/alert-link.directive.mjs +5 -5
  8. package/esm2020/lib/alert/alert.component.mjs +3 -3
  9. package/esm2020/lib/alert/alert.module.mjs +4 -4
  10. package/esm2020/lib/avatar/avatar.component.mjs +3 -3
  11. package/esm2020/lib/avatar/avatar.module.mjs +4 -4
  12. package/esm2020/lib/backdrop/backdrop.service.mjs +11 -5
  13. package/esm2020/lib/badge/badge.component.mjs +3 -3
  14. package/esm2020/lib/badge/badge.module.mjs +4 -4
  15. package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +9 -9
  16. package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
  17. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +3 -3
  18. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +3 -3
  19. package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +4 -4
  20. package/esm2020/lib/button/button-close.directive.mjs +3 -3
  21. package/esm2020/lib/button/button.directive.mjs +3 -3
  22. package/esm2020/lib/button/button.module.mjs +4 -4
  23. package/esm2020/lib/button-group/button-group/button-group.component.mjs +11 -11
  24. package/esm2020/lib/button-group/button-group.module.mjs +4 -4
  25. package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +9 -9
  26. package/esm2020/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
  27. package/esm2020/lib/calendar/calendar/calendar.component.mjs +3 -3
  28. package/esm2020/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
  29. package/esm2020/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
  30. package/esm2020/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
  31. package/esm2020/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
  32. package/esm2020/lib/calendar/calendar-month/calendar-day.directive.mjs +3 -3
  33. package/esm2020/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
  34. package/esm2020/lib/calendar/calendar-month/calendar-month.component.mjs +3 -3
  35. package/esm2020/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
  36. package/esm2020/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +3 -3
  37. package/esm2020/lib/calendar/calendar.module.mjs +4 -4
  38. package/esm2020/lib/calendar/calendar.service.mjs +3 -3
  39. package/esm2020/lib/callout/callout.component.mjs +5 -5
  40. package/esm2020/lib/callout/callout.module.mjs +4 -4
  41. package/esm2020/lib/card/card-body.component.mjs +3 -3
  42. package/esm2020/lib/card/card-footer.component.mjs +3 -3
  43. package/esm2020/lib/card/card-group.component.mjs +3 -3
  44. package/esm2020/lib/card/card-header-actions.component.mjs +3 -3
  45. package/esm2020/lib/card/card-header.component.mjs +3 -3
  46. package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
  47. package/esm2020/lib/card/card-img.directive.mjs +3 -3
  48. package/esm2020/lib/card/card-link.directive.mjs +3 -3
  49. package/esm2020/lib/card/card-subtitle.directive.mjs +3 -3
  50. package/esm2020/lib/card/card-text.directive.mjs +3 -3
  51. package/esm2020/lib/card/card-title.directive.mjs +3 -3
  52. package/esm2020/lib/card/card.component.mjs +5 -5
  53. package/esm2020/lib/card/card.module.mjs +4 -4
  54. package/esm2020/lib/carousel/carousel/carousel.component.mjs +12 -12
  55. package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
  56. package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +3 -3
  57. package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +3 -3
  58. package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +3 -3
  59. package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +15 -15
  60. package/esm2020/lib/carousel/carousel-state.mjs +3 -3
  61. package/esm2020/lib/carousel/carousel.config.mjs +3 -3
  62. package/esm2020/lib/carousel/carousel.module.mjs +4 -4
  63. package/esm2020/lib/carousel/carousel.service.mjs +3 -3
  64. package/esm2020/lib/collapse/collapse.directive.mjs +29 -29
  65. package/esm2020/lib/collapse/collapse.module.mjs +4 -4
  66. package/esm2020/lib/date-picker/date-picker.component.mjs +3 -3
  67. package/esm2020/lib/date-picker/date-picker.module.mjs +4 -4
  68. package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +3 -3
  69. package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +4 -4
  70. package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +6 -6
  71. package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +3 -3
  72. package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
  73. package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
  74. package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
  75. package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +3 -3
  76. package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +3 -3
  77. package/esm2020/lib/dropdown/dropdown.module.mjs +4 -4
  78. package/esm2020/lib/dropdown/dropdown.service.mjs +3 -3
  79. package/esm2020/lib/element-cover/element-cover.component.mjs +3 -3
  80. package/esm2020/lib/element-cover/element-cover.module.mjs +4 -4
  81. package/esm2020/lib/footer/footer.component.mjs +3 -3
  82. package/esm2020/lib/footer/footer.module.mjs +4 -4
  83. package/esm2020/lib/form/form/form.directive.mjs +7 -7
  84. package/esm2020/lib/form/form-check/form-check-input.directive.mjs +15 -15
  85. package/esm2020/lib/form/form-check/form-check-label.directive.mjs +3 -3
  86. package/esm2020/lib/form/form-check/form-check.component.mjs +3 -3
  87. package/esm2020/lib/form/form-control/form-control.directive.mjs +13 -13
  88. package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +3 -3
  89. package/esm2020/lib/form/form-floating/form-floating.directive.mjs +7 -7
  90. package/esm2020/lib/form/form-label/form-label.directive.mjs +11 -11
  91. package/esm2020/lib/form/form-select/form-select.directive.mjs +10 -10
  92. package/esm2020/lib/form/form-text/form-text.directive.mjs +5 -5
  93. package/esm2020/lib/form/form.module.mjs +4 -4
  94. package/esm2020/lib/form/input-group/input-group.component.mjs +10 -10
  95. package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +5 -5
  96. package/esm2020/lib/grid/col.component.mjs +3 -3
  97. package/esm2020/lib/grid/col.directive.mjs +3 -3
  98. package/esm2020/lib/grid/container.component.mjs +3 -3
  99. package/esm2020/lib/grid/grid.module.mjs +4 -4
  100. package/esm2020/lib/grid/gutter.directive.mjs +3 -3
  101. package/esm2020/lib/grid/row.component.mjs +3 -3
  102. package/esm2020/lib/grid/row.directive.mjs +3 -3
  103. package/esm2020/lib/header/header/header.component.mjs +3 -3
  104. package/esm2020/lib/header/header-brand/header-brand.component.mjs +3 -3
  105. package/esm2020/lib/header/header-divider/header-divider.component.mjs +3 -3
  106. package/esm2020/lib/header/header-nav/header-nav.component.mjs +3 -3
  107. package/esm2020/lib/header/header-text/header-text.component.mjs +3 -3
  108. package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +3 -3
  109. package/esm2020/lib/header/header.module.mjs +4 -4
  110. package/esm2020/lib/image/img.directive.mjs +18 -18
  111. package/esm2020/lib/image/img.module.mjs +4 -4
  112. package/esm2020/lib/list-group/list-group-item.directive.mjs +8 -8
  113. package/esm2020/lib/list-group/list-group.directive.mjs +7 -7
  114. package/esm2020/lib/list-group/list-group.module.mjs +4 -4
  115. package/esm2020/lib/loading-button/loading-button.component.mjs +19 -19
  116. package/esm2020/lib/loading-button/loading-button.module.mjs +4 -4
  117. package/esm2020/lib/modal/modal/modal.component.mjs +5 -11
  118. package/esm2020/lib/modal/modal-body/modal-body.component.mjs +3 -3
  119. package/esm2020/lib/modal/modal-content/modal-content.component.mjs +3 -3
  120. package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
  121. package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
  122. package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
  123. package/esm2020/lib/modal/modal-header/modal-header.component.mjs +3 -3
  124. package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +3 -3
  125. package/esm2020/lib/modal/modal.module.mjs +4 -4
  126. package/esm2020/lib/modal/modal.service.mjs +3 -3
  127. package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +11 -7
  128. package/esm2020/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
  129. package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
  130. package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +3 -3
  131. package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +11 -9
  132. package/esm2020/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
  133. package/esm2020/lib/multi-select/multi-select.module.mjs +4 -4
  134. package/esm2020/lib/multi-select/multi-select.service.mjs +3 -3
  135. package/esm2020/lib/nav/nav-item.component.mjs +3 -3
  136. package/esm2020/lib/nav/nav-link.directive.mjs +3 -3
  137. package/esm2020/lib/nav/nav.component.mjs +3 -3
  138. package/esm2020/lib/nav/nav.module.mjs +4 -4
  139. package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
  140. package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
  141. package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
  142. package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +3 -3
  143. package/esm2020/lib/navbar/navbar.component.mjs +3 -3
  144. package/esm2020/lib/navbar/navbar.module.mjs +4 -4
  145. package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +144 -70
  146. package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
  147. package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
  148. package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
  149. package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
  150. package/esm2020/lib/offcanvas/offcanvas.module.mjs +4 -4
  151. package/esm2020/lib/offcanvas/offcanvas.service.mjs +3 -3
  152. package/esm2020/lib/pagination/page-item/page-item.component.mjs +3 -3
  153. package/esm2020/lib/pagination/page-item/page-item.directive.mjs +7 -7
  154. package/esm2020/lib/pagination/page-link/page-link.directive.mjs +3 -3
  155. package/esm2020/lib/pagination/pagination/pagination.component.mjs +3 -3
  156. package/esm2020/lib/pagination/pagination.module.mjs +4 -4
  157. package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +3 -3
  158. package/esm2020/lib/placeholder/placeholder.directive.mjs +3 -3
  159. package/esm2020/lib/placeholder/placeholder.module.mjs +4 -4
  160. package/esm2020/lib/popover/popover/popover.component.mjs +3 -3
  161. package/esm2020/lib/popover/popover.directive.mjs +27 -27
  162. package/esm2020/lib/popover/popover.module.mjs +4 -4
  163. package/esm2020/lib/progress/progress-bar.component.mjs +22 -22
  164. package/esm2020/lib/progress/progress.component.mjs +3 -3
  165. package/esm2020/lib/progress/progress.module.mjs +4 -4
  166. package/esm2020/lib/services/class-toggle.service.mjs +3 -3
  167. package/esm2020/lib/services/intersection.service.mjs +3 -3
  168. package/esm2020/lib/services/listeners.service.mjs +3 -3
  169. package/esm2020/lib/shared/html-attr.directive.mjs +3 -3
  170. package/esm2020/lib/shared/shared.module.mjs +4 -4
  171. package/esm2020/lib/shared/template-id.directive.mjs +3 -3
  172. package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +38 -38
  173. package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +3 -3
  174. package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +3 -3
  175. package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
  176. package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  177. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
  178. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
  179. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
  180. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
  181. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +3 -3
  182. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
  183. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +13 -13
  184. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
  185. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +3 -3
  186. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +6 -6
  187. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +6 -6
  188. package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
  189. package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +3 -3
  190. package/esm2020/lib/sidebar/sidebar.module.mjs +4 -4
  191. package/esm2020/lib/sidebar/sidebar.service.mjs +3 -3
  192. package/esm2020/lib/smart-pagination/smart-pagination.component.mjs +3 -3
  193. package/esm2020/lib/smart-pagination/smart-pagination.module.mjs +4 -4
  194. package/esm2020/lib/smart-table/smart-table/smart-table.component.mjs +3 -3
  195. package/esm2020/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
  196. package/esm2020/lib/smart-table/smart-table-filter/filter-input.directive.mjs +3 -3
  197. package/esm2020/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
  198. package/esm2020/lib/smart-table/smart-table-head/smart-table-head.component.mjs +3 -3
  199. package/esm2020/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +3 -3
  200. package/esm2020/lib/smart-table/smart-table.module.mjs +4 -4
  201. package/esm2020/lib/spinner/spinner.component.mjs +3 -3
  202. package/esm2020/lib/spinner/spinner.module.mjs +4 -4
  203. package/esm2020/lib/table/table-active.directive.mjs +7 -7
  204. package/esm2020/lib/table/table-color.directive.mjs +3 -3
  205. package/esm2020/lib/table/table.directive.mjs +14 -14
  206. package/esm2020/lib/table/table.module.mjs +4 -4
  207. package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +13 -13
  208. package/esm2020/lib/tabs/tab-content-ref.directive.mjs +3 -3
  209. package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +3 -3
  210. package/esm2020/lib/tabs/tab.service.mjs +3 -3
  211. package/esm2020/lib/tabs/tabs.module.mjs +4 -4
  212. package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +6 -6
  213. package/esm2020/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +6 -6
  214. package/esm2020/lib/time-picker/time-picker.component.mjs +3 -3
  215. package/esm2020/lib/time-picker/time-picker.module.mjs +4 -4
  216. package/esm2020/lib/toast/toast/toast.component.mjs +20 -20
  217. package/esm2020/lib/toast/toast-body/toast-body.component.mjs +3 -3
  218. package/esm2020/lib/toast/toast-close.directive.mjs +3 -3
  219. package/esm2020/lib/toast/toast-header/toast-header.component.mjs +3 -3
  220. package/esm2020/lib/toast/toast.module.mjs +4 -4
  221. package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +3 -3
  222. package/esm2020/lib/toast/toaster/toaster.component.mjs +3 -3
  223. package/esm2020/lib/toast/toaster/toaster.service.mjs +3 -3
  224. package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +3 -3
  225. package/esm2020/lib/tooltip/tooltip.directive.mjs +27 -27
  226. package/esm2020/lib/tooltip/tooltip.module.mjs +4 -4
  227. package/esm2020/lib/utilities/align.directive.mjs +3 -3
  228. package/esm2020/lib/utilities/bg-color.directive.mjs +10 -10
  229. package/esm2020/lib/utilities/border.directive.mjs +3 -3
  230. package/esm2020/lib/utilities/rounded.directive.mjs +3 -3
  231. package/esm2020/lib/utilities/text-color.directive.mjs +10 -10
  232. package/esm2020/lib/utilities/utilities.module.mjs +4 -4
  233. package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
  234. package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
  235. package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
  236. package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
  237. package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
  238. package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
  239. package/esm2020/lib/widget/widget.module.mjs +4 -4
  240. package/fesm2015/coreui-angular-pro.mjs +1252 -1173
  241. package/fesm2015/coreui-angular-pro.mjs.map +1 -1
  242. package/fesm2020/coreui-angular-pro.mjs +1249 -1172
  243. package/fesm2020/coreui-angular-pro.mjs.map +1 -1
  244. package/lib/alert/alert.component.d.ts +1 -1
  245. package/lib/backdrop/backdrop.service.d.ts +2 -1
  246. package/lib/calendar/calendar.service.d.ts +3 -3
  247. package/lib/coreui.types.d.ts +15 -15
  248. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +1 -1
  249. package/lib/grid/col.type.d.ts +2 -2
  250. package/lib/grid/gutter.type.d.ts +2 -2
  251. package/lib/grid/row.type.d.ts +1 -1
  252. package/lib/header/header/header.component.d.ts +1 -1
  253. package/lib/modal/modal/modal.component.d.ts +0 -1
  254. package/lib/multi-select/multi-select.type.d.ts +1 -1
  255. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +28 -16
  256. package/lib/time-picker/time.utils.d.ts +1 -1
  257. package/lib/toast/toast/toast.component.d.ts +1 -1
  258. package/lib/toast/toaster/toaster.component.d.ts +1 -1
  259. package/lib/utilities/border.type.d.ts +3 -3
  260. package/lib/utilities/rounded.type.d.ts +3 -3
  261. package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +1 -1
  262. package/package.json +2 -1
@@ -6,9 +6,9 @@ export class NavbarBrandDirective {
6
6
  this.role = 'button';
7
7
  }
8
8
  }
9
- NavbarBrandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarBrandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
- NavbarBrandDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: NavbarBrandDirective, selector: "[cNavbarBrand]", host: { properties: { "class.navbar-brand": "this.navbarBrand", "attr.role": "this.role" } }, ngImport: i0 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarBrandDirective, decorators: [{
9
+ NavbarBrandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarBrandDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
10
+ NavbarBrandDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NavbarBrandDirective, selector: "[cNavbarBrand]", host: { properties: { "class.navbar-brand": "this.navbarBrand", "attr.role": "this.role" } }, ngImport: i0 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarBrandDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[cNavbarBrand]'
@@ -23,9 +23,9 @@ export class NavbarNavComponent {
23
23
  };
24
24
  }
25
25
  }
26
- NavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- NavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: NavbarNavComponent, selector: "c-navbar-nav", inputs: { scroll: "scroll" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarNavComponent, decorators: [{
26
+ NavbarNavComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ NavbarNavComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NavbarNavComponent, selector: "c-navbar-nav", inputs: { scroll: "scroll" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarNavComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{
31
31
  selector: 'c-navbar-nav',
@@ -5,9 +5,9 @@ export class NavbarTextComponent {
5
5
  this.navbarTextClass = true;
6
6
  }
7
7
  }
8
- NavbarTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- NavbarTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: NavbarTextComponent, selector: "c-navbar-text", host: { properties: { "class.navbar-text": "this.navbarTextClass" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarTextComponent, decorators: [{
8
+ NavbarTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ NavbarTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NavbarTextComponent, selector: "c-navbar-text", host: { properties: { "class.navbar-text": "this.navbarTextClass" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarTextComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{
13
13
  selector: 'c-navbar-text',
@@ -33,9 +33,9 @@ export class NavbarTogglerDirective {
33
33
  }
34
34
  }
35
35
  }
36
- NavbarTogglerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarTogglerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
37
- NavbarTogglerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: NavbarTogglerDirective, selector: "[cNavbarToggler]", inputs: { collapseRef: ["cNavbarToggler", "collapseRef"], type: "type", ariaLabel: "ariaLabel" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.navbar-toggler": "this.navbarToggler", "attr.type": "this.type", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarTogglerDirective, decorators: [{
36
+ NavbarTogglerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarTogglerDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
37
+ NavbarTogglerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: NavbarTogglerDirective, selector: "[cNavbarToggler]", inputs: { collapseRef: ["cNavbarToggler", "collapseRef"], type: "type", ariaLabel: "ariaLabel" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.navbar-toggler": "this.navbarToggler", "attr.type": "this.type", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarTogglerDirective, decorators: [{
39
39
  type: Directive,
40
40
  args: [{
41
41
  selector: '[cNavbarToggler]'
@@ -54,9 +54,9 @@ export class NavbarComponent {
54
54
  }
55
55
  }
56
56
  }
57
- NavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.ElementRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
58
- NavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: NavbarComponent, selector: "c-navbar", inputs: { color: "color", colorScheme: "colorScheme", container: "container", expand: "expand", placement: "placement", role: "role" }, host: { properties: { "attr.role": "this.role", "class": "this.hostClasses" } }, queries: [{ propertyName: "collapse", first: true, predicate: CollapseDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarComponent, decorators: [{
57
+ NavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarComponent, deps: [{ token: i0.ElementRef }, { token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
58
+ NavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NavbarComponent, selector: "c-navbar", inputs: { color: "color", colorScheme: "colorScheme", container: "container", expand: "expand", placement: "placement", role: "role" }, host: { properties: { "attr.role": "this.role", "class": "this.hostClasses" } }, queries: [{ propertyName: "collapse", first: true, predicate: CollapseDirective, descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{ selector: 'c-navbar', template: "<ng-container *ngTemplateOutlet=\"container ? withContainerTemplate : noContainerTemplate\"></ng-container>\n\n<ng-template #withContainerTemplate>\n <div [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template #noContainerTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
62
62
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.BreakpointObserver }]; }, propDecorators: { color: [{
@@ -9,8 +9,8 @@ import { NavbarTogglerDirective } from './navbar-toggler/navbar-toggler.directiv
9
9
  import * as i0 from "@angular/core";
10
10
  export class NavbarModule {
11
11
  }
12
- NavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- NavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: NavbarModule, declarations: [NavbarComponent,
12
+ NavbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ NavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.3", ngImport: i0, type: NavbarModule, declarations: [NavbarComponent,
14
14
  NavbarNavComponent,
15
15
  NavbarTextComponent,
16
16
  NavbarBrandDirective,
@@ -20,9 +20,9 @@ NavbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
20
20
  NavbarTextComponent,
21
21
  NavbarBrandDirective,
22
22
  NavbarTogglerDirective] });
23
- NavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarModule, imports: [CommonModule,
23
+ NavbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarModule, imports: [CommonModule,
24
24
  RouterModule] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: NavbarModule, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NavbarModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [
@@ -1,23 +1,28 @@
1
- import { Component, EventEmitter, HostBinding, HostListener, Inject, Input, Output, PLATFORM_ID, } from '@angular/core';
2
- import { animate, state, style, transition, trigger, } from '@angular/animations';
3
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
1
+ var _OffcanvasComponent_scroll, _OffcanvasComponent_visible, _OffcanvasComponent_activeBackdrop, _OffcanvasComponent_scrollbarWidth, _OffcanvasComponent_stateToggleSubscription, _OffcanvasComponent_backdropClickSubscription, _OffcanvasComponent_layoutChangeSubscription, _OffcanvasComponent_show;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { Component, EventEmitter, HostBinding, HostListener, Inject, Input, Output, PLATFORM_ID } from '@angular/core';
4
4
  import { DOCUMENT, isPlatformBrowser } from '@angular/common';
5
+ import { animate, state, style, transition, trigger } from '@angular/animations';
6
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
7
+ import { filter } from 'rxjs/operators';
5
8
  import * as i0 from "@angular/core";
6
9
  import * as i1 from "../offcanvas.service";
7
10
  import * as i2 from "../../backdrop/backdrop.service";
8
- import * as i3 from "@angular/cdk/a11y";
11
+ import * as i3 from "@angular/cdk/layout";
12
+ import * as i4 from "@angular/cdk/a11y";
9
13
  let nextId = 0;
10
14
  export class OffcanvasComponent {
11
- constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService) {
15
+ constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
12
16
  this.document = document;
13
17
  this.platformId = platformId;
14
18
  this.renderer = renderer;
15
19
  this.hostElement = hostElement;
16
20
  this.offcanvasService = offcanvasService;
17
21
  this.backdropService = backdropService;
22
+ this.breakpointObserver = breakpointObserver;
18
23
  /**
19
24
  * Apply a backdrop on body while offcanvas is open.
20
- * @type boolean
25
+ * @type boolean | 'static'
21
26
  * @default true
22
27
  */
23
28
  this.backdrop = true;
@@ -33,7 +38,14 @@ export class OffcanvasComponent {
33
38
  * @default 'start'
34
39
  */
35
40
  this.placement = 'start';
36
- this._scroll = false;
41
+ /**
42
+ * Responsive offcanvas property hides content outside the viewport from a specified breakpoint and down.
43
+ * @type boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
44
+ * @default true
45
+ * @since 4.3.10
46
+ */
47
+ this.responsive = true;
48
+ _OffcanvasComponent_scroll.set(this, false);
37
49
  this.id = `offcanvas-${this.placement}-${nextId++}`;
38
50
  /**
39
51
  * Default role for offcanvas. [docs]
@@ -47,166 +59,222 @@ export class OffcanvasComponent {
47
59
  * @default true
48
60
  */
49
61
  this.ariaModal = true;
62
+ _OffcanvasComponent_visible.set(this, false);
50
63
  /**
51
64
  * Event triggered on visible change.
52
65
  */
53
66
  this.visibleChange = new EventEmitter();
67
+ _OffcanvasComponent_activeBackdrop.set(this, void 0);
68
+ _OffcanvasComponent_scrollbarWidth.set(this, void 0);
69
+ _OffcanvasComponent_stateToggleSubscription.set(this, void 0);
70
+ _OffcanvasComponent_backdropClickSubscription.set(this, void 0);
71
+ _OffcanvasComponent_layoutChangeSubscription.set(this, void 0);
72
+ _OffcanvasComponent_show.set(this, false);
54
73
  }
55
74
  /**
56
75
  * Allow body scrolling while offcanvas is visible.
57
76
  * @type boolean
77
+ * @default false
58
78
  */
59
79
  set scroll(value) {
60
- this._scroll = coerceBooleanProperty(value);
80
+ __classPrivateFieldSet(this, _OffcanvasComponent_scroll, coerceBooleanProperty(value), "f");
61
81
  }
62
- ;
63
82
  get scroll() {
64
- return this._scroll;
83
+ return __classPrivateFieldGet(this, _OffcanvasComponent_scroll, "f");
65
84
  }
66
85
  /**
67
86
  * Toggle the visibility of offcanvas component.
68
87
  * @type boolean
88
+ * @default false
69
89
  */
70
90
  set visible(value) {
71
- this._visible = coerceBooleanProperty(value);
72
- if (value) {
91
+ __classPrivateFieldSet(this, _OffcanvasComponent_visible, coerceBooleanProperty(value), "f");
92
+ if (__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f")) {
73
93
  this.setBackdrop(this.backdrop);
74
94
  this.setFocus();
75
95
  }
76
96
  else {
77
97
  this.setBackdrop(false);
78
98
  }
79
- this.setScroll();
99
+ this.layoutChangeSubscribe(__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f"));
80
100
  this.visibleChange.emit(value);
81
101
  }
82
102
  get visible() {
83
- return this._visible;
103
+ return __classPrivateFieldGet(this, _OffcanvasComponent_visible, "f");
84
104
  }
85
105
  get hostClasses() {
86
106
  return {
87
- offcanvas: true,
107
+ offcanvas: typeof this.responsive === 'boolean',
108
+ [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',
88
109
  [`offcanvas-${this.placement}`]: !!this.placement,
89
- show: this.visible,
110
+ show: this.show
90
111
  };
91
112
  }
92
113
  get ariaHidden() {
93
114
  return this.visible ? null : true;
94
115
  }
95
- ;
96
116
  get tabIndex() {
97
117
  return '-1';
98
118
  }
99
- get animateType() {
100
- return this.visible;
119
+ get animateTrigger() {
120
+ return this.visible ? 'visible' : 'hidden';
121
+ }
122
+ get show() {
123
+ return this.visible && __classPrivateFieldGet(this, _OffcanvasComponent_show, "f");
124
+ }
125
+ set show(value) {
126
+ __classPrivateFieldSet(this, _OffcanvasComponent_show, value, "f");
127
+ }
128
+ animateStart(event) {
129
+ const scrollbarWidth = __classPrivateFieldGet(this, _OffcanvasComponent_scrollbarWidth, "f");
130
+ if (event.toState === 'visible') {
131
+ if (!this.scroll) {
132
+ this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
133
+ this.renderer.setStyle(this.document.body, 'padding-right', scrollbarWidth);
134
+ }
135
+ this.renderer.addClass(this.hostElement.nativeElement, 'showing');
136
+ }
137
+ else {
138
+ this.renderer.addClass(this.hostElement.nativeElement, 'hiding');
139
+ }
140
+ }
141
+ animateDone(event) {
142
+ setTimeout(() => {
143
+ if (event.toState === 'visible') {
144
+ this.renderer.removeClass(this.hostElement.nativeElement, 'showing');
145
+ }
146
+ if (event.toState === 'hidden') {
147
+ this.renderer.removeClass(this.hostElement.nativeElement, 'hiding');
148
+ this.renderer.removeStyle(this.document.body, 'overflow');
149
+ this.renderer.removeStyle(this.document.body, 'paddingRight');
150
+ }
151
+ });
152
+ this.show = this.visible;
101
153
  }
102
154
  onKeyDownHandler(event) {
103
- if (event.key === 'Escape' && this.keyboard && this.visible) {
155
+ if (event.key === 'Escape' &&
156
+ this.keyboard &&
157
+ this.visible &&
158
+ this.backdrop !== 'static') {
104
159
  this.offcanvasService.toggle({ show: false, id: this.id });
105
160
  }
106
161
  }
107
162
  ngOnInit() {
108
- this.setScroll();
163
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
109
164
  this.stateToggleSubscribe();
165
+ setTimeout(() => {
166
+ // hotfix to avoid offcanvas flicker on the first render
167
+ this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');
168
+ });
110
169
  }
111
170
  ngOnDestroy() {
112
171
  this.offcanvasService.toggle({ show: false, id: this.id });
113
172
  this.stateToggleSubscribe(false);
114
173
  }
115
- ngOnChanges(changes) {
116
- if (changes['scroll']) {
117
- this.setScroll();
118
- }
119
- }
120
174
  stateToggleSubscribe(subscribe = true) {
121
175
  if (subscribe) {
122
- this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe((action) => {
176
+ __classPrivateFieldSet(this, _OffcanvasComponent_stateToggleSubscription, this.offcanvasService.offcanvasState$.subscribe((action) => {
123
177
  if (this === action.offcanvas || this.id === action.id) {
124
178
  if ('show' in action) {
125
- this.visible = action?.show === 'toggle' ? !this.visible : action.show;
179
+ this.visible =
180
+ action?.show === 'toggle' ? !this.visible : action.show;
126
181
  }
127
182
  }
128
- });
183
+ }), "f");
129
184
  }
130
185
  else {
131
- this.stateToggleSubscription.unsubscribe();
186
+ __classPrivateFieldGet(this, _OffcanvasComponent_stateToggleSubscription, "f").unsubscribe();
132
187
  }
133
188
  }
134
189
  backdropClickSubscribe(subscribe = true) {
135
190
  if (subscribe) {
136
- this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe((clicked) => {
191
+ __classPrivateFieldSet(this, _OffcanvasComponent_backdropClickSubscription, this.backdropService.backdropClick$.subscribe((clicked) => {
137
192
  this.offcanvasService.toggle({ show: !clicked, id: this.id });
138
- });
193
+ }), "f");
139
194
  }
140
195
  else {
141
- this.backdropClickSubscription?.unsubscribe();
196
+ __classPrivateFieldGet(this, _OffcanvasComponent_backdropClickSubscription, "f")?.unsubscribe();
142
197
  }
143
198
  }
144
199
  setBackdrop(setBackdrop) {
145
- if (setBackdrop) {
146
- this.activeBackdrop = this.backdropService.setBackdrop('offcanvas');
147
- this.backdropClickSubscribe();
148
- }
149
- else {
150
- this.activeBackdrop = this.backdropService.clearBackdrop(this.activeBackdrop);
151
- this.backdropClickSubscribe(false);
152
- }
200
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
201
+ __classPrivateFieldSet(this, _OffcanvasComponent_activeBackdrop, !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
202
+ : this.backdropService.clearBackdrop(__classPrivateFieldGet(this, _OffcanvasComponent_activeBackdrop, "f")), "f");
203
+ setBackdrop === true ? this.backdropClickSubscribe()
204
+ : this.backdropClickSubscribe(false);
153
205
  }
154
206
  setFocus() {
155
207
  if (isPlatformBrowser(this.platformId)) {
156
208
  setTimeout(() => this.hostElement.nativeElement.focus());
157
209
  }
158
210
  }
159
- setScroll() {
160
- if (this.visible) {
161
- if (!this.scroll) {
162
- this.renderer.setStyle(this.document.body, 'overflow', 'hidden');
163
- this.renderer.setStyle(this.document.body, 'paddingRight.px', '0');
211
+ get responsiveBreakpoint() {
212
+ if (typeof this.responsive !== 'string') {
213
+ return false;
214
+ }
215
+ const element = this.document.documentElement;
216
+ const responsiveBreakpoint = this.responsive;
217
+ const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
218
+ return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
219
+ }
220
+ layoutChangeSubscribe(subscribe = true) {
221
+ if (subscribe) {
222
+ if (!this.responsiveBreakpoint) {
223
+ return;
164
224
  }
165
- return;
225
+ const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
226
+ const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
227
+ __classPrivateFieldSet(this, _OffcanvasComponent_layoutChangeSubscription, layoutChanges
228
+ .pipe(filter(breakpointState => !breakpointState.matches))
229
+ .subscribe((breakpointState) => {
230
+ this.visible = breakpointState.matches;
231
+ }), "f");
166
232
  }
167
- if (!this.scroll) {
168
- this.renderer.removeStyle(this.document.body, 'overflow');
169
- this.renderer.removeStyle(this.document.body, 'paddingRight');
233
+ else {
234
+ __classPrivateFieldGet(this, _OffcanvasComponent_layoutChangeSubscription, "f")?.unsubscribe();
170
235
  }
171
236
  }
172
237
  }
173
- OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.OffcanvasService }, { token: i2.BackdropService }], target: i0.ɵɵFactoryTarget.Component });
174
- OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: OffcanvasComponent, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: "keyboard", placement: "placement", scroll: "scroll", id: "id", role: "role", ariaModal: "ariaModal", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateType" } }, exportAs: ["cOffcanvas"], usesOnChanges: true, ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
238
+ _OffcanvasComponent_scroll = new WeakMap(), _OffcanvasComponent_visible = new WeakMap(), _OffcanvasComponent_activeBackdrop = new WeakMap(), _OffcanvasComponent_scrollbarWidth = new WeakMap(), _OffcanvasComponent_stateToggleSubscription = new WeakMap(), _OffcanvasComponent_backdropClickSubscription = new WeakMap(), _OffcanvasComponent_layoutChangeSubscription = new WeakMap(), _OffcanvasComponent_show = new WeakMap();
239
+ OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasComponent, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.OffcanvasService }, { token: i2.BackdropService }, { token: i3.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
240
+ OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: OffcanvasComponent, selector: "c-offcanvas", inputs: { backdrop: "backdrop", keyboard: "keyboard", placement: "placement", responsive: "responsive", scroll: "scroll", id: "id", role: "role", ariaModal: "ariaModal", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { listeners: { "@showHide.start": "animateStart($event)", "@showHide.done": "animateDone($event)", "document:keydown": "onKeyDownHandler($event)" }, properties: { "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "class": "this.hostClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabIndex", "@showHide": "this.animateTrigger" } }, exportAs: ["cOffcanvas"], ngImport: i0, template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"], dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], animations: [
175
241
  trigger('showHide', [
176
- state('true', style({
177
- visibility: 'visible',
242
+ state('visible', style({
243
+ // visibility: 'visible'
178
244
  })),
179
- state('false', style({
180
- visibility: 'hidden',
245
+ state('hidden', style({
246
+ // visibility: 'hidden'
181
247
  })),
182
- transition('true => false', [animate('300ms')]),
183
- ]),
248
+ transition('visible <=> *', [animate('300ms')])
249
+ ])
184
250
  ] });
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasComponent, decorators: [{
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasComponent, decorators: [{
186
252
  type: Component,
187
253
  args: [{ selector: 'c-offcanvas', animations: [
188
254
  trigger('showHide', [
189
- state('true', style({
190
- visibility: 'visible',
255
+ state('visible', style({
256
+ // visibility: 'visible'
191
257
  })),
192
- state('false', style({
193
- visibility: 'hidden',
258
+ state('hidden', style({
259
+ // visibility: 'hidden'
194
260
  })),
195
- transition('true => false', [animate('300ms')]),
196
- ]),
197
- ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n" }]
198
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
261
+ transition('visible <=> *', [animate('300ms')])
262
+ ])
263
+ ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
264
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
199
265
  type: Inject,
200
266
  args: [DOCUMENT]
201
267
  }] }, { type: undefined, decorators: [{
202
268
  type: Inject,
203
269
  args: [PLATFORM_ID]
204
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }]; }, propDecorators: { backdrop: [{
270
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }, { type: i3.BreakpointObserver }]; }, propDecorators: { backdrop: [{
205
271
  type: Input
206
272
  }], keyboard: [{
207
273
  type: Input
208
274
  }], placement: [{
209
275
  type: Input
276
+ }], responsive: [{
277
+ type: Input
210
278
  }], scroll: [{
211
279
  type: Input
212
280
  }], id: [{
@@ -234,11 +302,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
234
302
  }], tabIndex: [{
235
303
  type: HostBinding,
236
304
  args: ['attr.tabindex']
237
- }], animateType: [{
305
+ }], animateTrigger: [{
238
306
  type: HostBinding,
239
307
  args: ['@showHide']
308
+ }], animateStart: [{
309
+ type: HostListener,
310
+ args: ['@showHide.start', ['$event']]
311
+ }], animateDone: [{
312
+ type: HostListener,
313
+ args: ['@showHide.done', ['$event']]
240
314
  }], onKeyDownHandler: [{
241
315
  type: HostListener,
242
316
  args: ['document:keydown', ['$event']]
243
317
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFdBQVcsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQXlCZixNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQzRCLFFBQWEsRUFDVixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQztRQUxkLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHMUM7Ozs7V0FJRztRQUNNLGFB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b0JJLGFBQWE7c0JBQXRCLE1BQU07Z0JBUUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsV0FBVztnQkFNeEIsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciwgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBPZmZjYW52YXNTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmY2FudmFzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XG5pbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3RydWUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICAgIHN0YXRlKFxuICAgICAgICAnZmFsc2UnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIFthbmltYXRlKCczMDBtcycpXSksXG4gICAgXSksXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZjYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjT2ZmY2FudmFzJyxcbn0pXG5leHBvcnQgY2xhc3MgT2ZmY2FudmFzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIG9mZmNhbnZhc1NlcnZpY2U6IE9mZmNhbnZhc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYWNrZHJvcFNlcnZpY2U6IEJhY2tkcm9wU2VydmljZVxuICApIHsgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgYmFja2Ryb3AgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIG9mZmNhbnZhcyB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZCBbZG9jc11cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBrZXlib2FyZCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudHMgcGxhY2VtZW50LCB0aGVyZeKAmXMgbm8gZGVmYXVsdCBwbGFjZW1lbnQuXG4gICAqIEB0eXBlIHsnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nfVxuICAgKiBAZGVmYXVsdCAnc3RhcnQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ6IHN0cmluZyB8ICdzdGFydCcgfCAnZW5kJyB8ICd0b3AnIHwgJ2JvdHRvbScgPSAnc3RhcnQnO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3Njcm9sbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH07XG4gIGdldCBzY3JvbGwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3Njcm9sbDtcbiAgfVxuICBwcml2YXRlIF9zY3JvbGwgPSBmYWxzZTtcblxuICBASW5wdXQoKSBpZCA9IGBvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH0tJHtuZXh0SWQrK31gO1xuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuXG4gIC8qKlxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygb2ZmY2FudmFzIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl92aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0QmFja2Ryb3AodGhpcy5iYWNrZHJvcCk7XG4gICAgICB0aGlzLnNldEZvY3VzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0QmFja2Ryb3AoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLnNldFNjcm9sbCgpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgfVxuICBwcml2YXRlIF92aXNpYmxlITogYm9vbGVhbjtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIHZpc2libGUgY2hhbmdlLlxuICAgKi9cbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVCYWNrZHJvcCE6IGFueTtcblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGJhY2tkcm9wQ2xpY2tTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBvZmZjYW52YXM6IHRydWUsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucGxhY2VtZW50fWBdOiAhIXRoaXMucGxhY2VtZW50LFxuICAgICAgc2hvdzogdGhpcy52aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9O1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIGdldCB0YWJJbmRleCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gJy0xJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnQHNob3dIaWRlJylcbiAgZ2V0IGFuaW1hdGVUeXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGU7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgb25LZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIGlkOiB0aGlzLmlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vZmZjYW52YXNTZXJ2aWNlLnRvZ2dsZSh7IHNob3c6IGZhbHNlLCBpZDogdGhpcy5pZCB9KTtcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snc2Nyb2xsJ10pIHtcbiAgICAgIHRoaXMuc2V0U2Nyb2xsKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9IHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgICAoYWN0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMgPT09IGFjdGlvbi5vZmZjYW52YXMgfHwgdGhpcy5pZCA9PT0gYWN0aW9uLmlkKSB7XG4gICAgICAgICAgICBpZiAoJ3Nob3cnIGluIGFjdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBhY3Rpb24/LnNob3cgPT09ICd0b2dnbGUnID8gIXRoaXMudmlzaWJsZSA6IGFjdGlvbi5zaG93O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmFja2Ryb3BDbGlja1N1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5iYWNrZHJvcFNlcnZpY2UuYmFja2Ryb3BDbGljayQuc3Vic2NyaWJlKFxuICAgICAgICAoY2xpY2tlZCkgPT4ge1xuICAgICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiAhY2xpY2tlZCwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEJhY2tkcm9wKHNldEJhY2tkcm9wOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHNldEJhY2tkcm9wKSB7XG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpO1xuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlQmFja2Ryb3AgPSB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKHRoaXMuYWN0aXZlQmFja2Ryb3ApO1xuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBzZXRGb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSk7XG4gICAgfVxuICB9XG5cbiAgc2V0U2Nyb2xsKCkge1xuICAgIGlmICh0aGlzLnZpc2libGUpIHtcbiAgICAgIGlmICghdGhpcy5zY3JvbGwpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nUmlnaHQucHgnLCAnMCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuc2Nyb2xsKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmdSaWdodCcpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjZGtUcmFwRm9jdXMgY2RrVHJhcEZvY3VzQXV0b0NhcHR1cmU+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG4iXX0=
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFLeEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBeUJmLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDNEIsUUFBa0IsRUFDZixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxrQkFBc0M7UUFOcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBR2hEOzs7O1dBSUc7UUFDTSxhQUFRLEdBQXVCLElBQUksQ0FBQztRQUU3Qzs7OztXQUlHO1FBQ00sYUFBUSxHQUFHLElBQUksQ0FBQztRQUV6Qjs7OztXQUlHO1FBQ00sY0FBUyxHQUFnRCxPQUFPLENBQUM7UUFFMUU7Ozs7O1dBS0c7UUFDTSxlQUFVLEdBQWlELElBQUksQ0FBQztRQWdCekUscUNBQVUsS0FBSyxFQUFDO1FBRVAsT0FBRSxHQUFHLGFBQWEsSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRXhEOzs7O1dBSUc7UUFDZ0MsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUVuRDs7OztXQUlHO1FBQ3NDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUF3QjFELHNDQUFvQixLQUFLLEVBQUM7UUFFMUI7O1dBRUc7UUFDZ0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRS9ELHFEQUFpQztRQUNqQyxxREFBeUI7UUFFekIsOERBQXdDO1FBQ3hDLGdFQUEwQztRQUMxQywrREFBeUM7UUFtQ3pDLG1DQUFRLEtBQUssRUFBQztJQXBJWCxDQUFDO0lBK0JKOzs7O09BSUc7SUFDSCxJQUNJLE1BQU0sQ0FBQyxLQUFjO1FBQ3ZCLHVCQUFBLElBQUksOEJBQVcscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQUEsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyx1QkFBQSxJQUFJLGtDQUFRLENBQUM7SUFDdEIsQ0FBQztJQW9CRDs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBYztRQUN4Qix1QkFBQSxJQUFJLCtCQUFZLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7UUFDN0MsSUFBSSx1QkFBQSxJQUFJLG1DQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLHVCQUFBLElBQUksbUNBQVMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLHVCQUFBLElBQUksbUNBQVMsQ0FBQztJQUN2QixDQUFDO0lBZ0JELElBQ0ksV0FBVztRQUNiLE9BQU87WUFDTCxTQUFTLEVBQUUsT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVM7WUFDL0MsQ0FBQyxhQUFhLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTO1lBQ3RFLENBQUMsYUFBYSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDakQsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSx1QkFBQSxJQUFJLGdDQUFNLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQWM7UUFDckIsdUJBQUEsSUFBSSw0QkFBUyxLQUFLLE1BQUEsQ0FBQztJQUNyQixDQUFDO0lBS0QsWUFBWSxDQUFDLEtBQXFCO1FBQ2hDLE1BQU0sY0FBYyxHQUFHLHVCQUFBLElBQUksMENBQWdCLENBQUM7UUFDNUMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDN0U7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLEtBQXFCO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUN0RTtZQUNELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsS0FBb0I7UUFDbkMsSUFDRSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVE7WUFDdEIsSUFBSSxDQUFDLFFBQVE7WUFDYixJQUFJLENBQUMsT0FBTztZQUNaLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUMxQjtZQUNBLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sdUJBQUEsSUFBSSxzQ0FBbUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLE1BQUEsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2Qsd0RBQXdEO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sb0JBQW9CLENBQUMsWUFBcUIsSUFBSTtRQUNwRCxJQUFJLFNBQVMsRUFBRTtZQUNiLHVCQUFBLElBQUksK0NBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxFQUFFLEVBQUU7b0JBQ3RELElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTt3QkFDcEIsSUFBSSxDQUFDLE9BQU87NEJBQ1YsTUFBTSxFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztxQkFDM0Q7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsTUFBQSxDQUFDO1NBQ047YUFBTTtZQUNMLHVCQUFBLElBQUksbURBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsWUFBcUIsSUFBSTtRQUN0RCxJQUFJLFNBQVMsRUFBRTtZQUNiLHVCQUFBLElBQUksaURBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxNQUFBLENBQUM7U0FDTjthQUFNO1lBQ0wsdUJBQUEsSUFBSSxxREFBMkIsRUFBRSxXQUFXLEVBQUUsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsV0FBK0I7UUFDakQsdUJBQUEsSUFBSSxzQ0FBbUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLE1BQUEsQ0FBQztRQUMzRCx1QkFBQSxJQUFJLHNDQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUM7WUFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLHVCQUFBLElBQUksMENBQWdCLENBQUMsTUFBQSxDQUFDO1FBQ2hHLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1lBQ3ZDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLE9BQU8sR0FBWSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUN2RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDN0MsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLG9CQUFvQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDL0gsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFlBQXFCLElBQUk7UUFFckQsSUFBSSxTQUFTLEVBQUU7WUFFYixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM5QixPQUFPO2FBQ1I7WUFFRCxNQUFNLG9CQUFvQixHQUFHLGVBQWUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLENBQUM7WUFFekUsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztZQUU5RSx1QkFBQSxJQUFJLGdEQUE2QixhQUFhO2lCQUMzQyxJQUFJLENBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQ3BEO2lCQUNBLFNBQVMsQ0FDUixDQUFDLGVBQWdDLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO1lBQ3pDLENBQUMsQ0FDRixNQUFBLENBQUM7U0FDTDthQUFNO1lBQ0wsdUJBQUEsSUFBSSxvREFBMEIsRUFBRSxXQUFXLEVBQUUsQ0FBQztTQUMvQztJQUNILENBQUM7OzsrR0FwUlUsa0JBQWtCLGtCQUtuQixRQUFRLGFBQ1IsV0FBVzttR0FOVixrQkFBa0IsZ3JCQ2pEL0IscUZBSUEsNE5Ed0JjO1FBQ1YsT0FBTyxDQUFDLFVBQVUsRUFBRTtZQUNsQixLQUFLLENBQ0gsU0FBUyxFQUNULEtBQUssQ0FBQztZQUNKLHdCQUF3QjthQUN6QixDQUFDLENBQ0g7WUFDRCxLQUFLLENBQ0gsUUFBUSxFQUNSLEtBQUssQ0FBQztZQUNKLHVCQUF1QjthQUN4QixDQUFDLENBQ0g7WUFDRCxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDaEQsQ0FBQztLQUNIOzJGQUtVLGtCQUFrQjtrQkF2QjlCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYO3dCQUNWLE9BQU8sQ0FBQyxVQUFVLEVBQUU7NEJBQ2xCLEtBQUssQ0FDSCxTQUFTLEVBQ1QsS0FBSyxDQUFDOzRCQUNKLHdCQUF3Qjs2QkFDekIsQ0FBQyxDQUNIOzRCQUNELEtBQUssQ0FDSCxRQUFRLEVBQ1IsS0FBSyxDQUFDOzRCQUNKLHVCQUF1Qjs2QkFDeEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzt5QkFDaEQsQ0FBQztxQkFDSCxZQUdTLFlBQVk7OzBCQU9uQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzsyTEFhWixRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFXRyxFQUFFO3NCQUFWLEtBQUs7Z0JBTzZCLElBQUk7c0JBQXRDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsV0FBVztnQkFPUSxTQUFTO3NCQUFqRCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGlCQUFpQjtnQkFRbkMsT0FBTztzQkFEVixLQUFLO2dCQXNCYSxhQUFhO3NCQUEvQixNQUFNO2dCQVVILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQWdCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWUzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZ0IxQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XG5pbXBvcnQgeyBPZmZjYW52YXNTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmY2FudmFzLnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiAqJywgW2FuaW1hdGUoJzMwMG1zJyldKVxuICAgIF0pXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZjYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjT2ZmY2FudmFzJ1xufSlcbmV4cG9ydCBjbGFzcyBPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogQmFja2Ryb3BTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBvZmZjYW52YXMgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQgW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxuICAgKiBAdHlwZSB7J3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJ31cbiAgICogQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgfCAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogUmVzcG9uc2l2ZSBvZmZjYW52YXMgcHJvcGVydHkgaGlkZXMgY29udGVudCBvdXRzaWRlIHRoZSB2aWV3cG9ydCBmcm9tIGEgc3BlY2lmaWVkIGJyZWFrcG9pbnQgYW5kIGRvd24uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHNpbmNlIDQuMy4xMFxuICAgKi9cbiAgQElucHV0KCkgcmVzcG9uc2l2ZT86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCcgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Njcm9sbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2Nyb2xsKCkge1xuICAgIHJldHVybiB0aGlzLiNzY3JvbGw7XG4gIH1cblxuICAjc2Nyb2xsID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaWQgPSBgb2ZmY2FudmFzLSR7dGhpcy5wbGFjZW1lbnR9LSR7bmV4dElkKyt9YDtcblxuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuXG4gIC8qKlxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygb2ZmY2FudmFzIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN2aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSkge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wKTtcbiAgICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHRoaXMuI3Zpc2libGUpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgI3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIHZpc2libGUgY2hhbmdlLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgI2FjdGl2ZUJhY2tkcm9wITogSFRNTERpdkVsZW1lbnQ7XG4gICNzY3JvbGxiYXJXaWR0aCE6IHN0cmluZztcblxuICAjc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAjbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb2ZmY2FudmFzOiB0eXBlb2YgdGhpcy5yZXNwb25zaXZlID09PSAnYm9vbGVhbicsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucmVzcG9uc2l2ZX1gXTogdHlwZW9mIHRoaXMucmVzcG9uc2l2ZSAhPT0gJ2Jvb2xlYW4nLFxuICAgICAgW2BvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAnLTEnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdAc2hvd0hpZGUnKVxuICBnZXQgYW5pbWF0ZVRyaWdnZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gIH1cblxuICBnZXQgc2hvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlICYmIHRoaXMuI3Nob3c7XG4gIH1cblxuICBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Nob3cgPSB2YWx1ZTtcbiAgfVxuXG4gICNzaG93ID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLnN0YXJ0JywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy4jc2Nyb2xsYmFyV2lkdGg7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmctcmlnaHQnLCBzY3JvbGxiYXJXaWR0aCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRpbmcnKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGluZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZ1JpZ2h0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmXG4gICAgICB0aGlzLmtleWJvYXJkICYmXG4gICAgICB0aGlzLnZpc2libGUgJiZcbiAgICAgIHRoaXMuYmFja2Ryb3AgIT09ICdzdGF0aWMnXG4gICAgKSB7XG4gICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIGlkOiB0aGlzLmlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gaG90Zml4IHRvIGF2b2lkIG9mZmNhbnZhcyBmbGlja2VyIG9uIHRoZSBmaXJzdCByZW5kZXJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdmbGV4Jyk7XG4gICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIGlmICgnc2hvdycgaW4gYWN0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICAgICAgICAgICAgYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmFja2Ryb3BDbGlja1N1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy4jYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmJhY2tkcm9wQ2xpY2skLnN1YnNjcmliZSgoY2xpY2tlZCkgPT4ge1xuICAgICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiAhY2xpY2tlZCwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy4jYWN0aXZlQmFja2Ryb3AgPSAhIXNldEJhY2tkcm9wID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLiNhY3RpdmVCYWNrZHJvcCk7XG4gICAgc2V0QmFja2Ryb3AgPT09IHRydWUgPyB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzcG9uc2l2ZUJyZWFrcG9pbnQoKTogc3RyaW5nIHwgZmFsc2Uge1xuICAgIGlmICh0eXBlb2YgdGhpcy5yZXNwb25zaXZlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSB0aGlzLnJlc3BvbnNpdmU7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWN1aS1icmVha3BvaW50LSR7cmVzcG9uc2l2ZUJyZWFrcG9pbnQudHJpbSgpfWApIHx8IGZhbHNlO1xuICAgIHJldHVybiBicmVha3BvaW50VmFsdWUgPyBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcblxuICAgICAgaWYgKCF0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSBgKG1heC13aWR0aDogJHt0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50fSlgO1xuXG4gICAgICBjb25zdCBsYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbcmVzcG9uc2l2ZUJyZWFrcG9pbnRdKTtcblxuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbGF5b3V0Q2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoYnJlYWtwb2ludFN0YXRlID0+ICFicmVha3BvaW50U3RhdGUubWF0Y2hlcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChicmVha3BvaW50U3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYnJlYWtwb2ludFN0YXRlLm1hdGNoZXM7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==
@@ -7,9 +7,9 @@ export class OffcanvasBodyComponent {
7
7
  };
8
8
  }
9
9
  }
10
- OffcanvasBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- OffcanvasBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: OffcanvasBodyComponent, selector: "c-offcanvas-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block}\n"] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasBodyComponent, decorators: [{
10
+ OffcanvasBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ OffcanvasBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: OffcanvasBodyComponent, selector: "c-offcanvas-body", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{display:block}\n"] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasBodyComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'c-offcanvas-body', template: `<ng-content></ng-content>`, styles: [":host{display:block}\n"] }]
15
15
  }], propDecorators: { hostClasses: [{
@@ -7,9 +7,9 @@ export class OffcanvasHeaderComponent {
7
7
  };
8
8
  }
9
9
  }
10
- OffcanvasHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- OffcanvasHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: OffcanvasHeaderComponent, selector: "c-offcanvas-header", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [""] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasHeaderComponent, decorators: [{
10
+ OffcanvasHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ OffcanvasHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: OffcanvasHeaderComponent, selector: "c-offcanvas-header", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [""] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasHeaderComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'c-offcanvas-header', template: `<ng-content></ng-content>` }]
15
15
  }], propDecorators: { hostClasses: [{
@@ -7,9 +7,9 @@ export class OffcanvasTitleDirective {
7
7
  };
8
8
  }
9
9
  }
10
- OffcanvasTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
- OffcanvasTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: OffcanvasTitleDirective, selector: "[cOffcanvasTitle]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasTitleDirective, decorators: [{
10
+ OffcanvasTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11
+ OffcanvasTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: OffcanvasTitleDirective, selector: "[cOffcanvasTitle]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasTitleDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[cOffcanvasTitle]'
@@ -10,9 +10,9 @@ export class OffcanvasToggleDirective {
10
10
  this.offcanvasService.toggle({ show: 'toggle', id: this.id });
11
11
  }
12
12
  }
13
- OffcanvasToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasToggleDirective, deps: [{ token: i1.OffcanvasService }], target: i0.ɵɵFactoryTarget.Directive });
14
- OffcanvasToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: OffcanvasToggleDirective, selector: "[cOffcanvasToggle]", inputs: { id: ["cOffcanvasToggle", "id"] }, host: { listeners: { "click": "toggleOpen($event)" } }, ngImport: i0 });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: OffcanvasToggleDirective, decorators: [{
13
+ OffcanvasToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasToggleDirective, deps: [{ token: i1.OffcanvasService }], target: i0.ɵɵFactoryTarget.Directive });
14
+ OffcanvasToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.3", type: OffcanvasToggleDirective, selector: "[cOffcanvasToggle]", inputs: { id: ["cOffcanvasToggle", "id"] }, host: { listeners: { "click": "toggleOpen($event)" } }, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: OffcanvasToggleDirective, decorators: [{
16
16
  type: Directive,
17
17
  args: [{
18
18
  selector: '[cOffcanvasToggle]'