@coreui/angular 4.2.23 → 4.2.28

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 (579) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +212 -212
  3. package/esm2020/coreui-angular.mjs +4 -4
  4. package/esm2020/lib/accordion/accordion/accordion.component.mjs +39 -39
  5. package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +43 -43
  6. package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +72 -72
  7. package/esm2020/lib/accordion/accordion.module.mjs +47 -47
  8. package/esm2020/lib/accordion/accordion.service.mjs +36 -36
  9. package/esm2020/lib/accordion/index.mjs +1 -1
  10. package/esm2020/lib/accordion/public_api.mjs +4 -4
  11. package/esm2020/lib/alert/alert-heading.directive.mjs +21 -21
  12. package/esm2020/lib/alert/alert-link.directive.mjs +21 -21
  13. package/esm2020/lib/alert/alert.component.mjs +181 -181
  14. package/esm2020/lib/alert/alert.module.mjs +37 -37
  15. package/esm2020/lib/alert/index.mjs +1 -1
  16. package/esm2020/lib/alert/public_api.mjs +4 -4
  17. package/esm2020/lib/avatar/avatar.component.mjs +48 -48
  18. package/esm2020/lib/avatar/avatar.module.mjs +23 -23
  19. package/esm2020/lib/avatar/index.mjs +1 -1
  20. package/esm2020/lib/avatar/public_api.mjs +3 -3
  21. package/esm2020/lib/backdrop/backdrop.service.mjs +58 -52
  22. package/esm2020/lib/badge/badge.component.mjs +41 -41
  23. package/esm2020/lib/badge/badge.module.mjs +23 -23
  24. package/esm2020/lib/badge/index.mjs +1 -1
  25. package/esm2020/lib/badge/public_api.mjs +2 -2
  26. package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +42 -42
  27. package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +37 -37
  28. package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +1 -1
  29. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +41 -41
  30. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +53 -53
  31. package/esm2020/lib/breadcrumb/breadcrumb.module.mjs +36 -36
  32. package/esm2020/lib/breadcrumb/index.mjs +1 -1
  33. package/esm2020/lib/breadcrumb/public_api.mjs +6 -6
  34. package/esm2020/lib/button/button-close.directive.mjs +44 -44
  35. package/esm2020/lib/button/button.directive.mjs +112 -112
  36. package/esm2020/lib/button/button.module.mjs +28 -28
  37. package/esm2020/lib/button/index.mjs +1 -1
  38. package/esm2020/lib/button/public_api.mjs +3 -3
  39. package/esm2020/lib/button-group/button-group/button-group.component.mjs +40 -40
  40. package/esm2020/lib/button-group/button-group.module.mjs +28 -28
  41. package/esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs +34 -34
  42. package/esm2020/lib/button-group/index.mjs +1 -1
  43. package/esm2020/lib/button-group/public_api.mjs +3 -3
  44. package/esm2020/lib/callout/callout.component.mjs +23 -23
  45. package/esm2020/lib/callout/callout.module.mjs +19 -19
  46. package/esm2020/lib/callout/index.mjs +1 -1
  47. package/esm2020/lib/callout/public_api.mjs +2 -2
  48. package/esm2020/lib/card/card-body.component.mjs +21 -21
  49. package/esm2020/lib/card/card-footer.component.mjs +21 -21
  50. package/esm2020/lib/card/card-group.component.mjs +21 -21
  51. package/esm2020/lib/card/card-header-actions.component.mjs +19 -19
  52. package/esm2020/lib/card/card-header.component.mjs +21 -21
  53. package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +18 -18
  54. package/esm2020/lib/card/card-img.directive.mjs +24 -24
  55. package/esm2020/lib/card/card-link.directive.mjs +20 -20
  56. package/esm2020/lib/card/card-subtitle.directive.mjs +20 -20
  57. package/esm2020/lib/card/card-text.directive.mjs +20 -20
  58. package/esm2020/lib/card/card-title.directive.mjs +20 -20
  59. package/esm2020/lib/card/card.component.mjs +28 -28
  60. package/esm2020/lib/card/card.module.mjs +78 -78
  61. package/esm2020/lib/card/index.mjs +1 -1
  62. package/esm2020/lib/card/public_api.mjs +13 -13
  63. package/esm2020/lib/carousel/carousel/carousel.component.mjs +214 -214
  64. package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +16 -16
  65. package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +83 -83
  66. package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +44 -44
  67. package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +47 -47
  68. package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +68 -68
  69. package/esm2020/lib/carousel/carousel-state.mjs +77 -77
  70. package/esm2020/lib/carousel/carousel-state.type.mjs +1 -1
  71. package/esm2020/lib/carousel/carousel.animation.mjs +69 -69
  72. package/esm2020/lib/carousel/carousel.config.mjs +21 -21
  73. package/esm2020/lib/carousel/carousel.module.mjs +53 -53
  74. package/esm2020/lib/carousel/carousel.service.mjs +18 -18
  75. package/esm2020/lib/carousel/index.mjs +2 -2
  76. package/esm2020/lib/carousel/public_api.mjs +9 -9
  77. package/esm2020/lib/collapse/collapse.animations.mjs +18 -18
  78. package/esm2020/lib/collapse/collapse.directive.mjs +190 -190
  79. package/esm2020/lib/collapse/collapse.module.mjs +22 -22
  80. package/esm2020/lib/collapse/index.mjs +1 -1
  81. package/esm2020/lib/collapse/public_api.mjs +2 -2
  82. package/esm2020/lib/coreui.types.mjs +10 -10
  83. package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +374 -366
  84. package/esm2020/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +72 -72
  85. package/esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +22 -22
  86. package/esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +22 -22
  87. package/esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +22 -22
  88. package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +86 -86
  89. package/esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +81 -81
  90. package/esm2020/lib/dropdown/dropdown.module.mjs +64 -64
  91. package/esm2020/lib/dropdown/dropdown.service.mjs +17 -17
  92. package/esm2020/lib/dropdown/index.mjs +1 -1
  93. package/esm2020/lib/dropdown/public_api.mjs +10 -10
  94. package/esm2020/lib/footer/footer.component.mjs +37 -37
  95. package/esm2020/lib/footer/footer.module.mjs +23 -23
  96. package/esm2020/lib/footer/index.mjs +1 -1
  97. package/esm2020/lib/footer/public_api.mjs +2 -2
  98. package/esm2020/lib/form/form/form.directive.mjs +37 -37
  99. package/esm2020/lib/form/form-check/form-check-input.directive.mjs +62 -62
  100. package/esm2020/lib/form/form-check/form-check-label.directive.mjs +20 -20
  101. package/esm2020/lib/form/form-check/form-check.component.mjs +75 -75
  102. package/esm2020/lib/form/form-control/form-control.directive.mjs +70 -70
  103. package/esm2020/lib/form/form-feedback/form-feedback.component.mjs +42 -42
  104. package/esm2020/lib/form/form-floating/form-floating.directive.mjs +37 -37
  105. package/esm2020/lib/form/form-label/form-label.directive.mjs +39 -39
  106. package/esm2020/lib/form/form-select/form-select.directive.mjs +34 -34
  107. package/esm2020/lib/form/form-text/form-text.directive.mjs +21 -21
  108. package/esm2020/lib/form/form.module.mjs +76 -76
  109. package/esm2020/lib/form/index.mjs +1 -1
  110. package/esm2020/lib/form/input-group/input-group.component.mjs +30 -30
  111. package/esm2020/lib/form/input-group-text/input-group-text.directive.mjs +21 -21
  112. package/esm2020/lib/form/public_api.mjs +13 -13
  113. package/esm2020/lib/grid/col.component.mjs +11 -11
  114. package/esm2020/lib/grid/col.directive.mjs +156 -156
  115. package/esm2020/lib/grid/col.type.mjs +1 -1
  116. package/esm2020/lib/grid/container.component.mjs +42 -42
  117. package/esm2020/lib/grid/container.type.mjs +1 -1
  118. package/esm2020/lib/grid/grid.module.mjs +47 -47
  119. package/esm2020/lib/grid/gutter.directive.mjs +55 -55
  120. package/esm2020/lib/grid/gutter.type.mjs +1 -1
  121. package/esm2020/lib/grid/index.mjs +1 -1
  122. package/esm2020/lib/grid/public_api.mjs +7 -7
  123. package/esm2020/lib/grid/row.component.mjs +11 -11
  124. package/esm2020/lib/grid/row.directive.mjs +44 -44
  125. package/esm2020/lib/grid/row.type.mjs +1 -1
  126. package/esm2020/lib/header/header/header.component.mjs +47 -47
  127. package/esm2020/lib/header/header-brand/header-brand.component.mjs +30 -30
  128. package/esm2020/lib/header/header-divider/header-divider.component.mjs +19 -19
  129. package/esm2020/lib/header/header-nav/header-nav.component.mjs +27 -27
  130. package/esm2020/lib/header/header-text/header-text.component.mjs +19 -19
  131. package/esm2020/lib/header/header-toggler/header-toggler.directive.mjs +53 -53
  132. package/esm2020/lib/header/header.module.mjs +48 -48
  133. package/esm2020/lib/header/index.mjs +1 -1
  134. package/esm2020/lib/header/public_api.mjs +7 -7
  135. package/esm2020/lib/image/img.directive.mjs +91 -91
  136. package/esm2020/lib/image/img.module.mjs +23 -23
  137. package/esm2020/lib/image/index.mjs +1 -1
  138. package/esm2020/lib/image/public_api.mjs +2 -2
  139. package/esm2020/lib/list-group/index.mjs +1 -1
  140. package/esm2020/lib/list-group/list-group-item.directive.mjs +72 -72
  141. package/esm2020/lib/list-group/list-group.directive.mjs +43 -43
  142. package/esm2020/lib/list-group/list-group.module.mjs +24 -24
  143. package/esm2020/lib/list-group/public_api.mjs +3 -3
  144. package/esm2020/lib/modal/index.mjs +1 -1
  145. package/esm2020/lib/modal/modal/modal.component.mjs +305 -311
  146. package/esm2020/lib/modal/modal-body/modal-body.component.mjs +18 -18
  147. package/esm2020/lib/modal/modal-content/modal-content.component.mjs +23 -23
  148. package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +31 -31
  149. package/esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs +26 -26
  150. package/esm2020/lib/modal/modal-footer/modal-footer.component.mjs +21 -21
  151. package/esm2020/lib/modal/modal-header/modal-header.component.mjs +21 -21
  152. package/esm2020/lib/modal/modal-title/modal-title.directive.mjs +20 -20
  153. package/esm2020/lib/modal/modal.module.mjs +68 -68
  154. package/esm2020/lib/modal/modal.service.mjs +20 -20
  155. package/esm2020/lib/modal/public_api.mjs +10 -10
  156. package/esm2020/lib/nav/index.mjs +1 -1
  157. package/esm2020/lib/nav/nav-item.component.mjs +18 -18
  158. package/esm2020/lib/nav/nav-link.directive.mjs +87 -87
  159. package/esm2020/lib/nav/nav.component.mjs +24 -24
  160. package/esm2020/lib/nav/nav.module.mjs +21 -21
  161. package/esm2020/lib/nav/public_api.mjs +4 -4
  162. package/esm2020/lib/navbar/index.mjs +1 -1
  163. package/esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs +22 -22
  164. package/esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs +39 -39
  165. package/esm2020/lib/navbar/navbar-text/navbar-text.component.mjs +19 -19
  166. package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +62 -62
  167. package/esm2020/lib/navbar/navbar.component.mjs +84 -84
  168. package/esm2020/lib/navbar/navbar.module.mjs +47 -47
  169. package/esm2020/lib/navbar/public_api.mjs +6 -6
  170. package/esm2020/lib/offcanvas/index.mjs +1 -1
  171. package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +316 -244
  172. package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +18 -18
  173. package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +18 -18
  174. package/esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +20 -20
  175. package/esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +26 -26
  176. package/esm2020/lib/offcanvas/offcanvas.module.mjs +56 -56
  177. package/esm2020/lib/offcanvas/offcanvas.service.mjs +20 -20
  178. package/esm2020/lib/offcanvas/public_api.mjs +7 -7
  179. package/esm2020/lib/pagination/index.mjs +1 -1
  180. package/esm2020/lib/pagination/page-item/page-item.component.mjs +11 -11
  181. package/esm2020/lib/pagination/page-item/page-item.directive.mjs +62 -62
  182. package/esm2020/lib/pagination/page-link/page-link.directive.mjs +20 -20
  183. package/esm2020/lib/pagination/pagination/pagination.component.mjs +40 -40
  184. package/esm2020/lib/pagination/pagination.module.mjs +38 -38
  185. package/esm2020/lib/pagination/public_api.mjs +5 -5
  186. package/esm2020/lib/placeholder/index.mjs +2 -2
  187. package/esm2020/lib/placeholder/placeholder-animation.directive.mjs +34 -34
  188. package/esm2020/lib/placeholder/placeholder.directive.mjs +51 -51
  189. package/esm2020/lib/placeholder/placeholder.module.mjs +29 -29
  190. package/esm2020/lib/placeholder/public_api.mjs +4 -4
  191. package/esm2020/lib/popover/index.mjs +1 -1
  192. package/esm2020/lib/popover/popover/popover.component.mjs +92 -92
  193. package/esm2020/lib/popover/popover.directive.mjs +196 -196
  194. package/esm2020/lib/popover/popover.module.mjs +28 -28
  195. package/esm2020/lib/popover/public_api.mjs +3 -3
  196. package/esm2020/lib/progress/index.mjs +1 -1
  197. package/esm2020/lib/progress/progress-bar.component.mjs +111 -111
  198. package/esm2020/lib/progress/progress-bar.mjs +1 -1
  199. package/esm2020/lib/progress/progress.component.mjs +71 -71
  200. package/esm2020/lib/progress/progress.module.mjs +24 -24
  201. package/esm2020/lib/progress/public_api.mjs +3 -3
  202. package/esm2020/lib/services/class-toggle.service.mjs +29 -29
  203. package/esm2020/lib/services/index.mjs +1 -1
  204. package/esm2020/lib/services/intersection.service.mjs +34 -34
  205. package/esm2020/lib/services/listeners.service.mjs +42 -42
  206. package/esm2020/lib/services/public_api.mjs +3 -3
  207. package/esm2020/lib/shared/html-attr.directive.mjs +52 -52
  208. package/esm2020/lib/shared/index.mjs +1 -1
  209. package/esm2020/lib/shared/public_api.mjs +3 -3
  210. package/esm2020/lib/shared/shared.module.mjs +45 -45
  211. package/esm2020/lib/shared/template-id.directive.mjs +18 -18
  212. package/esm2020/lib/sidebar/index.mjs +1 -1
  213. package/esm2020/lib/sidebar/public_api.mjs +9 -9
  214. package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +244 -244
  215. package/esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +59 -59
  216. package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +29 -29
  217. package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +19 -19
  218. package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +19 -19
  219. package/esm2020/lib/sidebar/sidebar-nav/index.mjs +1 -1
  220. package/esm2020/lib/sidebar/sidebar-nav/public_api.mjs +13 -13
  221. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +23 -23
  222. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +18 -18
  223. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +18 -18
  224. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +21 -21
  225. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +33 -33
  226. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +43 -43
  227. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +94 -94
  228. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +23 -23
  229. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +68 -68
  230. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +204 -204
  231. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.mjs +2 -2
  232. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +54 -54
  233. package/esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +39 -39
  234. package/esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +25 -25
  235. package/esm2020/lib/sidebar/sidebar.module.mjs +99 -99
  236. package/esm2020/lib/sidebar/sidebar.service.mjs +20 -20
  237. package/esm2020/lib/spinner/index.mjs +1 -1
  238. package/esm2020/lib/spinner/public_api.mjs +2 -2
  239. package/esm2020/lib/spinner/spinner.component.mjs +49 -49
  240. package/esm2020/lib/spinner/spinner.module.mjs +27 -27
  241. package/esm2020/lib/table/index.mjs +1 -1
  242. package/esm2020/lib/table/public_api.mjs +4 -4
  243. package/esm2020/lib/table/table-active.directive.mjs +39 -39
  244. package/esm2020/lib/table/table-color.directive.mjs +23 -23
  245. package/esm2020/lib/table/table.directive.mjs +147 -147
  246. package/esm2020/lib/table/table.module.mjs +33 -33
  247. package/esm2020/lib/tabs/index.mjs +1 -1
  248. package/esm2020/lib/tabs/public_api.mjs +5 -5
  249. package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +92 -92
  250. package/esm2020/lib/tabs/tab-content-ref.directive.mjs +128 -128
  251. package/esm2020/lib/tabs/tab-pane/tab-pane.component.mjs +56 -56
  252. package/esm2020/lib/tabs/tab.service.mjs +20 -20
  253. package/esm2020/lib/tabs/tabs.module.mjs +39 -39
  254. package/esm2020/lib/toast/index.mjs +1 -1
  255. package/esm2020/lib/toast/public_api.mjs +8 -8
  256. package/esm2020/lib/toast/toast/toast.component.mjs +238 -238
  257. package/esm2020/lib/toast/toast-body/toast-body.component.mjs +20 -20
  258. package/esm2020/lib/toast/toast-close.directive.mjs +27 -27
  259. package/esm2020/lib/toast/toast-header/toast-header.component.mjs +31 -31
  260. package/esm2020/lib/toast/toast.module.mjs +49 -49
  261. package/esm2020/lib/toast/toaster/toaster-host.directive.mjs +16 -16
  262. package/esm2020/lib/toast/toaster/toaster.component.mjs +140 -140
  263. package/esm2020/lib/toast/toaster/toaster.service.mjs +20 -20
  264. package/esm2020/lib/tooltip/index.mjs +1 -1
  265. package/esm2020/lib/tooltip/public_api.mjs +3 -3
  266. package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +88 -88
  267. package/esm2020/lib/tooltip/tooltip.directive.mjs +191 -191
  268. package/esm2020/lib/tooltip/tooltip.module.mjs +28 -28
  269. package/esm2020/lib/utilities/align.directive.mjs +23 -23
  270. package/esm2020/lib/utilities/bg-color.directive.mjs +32 -32
  271. package/esm2020/lib/utilities/border.directive.mjs +65 -65
  272. package/esm2020/lib/utilities/border.type.mjs +1 -1
  273. package/esm2020/lib/utilities/index.mjs +1 -1
  274. package/esm2020/lib/utilities/public_api.mjs +6 -6
  275. package/esm2020/lib/utilities/rounded.directive.mjs +65 -65
  276. package/esm2020/lib/utilities/rounded.type.mjs +1 -1
  277. package/esm2020/lib/utilities/text-color.directive.mjs +31 -31
  278. package/esm2020/lib/utilities/utilities.module.mjs +43 -43
  279. package/esm2020/lib/widget/index.mjs +2 -2
  280. package/esm2020/lib/widget/public_api.mjs +7 -7
  281. package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +48 -48
  282. package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +52 -52
  283. package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +79 -79
  284. package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +38 -38
  285. package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +29 -29
  286. package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +92 -92
  287. package/esm2020/lib/widget/widget.module.mjs +56 -56
  288. package/esm2020/public-api.mjs +41 -41
  289. package/fesm2015/coreui-angular.mjs +9774 -9696
  290. package/fesm2015/coreui-angular.mjs.map +1 -1
  291. package/fesm2020/coreui-angular.mjs +9706 -9630
  292. package/fesm2020/coreui-angular.mjs.map +1 -1
  293. package/index.d.ts +5 -5
  294. package/lib/accordion/accordion/accordion.component.d.ts +22 -22
  295. package/lib/accordion/accordion-button/accordion-button.directive.d.ts +18 -18
  296. package/lib/accordion/accordion-item/accordion-item.component.d.ts +33 -33
  297. package/lib/accordion/accordion.module.d.ts +12 -12
  298. package/lib/accordion/accordion.service.d.ts +13 -13
  299. package/lib/accordion/index.d.ts +1 -1
  300. package/lib/accordion/public_api.d.ts +4 -4
  301. package/lib/alert/alert-heading.directive.d.ts +7 -7
  302. package/lib/alert/alert-link.directive.d.ts +7 -7
  303. package/lib/alert/alert.component.d.ts +68 -68
  304. package/lib/alert/alert.module.d.ts +11 -11
  305. package/lib/alert/index.d.ts +1 -1
  306. package/lib/alert/public_api.d.ts +4 -4
  307. package/lib/avatar/avatar.component.d.ts +40 -40
  308. package/lib/avatar/avatar.module.d.ts +8 -8
  309. package/lib/avatar/index.d.ts +1 -1
  310. package/lib/avatar/public_api.d.ts +2 -2
  311. package/lib/backdrop/backdrop.service.d.ts +17 -16
  312. package/lib/badge/badge.component.d.ts +32 -32
  313. package/lib/badge/badge.module.d.ts +8 -8
  314. package/lib/badge/index.d.ts +1 -1
  315. package/lib/badge/public_api.d.ts +2 -2
  316. package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +21 -21
  317. package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +28 -28
  318. package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +9 -9
  319. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +21 -21
  320. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +14 -14
  321. package/lib/breadcrumb/breadcrumb.module.d.ts +12 -12
  322. package/lib/breadcrumb/index.d.ts +1 -1
  323. package/lib/breadcrumb/public_api.d.ts +6 -6
  324. package/lib/button/button-close.directive.d.ts +16 -16
  325. package/lib/button/button.directive.d.ts +54 -54
  326. package/lib/button/button.module.d.ts +9 -9
  327. package/lib/button/index.d.ts +1 -1
  328. package/lib/button/public_api.d.ts +3 -3
  329. package/lib/button-group/button-group/button-group.component.d.ts +23 -23
  330. package/lib/button-group/button-group.module.d.ts +9 -9
  331. package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +13 -13
  332. package/lib/button-group/index.d.ts +1 -1
  333. package/lib/button-group/public_api.d.ts +3 -3
  334. package/lib/callout/callout.component.d.ts +13 -13
  335. package/lib/callout/callout.module.d.ts +8 -8
  336. package/lib/callout/index.d.ts +1 -1
  337. package/lib/callout/public_api.d.ts +2 -2
  338. package/lib/card/card-body.component.d.ts +6 -6
  339. package/lib/card/card-footer.component.d.ts +6 -6
  340. package/lib/card/card-group.component.d.ts +6 -6
  341. package/lib/card/card-header-actions.component.d.ts +6 -6
  342. package/lib/card/card-header.component.d.ts +6 -6
  343. package/lib/card/card-img-overlay/card-img-overlay.component.d.ts +6 -6
  344. package/lib/card/card-img.directive.d.ts +11 -11
  345. package/lib/card/card-link.directive.d.ts +6 -6
  346. package/lib/card/card-subtitle.directive.d.ts +6 -6
  347. package/lib/card/card-text.directive.d.ts +6 -6
  348. package/lib/card/card-title.directive.d.ts +6 -6
  349. package/lib/card/card.component.d.ts +18 -18
  350. package/lib/card/card.module.d.ts +19 -19
  351. package/lib/card/index.d.ts +1 -1
  352. package/lib/card/public_api.d.ts +13 -13
  353. package/lib/carousel/carousel/carousel.component.d.ts +92 -92
  354. package/lib/carousel/carousel-caption/carousel-caption.component.d.ts +7 -7
  355. package/lib/carousel/carousel-control/carousel-control.component.d.ts +31 -31
  356. package/lib/carousel/carousel-indicators/carousel-indicators.component.d.ts +18 -18
  357. package/lib/carousel/carousel-inner/carousel-inner.component.d.ts +21 -21
  358. package/lib/carousel/carousel-item/carousel-item.component.d.ts +30 -30
  359. package/lib/carousel/carousel-state.d.ts +16 -16
  360. package/lib/carousel/carousel-state.type.d.ts +15 -15
  361. package/lib/carousel/carousel.animation.d.ts +4 -4
  362. package/lib/carousel/carousel.config.d.ts +10 -10
  363. package/lib/carousel/carousel.module.d.ts +15 -15
  364. package/lib/carousel/carousel.service.d.ts +14 -14
  365. package/lib/carousel/index.d.ts +1 -1
  366. package/lib/carousel/public_api.d.ts +8 -8
  367. package/lib/collapse/collapse.animations.d.ts +4 -4
  368. package/lib/collapse/collapse.directive.d.ts +65 -65
  369. package/lib/collapse/collapse.module.d.ts +10 -10
  370. package/lib/collapse/index.d.ts +1 -1
  371. package/lib/collapse/public_api.d.ts +2 -2
  372. package/lib/coreui.types.d.ts +46 -46
  373. package/lib/dropdown/dropdown/dropdown.component.d.ts +136 -135
  374. package/lib/dropdown/dropdown-close/dropdown-close.directive.d.ts +26 -26
  375. package/lib/dropdown/dropdown-divider/dropdown-divider.directive.d.ts +7 -7
  376. package/lib/dropdown/dropdown-header/dropdown-header.directive.d.ts +7 -7
  377. package/lib/dropdown/dropdown-item/dropdown-item-plain.directive.d.ts +7 -7
  378. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +36 -36
  379. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +36 -36
  380. package/lib/dropdown/dropdown.module.d.ts +14 -14
  381. package/lib/dropdown/dropdown.service.d.ts +13 -13
  382. package/lib/dropdown/index.d.ts +1 -1
  383. package/lib/dropdown/public_api.d.ts +9 -9
  384. package/lib/footer/footer.component.d.ts +18 -18
  385. package/lib/footer/footer.module.d.ts +8 -8
  386. package/lib/footer/index.d.ts +1 -1
  387. package/lib/footer/public_api.d.ts +2 -2
  388. package/lib/form/form/form.directive.d.ts +17 -17
  389. package/lib/form/form-check/form-check-input.directive.d.ts +31 -31
  390. package/lib/form/form-check/form-check-label.directive.d.ts +6 -6
  391. package/lib/form/form-check/form-check.component.d.ts +36 -36
  392. package/lib/form/form-control/form-control.directive.d.ts +34 -34
  393. package/lib/form/form-feedback/form-feedback.component.d.ts +18 -18
  394. package/lib/form/form-floating/form-floating.directive.d.ts +16 -16
  395. package/lib/form/form-label/form-label.directive.d.ts +16 -16
  396. package/lib/form/form-select/form-select.directive.d.ts +16 -16
  397. package/lib/form/form-text/form-text.directive.d.ts +7 -7
  398. package/lib/form/form.module.d.ts +19 -19
  399. package/lib/form/index.d.ts +1 -1
  400. package/lib/form/input-group/input-group.component.d.ts +11 -11
  401. package/lib/form/input-group-text/input-group-text.directive.d.ts +7 -7
  402. package/lib/form/public_api.d.ts +13 -13
  403. package/lib/grid/col.component.d.ts +6 -6
  404. package/lib/grid/col.directive.d.ts +75 -75
  405. package/lib/grid/col.type.d.ts +11 -11
  406. package/lib/grid/container.component.d.ts +20 -20
  407. package/lib/grid/container.type.d.ts +5 -5
  408. package/lib/grid/grid.module.d.ts +13 -13
  409. package/lib/grid/gutter.directive.d.ts +13 -13
  410. package/lib/grid/gutter.type.d.ts +13 -13
  411. package/lib/grid/index.d.ts +1 -1
  412. package/lib/grid/public_api.d.ts +7 -7
  413. package/lib/grid/row.component.d.ts +6 -6
  414. package/lib/grid/row.directive.d.ts +37 -37
  415. package/lib/grid/row.type.d.ts +9 -9
  416. package/lib/header/header/header.component.d.ts +25 -25
  417. package/lib/header/header-brand/header-brand.component.d.ts +12 -12
  418. package/lib/header/header-divider/header-divider.component.d.ts +6 -6
  419. package/lib/header/header-nav/header-nav.component.d.ts +12 -12
  420. package/lib/header/header-text/header-text.component.d.ts +6 -6
  421. package/lib/header/header-toggler/header-toggler.directive.d.ts +25 -25
  422. package/lib/header/header.module.d.ts +13 -13
  423. package/lib/header/index.d.ts +1 -1
  424. package/lib/header/public_api.d.ts +7 -7
  425. package/lib/image/img.directive.d.ts +42 -42
  426. package/lib/image/img.module.d.ts +8 -8
  427. package/lib/image/index.d.ts +1 -1
  428. package/lib/image/public_api.d.ts +2 -2
  429. package/lib/list-group/index.d.ts +1 -1
  430. package/lib/list-group/list-group-item.directive.d.ts +33 -33
  431. package/lib/list-group/list-group.directive.d.ts +21 -21
  432. package/lib/list-group/list-group.module.d.ts +9 -9
  433. package/lib/list-group/public_api.d.ts +3 -3
  434. package/lib/modal/index.d.ts +1 -1
  435. package/lib/modal/modal/modal.component.d.ts +103 -104
  436. package/lib/modal/modal-body/modal-body.component.d.ts +6 -6
  437. package/lib/modal/modal-content/modal-content.component.d.ts +7 -7
  438. package/lib/modal/modal-dialog/modal-dialog.component.d.ts +25 -25
  439. package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +13 -13
  440. package/lib/modal/modal-footer/modal-footer.component.d.ts +6 -6
  441. package/lib/modal/modal-header/modal-header.component.d.ts +6 -6
  442. package/lib/modal/modal-title/modal-title.directive.d.ts +6 -6
  443. package/lib/modal/modal.module.d.ts +16 -16
  444. package/lib/modal/modal.service.d.ts +15 -15
  445. package/lib/modal/public_api.d.ts +10 -10
  446. package/lib/nav/index.d.ts +1 -1
  447. package/lib/nav/nav-item.component.d.ts +6 -6
  448. package/lib/nav/nav-link.directive.d.ts +34 -34
  449. package/lib/nav/nav.component.d.ts +16 -16
  450. package/lib/nav/nav.module.d.ts +10 -10
  451. package/lib/nav/public_api.d.ts +4 -4
  452. package/lib/navbar/index.d.ts +1 -1
  453. package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +7 -7
  454. package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +15 -15
  455. package/lib/navbar/navbar-text/navbar-text.component.d.ts +6 -6
  456. package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +33 -33
  457. package/lib/navbar/navbar.component.d.ts +39 -39
  458. package/lib/navbar/navbar.module.d.ts +13 -13
  459. package/lib/navbar/public_api.d.ts +6 -6
  460. package/lib/offcanvas/index.d.ts +1 -1
  461. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +94 -82
  462. package/lib/offcanvas/offcanvas-body/offcanvas-body.component.d.ts +6 -6
  463. package/lib/offcanvas/offcanvas-header/offcanvas-header.component.d.ts +6 -6
  464. package/lib/offcanvas/offcanvas-title/offcanvas-title.directive.d.ts +6 -6
  465. package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +14 -14
  466. package/lib/offcanvas/offcanvas.module.d.ts +13 -13
  467. package/lib/offcanvas/offcanvas.service.d.ts +15 -15
  468. package/lib/offcanvas/public_api.d.ts +7 -7
  469. package/lib/pagination/index.d.ts +1 -1
  470. package/lib/pagination/page-item/page-item.component.d.ts +6 -6
  471. package/lib/pagination/page-item/page-item.directive.d.ts +24 -24
  472. package/lib/pagination/page-link/page-link.directive.d.ts +6 -6
  473. package/lib/pagination/pagination/pagination.component.d.ts +22 -22
  474. package/lib/pagination/pagination.module.d.ts +11 -11
  475. package/lib/pagination/public_api.d.ts +5 -5
  476. package/lib/placeholder/index.d.ts +1 -1
  477. package/lib/placeholder/placeholder-animation.directive.d.ts +18 -18
  478. package/lib/placeholder/placeholder.directive.d.ts +22 -22
  479. package/lib/placeholder/placeholder.module.d.ts +9 -9
  480. package/lib/placeholder/public_api.d.ts +3 -3
  481. package/lib/popover/index.d.ts +1 -1
  482. package/lib/popover/popover/popover.component.d.ts +30 -30
  483. package/lib/popover/popover.directive.d.ts +58 -58
  484. package/lib/popover/popover.module.d.ts +9 -9
  485. package/lib/popover/public_api.d.ts +3 -3
  486. package/lib/progress/index.d.ts +1 -1
  487. package/lib/progress/progress-bar.component.d.ts +52 -52
  488. package/lib/progress/progress-bar.d.ts +10 -10
  489. package/lib/progress/progress.component.d.ts +32 -32
  490. package/lib/progress/progress.module.d.ts +9 -9
  491. package/lib/progress/public_api.d.ts +4 -4
  492. package/lib/services/class-toggle.service.d.ts +11 -11
  493. package/lib/services/index.d.ts +1 -1
  494. package/lib/services/intersection.service.d.ts +22 -22
  495. package/lib/services/listeners.service.d.ts +19 -19
  496. package/lib/services/public_api.d.ts +2 -2
  497. package/lib/shared/html-attr.directive.d.ts +16 -16
  498. package/lib/shared/index.d.ts +1 -1
  499. package/lib/shared/public_api.d.ts +3 -3
  500. package/lib/shared/shared.module.d.ts +11 -11
  501. package/lib/shared/template-id.directive.d.ts +9 -9
  502. package/lib/sidebar/index.d.ts +1 -1
  503. package/lib/sidebar/public_api.d.ts +9 -9
  504. package/lib/sidebar/sidebar/sidebar.component.d.ts +85 -85
  505. package/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.d.ts +16 -16
  506. package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +12 -12
  507. package/lib/sidebar/sidebar-footer/sidebar-footer.component.d.ts +7 -7
  508. package/lib/sidebar/sidebar-header/sidebar-header.component.d.ts +7 -7
  509. package/lib/sidebar/sidebar-nav/index.d.ts +1 -1
  510. package/lib/sidebar/sidebar-nav/public_api.d.ts +12 -12
  511. package/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.d.ts +7 -7
  512. package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +7 -7
  513. package/lib/sidebar/sidebar-nav/sidebar-nav-group.service.d.ts +14 -14
  514. package/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.d.ts +7 -7
  515. package/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.d.ts +10 -10
  516. package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +18 -18
  517. package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +34 -34
  518. package/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.d.ts +7 -7
  519. package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +15 -15
  520. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +59 -59
  521. package/lib/sidebar/sidebar-nav/sidebar-nav.d.ts +53 -53
  522. package/lib/sidebar/sidebar-nav/sidebar-nav.service.d.ts +20 -20
  523. package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +25 -25
  524. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +7 -7
  525. package/lib/sidebar/sidebar.module.d.ts +25 -25
  526. package/lib/sidebar/sidebar.service.d.ts +19 -19
  527. package/lib/spinner/index.d.ts +1 -1
  528. package/lib/spinner/public_api.d.ts +2 -2
  529. package/lib/spinner/spinner.component.d.ts +31 -31
  530. package/lib/spinner/spinner.module.d.ts +9 -9
  531. package/lib/table/index.d.ts +1 -1
  532. package/lib/table/public_api.d.ts +4 -4
  533. package/lib/table/table-active.directive.d.ts +16 -16
  534. package/lib/table/table-color.directive.d.ts +12 -12
  535. package/lib/table/table.directive.d.ts +89 -89
  536. package/lib/table/table.module.d.ts +10 -10
  537. package/lib/tabs/index.d.ts +1 -1
  538. package/lib/tabs/public_api.d.ts +5 -5
  539. package/lib/tabs/tab-content/tab-content.component.d.ts +33 -33
  540. package/lib/tabs/tab-content-ref.directive.d.ts +50 -50
  541. package/lib/tabs/tab-pane/tab-pane.component.d.ts +26 -26
  542. package/lib/tabs/tab.service.d.ts +14 -14
  543. package/lib/tabs/tabs.module.d.ts +10 -10
  544. package/lib/toast/index.d.ts +1 -1
  545. package/lib/toast/public_api.d.ts +8 -8
  546. package/lib/toast/toast/toast.component.d.ts +84 -84
  547. package/lib/toast/toast-body/toast-body.component.d.ts +9 -9
  548. package/lib/toast/toast-close.directive.d.ts +10 -10
  549. package/lib/toast/toast-header/toast-header.component.d.ts +14 -14
  550. package/lib/toast/toast.module.d.ts +14 -14
  551. package/lib/toast/toaster/toaster-host.directive.d.ts +8 -8
  552. package/lib/toast/toaster/toaster.component.d.ts +55 -55
  553. package/lib/toast/toaster/toaster.service.d.ts +16 -16
  554. package/lib/tooltip/index.d.ts +1 -1
  555. package/lib/tooltip/public_api.d.ts +3 -3
  556. package/lib/tooltip/tooltip/tooltip.component.d.ts +30 -30
  557. package/lib/tooltip/tooltip.directive.d.ts +58 -58
  558. package/lib/tooltip/tooltip.module.d.ts +9 -9
  559. package/lib/utilities/align.directive.d.ts +12 -12
  560. package/lib/utilities/bg-color.directive.d.ts +17 -17
  561. package/lib/utilities/border.directive.d.ts +12 -12
  562. package/lib/utilities/border.type.d.ts +15 -15
  563. package/lib/utilities/index.d.ts +1 -1
  564. package/lib/utilities/public_api.d.ts +6 -6
  565. package/lib/utilities/rounded.directive.d.ts +12 -12
  566. package/lib/utilities/rounded.type.d.ts +12 -12
  567. package/lib/utilities/text-color.directive.d.ts +13 -13
  568. package/lib/utilities/utilities.module.d.ts +12 -12
  569. package/lib/widget/index.d.ts +1 -1
  570. package/lib/widget/public_api.d.ts +7 -7
  571. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +37 -37
  572. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +47 -47
  573. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +58 -58
  574. package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +31 -31
  575. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +24 -24
  576. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +77 -77
  577. package/lib/widget/widget.module.d.ts +15 -15
  578. package/package.json +1 -1
  579. package/public-api.d.ts +37 -37
@@ -1,244 +1,316 @@
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';
4
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "../offcanvas.service";
7
- import * as i2 from "../../backdrop/backdrop.service";
8
- import * as i3 from "@angular/cdk/a11y";
9
- let nextId = 0;
10
- export class OffcanvasComponent {
11
- constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService) {
12
- this.document = document;
13
- this.platformId = platformId;
14
- this.renderer = renderer;
15
- this.hostElement = hostElement;
16
- this.offcanvasService = offcanvasService;
17
- this.backdropService = backdropService;
18
- /**
19
- * Apply a backdrop on body while offcanvas is open.
20
- * @type boolean
21
- * @default true
22
- */
23
- this.backdrop = true;
24
- /**
25
- * Closes the offcanvas when escape key is pressed [docs]
26
- * @type boolean
27
- * @default true
28
- */
29
- this.keyboard = true;
30
- /**
31
- * Components placement, there’s no default placement.
32
- * @type {'start' | 'end' | 'top' | 'bottom'}
33
- * @default 'start'
34
- */
35
- this.placement = 'start';
36
- this._scroll = false;
37
- this.id = `offcanvas-${this.placement}-${nextId++}`;
38
- /**
39
- * Default role for offcanvas. [docs]
40
- * @type string
41
- * @default 'dialog'
42
- */
43
- this.role = 'dialog';
44
- /**
45
- * Set aria-modal html attr for offcanvas. [docs]
46
- * @type boolean
47
- * @default true
48
- */
49
- this.ariaModal = true;
50
- /**
51
- * Event triggered on visible change.
52
- */
53
- this.visibleChange = new EventEmitter();
54
- }
55
- /**
56
- * Allow body scrolling while offcanvas is visible.
57
- * @type boolean
58
- */
59
- set scroll(value) {
60
- this._scroll = coerceBooleanProperty(value);
61
- }
62
- ;
63
- get scroll() {
64
- return this._scroll;
65
- }
66
- /**
67
- * Toggle the visibility of offcanvas component.
68
- * @type boolean
69
- */
70
- set visible(value) {
71
- this._visible = coerceBooleanProperty(value);
72
- if (value) {
73
- this.setBackdrop(this.backdrop);
74
- this.setFocus();
75
- }
76
- else {
77
- this.setBackdrop(false);
78
- }
79
- this.setScroll();
80
- this.visibleChange.emit(value);
81
- }
82
- get visible() {
83
- return this._visible;
84
- }
85
- get hostClasses() {
86
- return {
87
- offcanvas: true,
88
- [`offcanvas-${this.placement}`]: !!this.placement,
89
- show: this.visible,
90
- };
91
- }
92
- get ariaHidden() {
93
- return this.visible ? null : true;
94
- }
95
- ;
96
- get tabIndex() {
97
- return '-1';
98
- }
99
- get animateType() {
100
- return this.visible;
101
- }
102
- onKeyDownHandler(event) {
103
- if (event.key === 'Escape' && this.keyboard && this.visible) {
104
- this.offcanvasService.toggle({ show: false, id: this.id });
105
- }
106
- }
107
- ngOnInit() {
108
- this.setScroll();
109
- this.stateToggleSubscribe();
110
- }
111
- ngOnDestroy() {
112
- this.offcanvasService.toggle({ show: false, id: this.id });
113
- this.stateToggleSubscribe(false);
114
- }
115
- ngOnChanges(changes) {
116
- if (changes['scroll']) {
117
- this.setScroll();
118
- }
119
- }
120
- stateToggleSubscribe(subscribe = true) {
121
- if (subscribe) {
122
- this.stateToggleSubscription = this.offcanvasService.offcanvasState$.subscribe((action) => {
123
- if (this === action.offcanvas || this.id === action.id) {
124
- if ('show' in action) {
125
- this.visible = action?.show === 'toggle' ? !this.visible : action.show;
126
- }
127
- }
128
- });
129
- }
130
- else {
131
- this.stateToggleSubscription.unsubscribe();
132
- }
133
- }
134
- backdropClickSubscribe(subscribe = true) {
135
- if (subscribe) {
136
- this.backdropClickSubscription = this.backdropService.backdropClick$.subscribe((clicked) => {
137
- this.offcanvasService.toggle({ show: !clicked, id: this.id });
138
- });
139
- }
140
- else {
141
- this.backdropClickSubscription?.unsubscribe();
142
- }
143
- }
144
- 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
- }
153
- }
154
- setFocus() {
155
- if (isPlatformBrowser(this.platformId)) {
156
- setTimeout(() => this.hostElement.nativeElement.focus());
157
- }
158
- }
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');
164
- }
165
- return;
166
- }
167
- if (!this.scroll) {
168
- this.renderer.removeStyle(this.document.body, 'overflow');
169
- this.renderer.removeStyle(this.document.body, 'paddingRight');
170
- }
171
- }
172
- }
173
- OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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: "14.2.12", 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: [
175
- trigger('showHide', [
176
- state('true', style({
177
- visibility: 'visible',
178
- })),
179
- state('false', style({
180
- visibility: 'hidden',
181
- })),
182
- transition('true => false', [animate('300ms')]),
183
- ]),
184
- ] });
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, decorators: [{
186
- type: Component,
187
- args: [{ selector: 'c-offcanvas', animations: [
188
- trigger('showHide', [
189
- state('true', style({
190
- visibility: 'visible',
191
- })),
192
- state('false', style({
193
- visibility: 'hidden',
194
- })),
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: [{
199
- type: Inject,
200
- args: [DOCUMENT]
201
- }] }, { type: undefined, decorators: [{
202
- type: Inject,
203
- args: [PLATFORM_ID]
204
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }]; }, propDecorators: { backdrop: [{
205
- type: Input
206
- }], keyboard: [{
207
- type: Input
208
- }], placement: [{
209
- type: Input
210
- }], scroll: [{
211
- type: Input
212
- }], id: [{
213
- type: Input
214
- }], role: [{
215
- type: Input
216
- }, {
217
- type: HostBinding,
218
- args: ['attr.role']
219
- }], ariaModal: [{
220
- type: Input
221
- }, {
222
- type: HostBinding,
223
- args: ['attr.aria-modal']
224
- }], visible: [{
225
- type: Input
226
- }], visibleChange: [{
227
- type: Output
228
- }], hostClasses: [{
229
- type: HostBinding,
230
- args: ['class']
231
- }], ariaHidden: [{
232
- type: HostBinding,
233
- args: ['attr.aria-hidden']
234
- }], tabIndex: [{
235
- type: HostBinding,
236
- args: ['attr.tabindex']
237
- }], animateType: [{
238
- type: HostBinding,
239
- args: ['@showHide']
240
- }], onKeyDownHandler: [{
241
- type: HostListener,
242
- args: ['document:keydown', ['$event']]
243
- }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUNOLFdBQVcsR0FHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sR0FBRyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xGLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUs1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBRTlELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQXlCZixNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQzRCLFFBQWEsRUFDVixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQztRQUxkLGFBQVEsR0FBUixRQUFRLENBQUs7UUFDVixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHMUM7Ozs7V0FJRztRQUNNLGFB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b0JJLGFBQWE7c0JBQXRCLE1BQU07Z0JBUUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTTNCLFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxlQUFlO2dCQU14QixXQUFXO3NCQURkLFdBQVc7dUJBQUMsV0FBVztnQkFNeEIsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBQTEFURk9STV9JRCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyLCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgT2ZmY2FudmFzU2VydmljZSB9IGZyb20gJy4uL29mZmNhbnZhcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XHJcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5sZXQgbmV4dElkID0gMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dIaWRlJywgW1xyXG4gICAgICBzdGF0ZShcclxuICAgICAgICAndHJ1ZScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogJ3Zpc2libGUnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICdmYWxzZScsXHJcbiAgICAgICAgc3R5bGUoe1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogJ2hpZGRlbicsXHJcbiAgICAgICAgfSlcclxuICAgICAgKSxcclxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIFthbmltYXRlKCczMDBtcycpXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29mZmNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGV4cG9ydEFzOiAnY09mZmNhbnZhcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcclxuICAgIHByaXZhdGUgYmFja2Ryb3BTZXJ2aWNlOiBCYWNrZHJvcFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBiYWNrZHJvcCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlcyB0aGUgb2ZmY2FudmFzIHdoZW4gZXNjYXBlIGtleSBpcyBwcmVzc2VkIFtkb2NzXVxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCB0cnVlXHJcbiAgICovXHJcbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxyXG4gICAqIEB0eXBlIHsnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nfVxyXG4gICAqIEBkZWZhdWx0ICdzdGFydCdcclxuICAgKi9cclxuICBASW5wdXQoKSBwbGFjZW1lbnQ6IHN0cmluZyB8ICdzdGFydCcgfCAnZW5kJyB8ICd0b3AnIHwgJ2JvdHRvbScgPSAnc3RhcnQnO1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc2Nyb2xsKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zY3JvbGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH07XHJcbiAgZ2V0IHNjcm9sbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zY3JvbGw7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Njcm9sbCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBpZCA9IGBvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH0tJHtuZXh0SWQrK31gO1xyXG4gIC8qKlxyXG4gICAqIERlZmF1bHQgcm9sZSBmb3Igb2ZmY2FudmFzLiBbZG9jc11cclxuICAgKiBAdHlwZSBzdHJpbmdcclxuICAgKiBAZGVmYXVsdCAnZGlhbG9nJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IHRydWVcclxuICAgKi9cclxuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1tb2RhbCcpIGFyaWFNb2RhbCA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBvZmZjYW52YXMgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl92aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNldEJhY2tkcm9wKHRoaXMuYmFja2Ryb3ApO1xyXG4gICAgICB0aGlzLnNldEZvY3VzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldEJhY2tkcm9wKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3Zpc2libGUhOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB0cmlnZ2VyZWQgb24gdmlzaWJsZSBjaGFuZ2UuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByaXZhdGUgYWN0aXZlQmFja2Ryb3AhOiBhbnk7XHJcblxyXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG9mZmNhbnZhczogdHJ1ZSxcclxuICAgICAgW2BvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcclxuICAgICAgc2hvdzogdGhpcy52aXNpYmxlLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXHJcbiAgZ2V0IGFyaWFIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xyXG4gIH07XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXHJcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuICctMSc7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ0BzaG93SGlkZScpXHJcbiAgZ2V0IGFuaW1hdGVUeXBlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnICYmIHRoaXMua2V5Ym9hcmQgJiYgdGhpcy52aXNpYmxlKSB7XHJcbiAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0U2Nyb2xsKCk7XHJcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XHJcbiAgICB0aGlzLnN0YXRlVG9nZ2xlU3Vic2NyaWJlKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydzY3JvbGwnXSkge1xyXG4gICAgICB0aGlzLnNldFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0ZVRvZ2dsZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAoc3Vic2NyaWJlKSB7XHJcbiAgICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24gPSB0aGlzLm9mZmNhbnZhc1NlcnZpY2Uub2ZmY2FudmFzU3RhdGUkLnN1YnNjcmliZShcclxuICAgICAgICAoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcclxuICAgICAgICAgICAgaWYgKCdzaG93JyBpbiBhY3Rpb24pIHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSBhY3Rpb24/LnNob3cgPT09ICd0b2dnbGUnID8gIXRoaXMudmlzaWJsZSA6IGFjdGlvbi5zaG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiYWNrZHJvcENsaWNrU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmIChzdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uID0gdGhpcy5iYWNrZHJvcFNlcnZpY2UuYmFja2Ryb3BDbGljayQuc3Vic2NyaWJlKFxyXG4gICAgICAgIChjbGlja2VkKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogIWNsaWNrZWQsIGlkOiB0aGlzLmlkIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChzZXRCYWNrZHJvcCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUJhY2tkcm9wID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpO1xyXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlQmFja2Ryb3AgPSB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKHRoaXMuYWN0aXZlQmFja2Ryb3ApO1xyXG4gICAgICB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoZmFsc2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Rm9jdXMoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNjcm9sbCgpIHtcclxuICAgIGlmICh0aGlzLnZpc2libGUpIHtcclxuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdwYWRkaW5nUmlnaHQucHgnLCAnMCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zY3JvbGwpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmRvY3VtZW50LmJvZHksICdvdmVyZmxvdycpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmdSaWdodCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==
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
+ 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';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../offcanvas.service";
10
+ import * as i2 from "../../backdrop/backdrop.service";
11
+ import * as i3 from "@angular/cdk/layout";
12
+ import * as i4 from "@angular/cdk/a11y";
13
+ let nextId = 0;
14
+ export class OffcanvasComponent {
15
+ constructor(document, platformId, renderer, hostElement, offcanvasService, backdropService, breakpointObserver) {
16
+ this.document = document;
17
+ this.platformId = platformId;
18
+ this.renderer = renderer;
19
+ this.hostElement = hostElement;
20
+ this.offcanvasService = offcanvasService;
21
+ this.backdropService = backdropService;
22
+ this.breakpointObserver = breakpointObserver;
23
+ /**
24
+ * Apply a backdrop on body while offcanvas is open.
25
+ * @type boolean | 'static'
26
+ * @default true
27
+ */
28
+ this.backdrop = true;
29
+ /**
30
+ * Closes the offcanvas when escape key is pressed [docs]
31
+ * @type boolean
32
+ * @default true
33
+ */
34
+ this.keyboard = true;
35
+ /**
36
+ * Components placement, there’s no default placement.
37
+ * @type {'start' | 'end' | 'top' | 'bottom'}
38
+ * @default 'start'
39
+ */
40
+ this.placement = 'start';
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);
49
+ this.id = `offcanvas-${this.placement}-${nextId++}`;
50
+ /**
51
+ * Default role for offcanvas. [docs]
52
+ * @type string
53
+ * @default 'dialog'
54
+ */
55
+ this.role = 'dialog';
56
+ /**
57
+ * Set aria-modal html attr for offcanvas. [docs]
58
+ * @type boolean
59
+ * @default true
60
+ */
61
+ this.ariaModal = true;
62
+ _OffcanvasComponent_visible.set(this, false);
63
+ /**
64
+ * Event triggered on visible change.
65
+ */
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);
73
+ }
74
+ /**
75
+ * Allow body scrolling while offcanvas is visible.
76
+ * @type boolean
77
+ * @default false
78
+ */
79
+ set scroll(value) {
80
+ __classPrivateFieldSet(this, _OffcanvasComponent_scroll, coerceBooleanProperty(value), "f");
81
+ }
82
+ get scroll() {
83
+ return __classPrivateFieldGet(this, _OffcanvasComponent_scroll, "f");
84
+ }
85
+ /**
86
+ * Toggle the visibility of offcanvas component.
87
+ * @type boolean
88
+ * @default false
89
+ */
90
+ set visible(value) {
91
+ __classPrivateFieldSet(this, _OffcanvasComponent_visible, coerceBooleanProperty(value), "f");
92
+ if (__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f")) {
93
+ this.setBackdrop(this.backdrop);
94
+ this.setFocus();
95
+ }
96
+ else {
97
+ this.setBackdrop(false);
98
+ }
99
+ this.layoutChangeSubscribe(__classPrivateFieldGet(this, _OffcanvasComponent_visible, "f"));
100
+ this.visibleChange.emit(value);
101
+ }
102
+ get visible() {
103
+ return __classPrivateFieldGet(this, _OffcanvasComponent_visible, "f");
104
+ }
105
+ get hostClasses() {
106
+ return {
107
+ offcanvas: typeof this.responsive === 'boolean',
108
+ [`offcanvas-${this.responsive}`]: typeof this.responsive !== 'boolean',
109
+ [`offcanvas-${this.placement}`]: !!this.placement,
110
+ show: this.show
111
+ };
112
+ }
113
+ get ariaHidden() {
114
+ return this.visible ? null : true;
115
+ }
116
+ get tabIndex() {
117
+ return '-1';
118
+ }
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;
153
+ }
154
+ onKeyDownHandler(event) {
155
+ if (event.key === 'Escape' &&
156
+ this.keyboard &&
157
+ this.visible &&
158
+ this.backdrop !== 'static') {
159
+ this.offcanvasService.toggle({ show: false, id: this.id });
160
+ }
161
+ }
162
+ ngOnInit() {
163
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
164
+ this.stateToggleSubscribe();
165
+ // hotfix to avoid end offcanvas flicker on first render
166
+ this.renderer.setStyle(this.hostElement.nativeElement, 'display', 'flex');
167
+ }
168
+ ngOnDestroy() {
169
+ this.offcanvasService.toggle({ show: false, id: this.id });
170
+ this.stateToggleSubscribe(false);
171
+ }
172
+ stateToggleSubscribe(subscribe = true) {
173
+ if (subscribe) {
174
+ __classPrivateFieldSet(this, _OffcanvasComponent_stateToggleSubscription, this.offcanvasService.offcanvasState$.subscribe((action) => {
175
+ if (this === action.offcanvas || this.id === action.id) {
176
+ if ('show' in action) {
177
+ this.visible =
178
+ action?.show === 'toggle' ? !this.visible : action.show;
179
+ }
180
+ }
181
+ }), "f");
182
+ }
183
+ else {
184
+ __classPrivateFieldGet(this, _OffcanvasComponent_stateToggleSubscription, "f").unsubscribe();
185
+ }
186
+ }
187
+ backdropClickSubscribe(subscribe = true) {
188
+ if (subscribe) {
189
+ __classPrivateFieldSet(this, _OffcanvasComponent_backdropClickSubscription, this.backdropService.backdropClick$.subscribe((clicked) => {
190
+ this.offcanvasService.toggle({ show: !clicked, id: this.id });
191
+ }), "f");
192
+ }
193
+ else {
194
+ __classPrivateFieldGet(this, _OffcanvasComponent_backdropClickSubscription, "f")?.unsubscribe();
195
+ }
196
+ }
197
+ setBackdrop(setBackdrop) {
198
+ __classPrivateFieldSet(this, _OffcanvasComponent_scrollbarWidth, this.backdropService.scrollbarWidth, "f");
199
+ __classPrivateFieldSet(this, _OffcanvasComponent_activeBackdrop, !!setBackdrop ? this.backdropService.setBackdrop('offcanvas')
200
+ : this.backdropService.clearBackdrop(__classPrivateFieldGet(this, _OffcanvasComponent_activeBackdrop, "f")), "f");
201
+ setBackdrop === true ? this.backdropClickSubscribe()
202
+ : this.backdropClickSubscribe(false);
203
+ }
204
+ setFocus() {
205
+ if (isPlatformBrowser(this.platformId)) {
206
+ setTimeout(() => this.hostElement.nativeElement.focus());
207
+ }
208
+ }
209
+ get responsiveBreakpoint() {
210
+ if (typeof this.responsive !== 'string') {
211
+ return false;
212
+ }
213
+ const element = this.document.documentElement;
214
+ const responsiveBreakpoint = this.responsive;
215
+ const breakpointValue = getComputedStyle(element).getPropertyValue(`--cui-breakpoint-${responsiveBreakpoint.trim()}`) || false;
216
+ return breakpointValue ? `${parseFloat(breakpointValue.trim()) - 0.02}px` : false;
217
+ }
218
+ layoutChangeSubscribe(subscribe = true) {
219
+ if (subscribe) {
220
+ if (!this.responsiveBreakpoint) {
221
+ return;
222
+ }
223
+ const responsiveBreakpoint = `(max-width: ${this.responsiveBreakpoint})`;
224
+ const layoutChanges = this.breakpointObserver.observe([responsiveBreakpoint]);
225
+ __classPrivateFieldSet(this, _OffcanvasComponent_layoutChangeSubscription, layoutChanges
226
+ .pipe(filter(breakpointState => !breakpointState.matches))
227
+ .subscribe((breakpointState) => {
228
+ this.visible = breakpointState.matches;
229
+ }), "f");
230
+ }
231
+ else {
232
+ __classPrivateFieldGet(this, _OffcanvasComponent_layoutChangeSubscription, "f")?.unsubscribe();
233
+ }
234
+ }
235
+ }
236
+ _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();
237
+ OffcanvasComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", 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 });
238
+ OffcanvasComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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: [
239
+ trigger('showHide', [
240
+ state('visible', style({
241
+ // visibility: 'visible'
242
+ })),
243
+ state('hidden', style({
244
+ // visibility: 'hidden'
245
+ })),
246
+ transition('visible <=> *', [animate('300ms')])
247
+ ])
248
+ ] });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: OffcanvasComponent, decorators: [{
250
+ type: Component,
251
+ args: [{ selector: 'c-offcanvas', animations: [
252
+ trigger('showHide', [
253
+ state('visible', style({
254
+ // visibility: 'visible'
255
+ })),
256
+ state('hidden', style({
257
+ // visibility: 'hidden'
258
+ })),
259
+ transition('visible <=> *', [animate('300ms')])
260
+ ])
261
+ ], exportAs: 'cOffcanvas', template: "<div cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n</div>\n\n", styles: [":host{display:none}\n"] }]
262
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
263
+ type: Inject,
264
+ args: [DOCUMENT]
265
+ }] }, { type: undefined, decorators: [{
266
+ type: Inject,
267
+ args: [PLATFORM_ID]
268
+ }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.OffcanvasService }, { type: i2.BackdropService }, { type: i3.BreakpointObserver }]; }, propDecorators: { backdrop: [{
269
+ type: Input
270
+ }], keyboard: [{
271
+ type: Input
272
+ }], placement: [{
273
+ type: Input
274
+ }], responsive: [{
275
+ type: Input
276
+ }], scroll: [{
277
+ type: Input
278
+ }], id: [{
279
+ type: Input
280
+ }], role: [{
281
+ type: Input
282
+ }, {
283
+ type: HostBinding,
284
+ args: ['attr.role']
285
+ }], ariaModal: [{
286
+ type: Input
287
+ }, {
288
+ type: HostBinding,
289
+ args: ['attr.aria-modal']
290
+ }], visible: [{
291
+ type: Input
292
+ }], visibleChange: [{
293
+ type: Output
294
+ }], hostClasses: [{
295
+ type: HostBinding,
296
+ args: ['class']
297
+ }], ariaHidden: [{
298
+ type: HostBinding,
299
+ args: ['attr.aria-hidden']
300
+ }], tabIndex: [{
301
+ type: HostBinding,
302
+ args: ['attr.tabindex']
303
+ }], animateTrigger: [{
304
+ type: HostBinding,
305
+ args: ['@showHide']
306
+ }], animateStart: [{
307
+ type: HostListener,
308
+ args: ['@showHide.start', ['$event']]
309
+ }], animateDone: [{
310
+ type: HostListener,
311
+ args: ['@showHide.done', ['$event']]
312
+ }], onKeyDownHandler: [{
313
+ type: HostListener,
314
+ args: ['document:keydown', ['$event']]
315
+ }] } });
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2FudmFzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvb2ZmY2FudmFzL29mZmNhbnZhcy9vZmZjYW52YXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9vZmZjYW52YXMvb2ZmY2FudmFzL29mZmNhbnZhcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsT0FBTyxFQUFrQixLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRyxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHNUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFLeEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBeUJmLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDNEIsUUFBa0IsRUFDZixVQUFlLEVBQ3BDLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGdCQUFrQyxFQUNsQyxlQUFnQyxFQUNoQyxrQkFBc0M7UUFOcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixxQkFBZ0IsR0FBaEIs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eEIsQ0FBQyxDQUNIOzRCQUNELFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzt5QkFDaEQsQ0FBQztxQkFDSCxZQUdTLFlBQVk7OzBCQU9uQixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsV0FBVzsyTEFhWixRQUFRO3NCQUFoQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFXRyxFQUFFO3NCQUFWLEtBQUs7Z0JBTzZCLElBQUk7c0JBQXRDLEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsV0FBVztnQkFPUSxTQUFTO3NCQUFqRCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGlCQUFpQjtnQkFRbkMsT0FBTztzQkFEVixLQUFLO2dCQXNCYSxhQUFhO3NCQUEvQixNQUFNO2dCQVVILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVdoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU0zQixRQUFRO3NCQURYLFdBQVc7dUJBQUMsZUFBZTtnQkFNeEIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxXQUFXO2dCQWdCeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWUzQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZ0IxQyxnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBQTEFURk9STV9JRCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkV2ZW50LCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludFN0YXRlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYmFja2Ryb3AvYmFja2Ryb3Auc2VydmljZSc7XG5pbXBvcnQgeyBPZmZjYW52YXNTZXJ2aWNlIH0gZnJvbSAnLi4vb2ZmY2FudmFzLnNlcnZpY2UnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1vZmZjYW52YXMnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICBzdGF0ZShcbiAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ3Zpc2libGUnXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdoaWRkZW4nLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgLy8gdmlzaWJpbGl0eTogJ2hpZGRlbidcbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCd2aXNpYmxlIDw9PiAqJywgW2FuaW1hdGUoJzMwMG1zJyldKVxuICAgIF0pXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9vZmZjYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vZmZjYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjT2ZmY2FudmFzJ1xufSlcbmV4cG9ydCBjbGFzcyBPZmZjYW52YXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3Njcm9sbDogQm9vbGVhbklucHV0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgb2ZmY2FudmFzU2VydmljZTogT2ZmY2FudmFzU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogQmFja2Ryb3BTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGJhY2tkcm9wIG9uIGJvZHkgd2hpbGUgb2ZmY2FudmFzIGlzIG9wZW4uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc3RhdGljJ1xuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbiB8ICdzdGF0aWMnID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBvZmZjYW52YXMgd2hlbiBlc2NhcGUga2V5IGlzIHByZXNzZWQgW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkga2V5Ym9hcmQgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LlxuICAgKiBAdHlwZSB7J3N0YXJ0JyB8ICdlbmQnIHwgJ3RvcCcgfCAnYm90dG9tJ31cbiAgICogQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBzdHJpbmcgfCAnc3RhcnQnIHwgJ2VuZCcgfCAndG9wJyB8ICdib3R0b20nID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogUmVzcG9uc2l2ZSBvZmZjYW52YXMgcHJvcGVydHkgaGlkZXMgY29udGVudCBvdXRzaWRlIHRoZSB2aWV3cG9ydCBmcm9tIGEgc3BlY2lmaWVkIGJyZWFrcG9pbnQgYW5kIGRvd24uXG4gICAqIEB0eXBlIGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCc7XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICogQHNpbmNlIDQuMy4xMFxuICAgKi9cbiAgQElucHV0KCkgcmVzcG9uc2l2ZT86IGJvb2xlYW4gfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJ3h4bCcgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBib2R5IHNjcm9sbGluZyB3aGlsZSBvZmZjYW52YXMgaXMgdmlzaWJsZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Njcm9sbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2Nyb2xsKCkge1xuICAgIHJldHVybiB0aGlzLiNzY3JvbGw7XG4gIH1cblxuICAjc2Nyb2xsID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaWQgPSBgb2ZmY2FudmFzLSR7dGhpcy5wbGFjZW1lbnR9LSR7bmV4dElkKyt9YDtcblxuICAvKipcbiAgICogRGVmYXVsdCByb2xlIGZvciBvZmZjYW52YXMuIFtkb2NzXVxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ2RpYWxvZydcbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdkaWFsb2cnO1xuXG4gIC8qKlxuICAgKiBTZXQgYXJpYS1tb2RhbCBodG1sIGF0dHIgZm9yIG9mZmNhbnZhcy4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbW9kYWwnKSBhcmlhTW9kYWwgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygb2ZmY2FudmFzIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiN2aXNpYmxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy4jdmlzaWJsZSkge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcCh0aGlzLmJhY2tkcm9wKTtcbiAgICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRCYWNrZHJvcChmYWxzZSk7XG4gICAgfVxuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHRoaXMuI3Zpc2libGUpO1xuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiN2aXNpYmxlO1xuICB9XG5cbiAgI3Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnQgdHJpZ2dlcmVkIG9uIHZpc2libGUgY2hhbmdlLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgI2FjdGl2ZUJhY2tkcm9wITogSFRNTERpdkVsZW1lbnQ7XG4gICNzY3JvbGxiYXJXaWR0aCE6IHN0cmluZztcblxuICAjc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAjbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgb2ZmY2FudmFzOiB0eXBlb2YgdGhpcy5yZXNwb25zaXZlID09PSAnYm9vbGVhbicsXG4gICAgICBbYG9mZmNhbnZhcy0ke3RoaXMucmVzcG9uc2l2ZX1gXTogdHlwZW9mIHRoaXMucmVzcG9uc2l2ZSAhPT0gJ2Jvb2xlYW4nLFxuICAgICAgW2BvZmZjYW52YXMtJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcbiAgICAgIHNob3c6IHRoaXMuc2hvd1xuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICBnZXQgYXJpYUhpZGRlbigpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSA/IG51bGwgOiB0cnVlO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgZ2V0IHRhYkluZGV4KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiAnLTEnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdAc2hvd0hpZGUnKVxuICBnZXQgYW5pbWF0ZVRyaWdnZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbic7XG4gIH1cblxuICBnZXQgc2hvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52aXNpYmxlICYmIHRoaXMuI3Nob3c7XG4gIH1cblxuICBzZXQgc2hvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI3Nob3cgPSB2YWx1ZTtcbiAgfVxuXG4gICNzaG93ID0gZmFsc2U7XG5cbiAgQEhvc3RMaXN0ZW5lcignQHNob3dIaWRlLnN0YXJ0JywgWyckZXZlbnQnXSlcbiAgYW5pbWF0ZVN0YXJ0KGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIGNvbnN0IHNjcm9sbGJhcldpZHRoID0gdGhpcy4jc2Nyb2xsYmFyV2lkdGg7XG4gICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgaWYgKCF0aGlzLnNjcm9sbCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ3BhZGRpbmctcmlnaHQnLCBzY3JvbGxiYXJXaWR0aCk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdoaWRpbmcnKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdAc2hvd0hpZGUuZG9uZScsIFsnJGV2ZW50J10pXG4gIGFuaW1hdGVEb25lKGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3Nob3dpbmcnKTtcbiAgICAgIH1cbiAgICAgIGlmIChldmVudC50b1N0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2hpZGluZycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuZG9jdW1lbnQuYm9keSwgJ292ZXJmbG93Jyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUodGhpcy5kb2N1bWVudC5ib2R5LCAncGFkZGluZ1JpZ2h0Jyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zaG93ID0gdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5rZXkgPT09ICdFc2NhcGUnICYmXG4gICAgICB0aGlzLmtleWJvYXJkICYmXG4gICAgICB0aGlzLnZpc2libGUgJiZcbiAgICAgIHRoaXMuYmFja2Ryb3AgIT09ICdzdGF0aWMnXG4gICAgKSB7XG4gICAgICB0aGlzLm9mZmNhbnZhc1NlcnZpY2UudG9nZ2xlKHsgc2hvdzogZmFsc2UsIGlkOiB0aGlzLmlkIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZSgpO1xuICAgIC8vIGhvdGZpeCB0byBhdm9pZCBlbmQgb2ZmY2FudmFzIGZsaWNrZXIgb24gZmlyc3QgcmVuZGVyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiBmYWxzZSwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgdGhpcy5zdGF0ZVRvZ2dsZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRlVG9nZ2xlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS5vZmZjYW52YXNTdGF0ZSQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAodGhpcyA9PT0gYWN0aW9uLm9mZmNhbnZhcyB8fCB0aGlzLmlkID09PSBhY3Rpb24uaWQpIHtcbiAgICAgICAgICAgIGlmICgnc2hvdycgaW4gYWN0aW9uKSB7XG4gICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9XG4gICAgICAgICAgICAgICAgYWN0aW9uPy5zaG93ID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBhY3Rpb24uc2hvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYmFja2Ryb3BDbGlja1N1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy4jYmFja2Ryb3BDbGlja1N1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuYmFja2Ryb3BTZXJ2aWNlLmJhY2tkcm9wQ2xpY2skLnN1YnNjcmliZSgoY2xpY2tlZCkgPT4ge1xuICAgICAgICAgIHRoaXMub2ZmY2FudmFzU2VydmljZS50b2dnbGUoeyBzaG93OiAhY2xpY2tlZCwgaWQ6IHRoaXMuaWQgfSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNiYWNrZHJvcENsaWNrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0QmFja2Ryb3Aoc2V0QmFja2Ryb3A6IGJvb2xlYW4gfCAnc3RhdGljJyk6IHZvaWQge1xuICAgIHRoaXMuI3Njcm9sbGJhcldpZHRoID0gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2Nyb2xsYmFyV2lkdGg7XG4gICAgdGhpcy4jYWN0aXZlQmFja2Ryb3AgPSAhIXNldEJhY2tkcm9wID8gdGhpcy5iYWNrZHJvcFNlcnZpY2Uuc2V0QmFja2Ryb3AoJ29mZmNhbnZhcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcFNlcnZpY2UuY2xlYXJCYWNrZHJvcCh0aGlzLiNhY3RpdmVCYWNrZHJvcCk7XG4gICAgc2V0QmFja2Ryb3AgPT09IHRydWUgPyB0aGlzLmJhY2tkcm9wQ2xpY2tTdWJzY3JpYmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5iYWNrZHJvcENsaWNrU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIHNldEZvY3VzKCk6IHZvaWQge1xuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcmVzcG9uc2l2ZUJyZWFrcG9pbnQoKTogc3RyaW5nIHwgZmFsc2Uge1xuICAgIGlmICh0eXBlb2YgdGhpcy5yZXNwb25zaXZlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50OiBFbGVtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSB0aGlzLnJlc3BvbnNpdmU7XG4gICAgY29uc3QgYnJlYWtwb2ludFZhbHVlID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKGAtLWN1aS1icmVha3BvaW50LSR7cmVzcG9uc2l2ZUJyZWFrcG9pbnQudHJpbSgpfWApIHx8IGZhbHNlO1xuICAgIHJldHVybiBicmVha3BvaW50VmFsdWUgPyBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGAgOiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcblxuICAgICAgaWYgKCF0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2l2ZUJyZWFrcG9pbnQgPSBgKG1heC13aWR0aDogJHt0aGlzLnJlc3BvbnNpdmVCcmVha3BvaW50fSlgO1xuXG4gICAgICBjb25zdCBsYXlvdXRDaGFuZ2VzID0gdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZShbcmVzcG9uc2l2ZUJyZWFrcG9pbnRdKTtcblxuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uID0gbGF5b3V0Q2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoYnJlYWtwb2ludFN0YXRlID0+ICFicmVha3BvaW50U3RhdGUubWF0Y2hlcylcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChicmVha3BvaW50U3RhdGU6IEJyZWFrcG9pbnRTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYnJlYWtwb2ludFN0YXRlLm1hdGNoZXM7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNka1RyYXBGb2N1cyBjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZT5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG5cbiJdfQ==