@coreui/angular 3.0.0-alpha.7 → 4.0.0-alpha.1

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 (898) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -30
  3. package/bundles/coreui-angular.umd.js +10596 -6203
  4. package/bundles/coreui-angular.umd.js.map +1 -1
  5. package/coreui-angular.d.ts +1 -76
  6. package/esm2015/coreui-angular.js +1 -77
  7. package/esm2015/lib/accordion/accordion/accordion.component.js +46 -0
  8. package/esm2015/lib/accordion/accordion-button/accordion-button.directive.js +30 -0
  9. package/esm2015/lib/accordion/accordion-item/accordion-item.component.js +60 -0
  10. package/esm2015/lib/accordion/accordion.module.js +46 -21
  11. package/esm2015/lib/accordion/accordion.service.js +36 -0
  12. package/esm2015/lib/accordion/index.js +2 -0
  13. package/esm2015/lib/accordion/public_api.js +5 -0
  14. package/esm2015/lib/alert/alert-heading.directive.js +22 -0
  15. package/esm2015/lib/alert/alert-link.directive.js +22 -0
  16. package/esm2015/lib/alert/alert.component.js +159 -183
  17. package/esm2015/lib/alert/alert.module.js +37 -18
  18. package/esm2015/lib/alert/index.js +2 -0
  19. package/esm2015/lib/alert/public_api.js +5 -0
  20. package/esm2015/lib/avatar/avatar.component.js +53 -0
  21. package/esm2015/lib/avatar/avatar.module.js +26 -0
  22. package/esm2015/lib/avatar/index.js +2 -0
  23. package/esm2015/lib/avatar/public_api.js +3 -0
  24. package/esm2015/lib/backdrop/backdrop.service.js +52 -0
  25. package/esm2015/lib/badge/badge.component.js +44 -49
  26. package/esm2015/lib/badge/badge.module.js +23 -18
  27. package/esm2015/lib/badge/index.js +2 -0
  28. package/esm2015/lib/badge/public_api.js +3 -0
  29. package/esm2015/lib/breadcrumb/breadcrumb/breadcrumb.component.js +47 -0
  30. package/esm2015/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.js +41 -0
  31. package/esm2015/lib/breadcrumb/breadcrumb-item/breadcrumb-item.js +2 -0
  32. package/esm2015/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.js +45 -0
  33. package/esm2015/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.js +53 -0
  34. package/esm2015/lib/breadcrumb/breadcrumb.module.js +32 -16
  35. package/esm2015/lib/breadcrumb/index.js +2 -0
  36. package/esm2015/lib/breadcrumb/public_api.js +5 -0
  37. package/esm2015/lib/button/button-close.directive.js +43 -0
  38. package/esm2015/lib/button/button.directive.js +96 -87
  39. package/esm2015/lib/button/button.module.js +27 -32
  40. package/esm2015/lib/button/index.js +2 -0
  41. package/esm2015/lib/button/public_api.js +4 -0
  42. package/esm2015/lib/button-group/button-group/button-group.component.js +41 -0
  43. package/esm2015/lib/button-group/button-group.module.js +31 -0
  44. package/esm2015/lib/button-group/button-toolbar/button-toolbar.component.js +35 -0
  45. package/esm2015/lib/button-group/index.js +2 -0
  46. package/esm2015/lib/button-group/public_api.js +4 -0
  47. package/esm2015/lib/callout/callout.component.js +23 -27
  48. package/esm2015/lib/callout/callout.module.js +18 -13
  49. package/esm2015/lib/callout/index.js +2 -0
  50. package/esm2015/lib/callout/public_api.js +3 -0
  51. package/esm2015/lib/card/card-body.component.js +19 -38
  52. package/esm2015/lib/card/card-footer.component.js +19 -38
  53. package/esm2015/lib/card/card-group.component.js +20 -29
  54. package/esm2015/lib/card/card-header-actions.component.js +16 -14
  55. package/esm2015/lib/card/card-header.component.js +19 -38
  56. package/esm2015/lib/card/card-img-overlay/card-img-overlay.component.js +23 -0
  57. package/esm2015/lib/card/card-img.directive.js +25 -0
  58. package/esm2015/lib/card/card-link.directive.js +21 -0
  59. package/esm2015/lib/card/card-subtitle.directive.js +21 -0
  60. package/esm2015/lib/card/card-text.directive.js +21 -0
  61. package/esm2015/lib/card/card-title.directive.js +21 -0
  62. package/esm2015/lib/card/card.component.js +25 -41
  63. package/esm2015/lib/card/card.module.js +72 -27
  64. package/esm2015/lib/card/index.js +1 -1
  65. package/esm2015/lib/card/public_api.js +7 -1
  66. package/esm2015/lib/carousel/carousel/carousel.component.js +140 -0
  67. package/esm2015/lib/carousel/carousel-caption/carousel-caption.component.js +21 -0
  68. package/esm2015/lib/carousel/carousel-control/carousel-control.component.js +88 -0
  69. package/esm2015/lib/carousel/carousel-indicators/carousel-indicators.component.js +51 -0
  70. package/esm2015/lib/carousel/carousel-inner/carousel-inner.component.js +53 -0
  71. package/esm2015/lib/carousel/carousel-item/carousel-item.component.js +65 -0
  72. package/esm2015/lib/carousel/carousel-state.js +72 -0
  73. package/esm2015/lib/carousel/carousel-state.type.js +2 -0
  74. package/esm2015/lib/carousel/carousel.animation.js +70 -0
  75. package/esm2015/lib/carousel/carousel.config.js +22 -0
  76. package/esm2015/lib/carousel/carousel.module.js +54 -0
  77. package/esm2015/lib/carousel/carousel.service.js +18 -0
  78. package/esm2015/lib/carousel/index.js +2 -0
  79. package/esm2015/lib/carousel/public_api.js +9 -0
  80. package/esm2015/lib/collapse/collapse.animations.js +1 -1
  81. package/esm2015/lib/collapse/collapse.directive.js +91 -73
  82. package/esm2015/lib/collapse/collapse.module.js +19 -15
  83. package/esm2015/lib/collapse/index.js +1 -1
  84. package/esm2015/lib/collapse/public_api.js +1 -1
  85. package/esm2015/lib/coreui.types.js +10 -0
  86. package/esm2015/lib/dropdown/dropdown/dropdown.component.js +304 -0
  87. package/esm2015/lib/dropdown/dropdown-divider/dropdown-divider.directive.js +23 -0
  88. package/esm2015/lib/dropdown/dropdown-header/dropdown-header.directive.js +23 -0
  89. package/esm2015/lib/dropdown/dropdown-item/dropdown-item-plain.directive.js +23 -0
  90. package/esm2015/lib/dropdown/dropdown-item/dropdown-item.directive.js +68 -0
  91. package/esm2015/lib/dropdown/dropdown-menu/dropdown-menu.directive.js +81 -0
  92. package/esm2015/lib/dropdown/dropdown.module.js +58 -51
  93. package/esm2015/lib/dropdown/dropdown.service.js +8 -9
  94. package/esm2015/lib/dropdown/index.js +2 -0
  95. package/esm2015/lib/dropdown/public_api.js +9 -0
  96. package/esm2015/lib/footer/footer.component.js +38 -0
  97. package/esm2015/lib/footer/footer.module.js +26 -0
  98. package/esm2015/lib/footer/index.js +2 -0
  99. package/esm2015/lib/footer/public_api.js +3 -0
  100. package/esm2015/lib/form/form/form.directive.js +33 -27
  101. package/esm2015/lib/form/form-check/form-check-input.directive.js +60 -0
  102. package/esm2015/lib/form/form-check/form-check-label.directive.js +21 -0
  103. package/esm2015/lib/form/form-check/form-check.component.js +72 -47
  104. package/esm2015/lib/form/form-control/form-control.directive.js +71 -0
  105. package/esm2015/lib/form/form-feedback/form-feedback.component.js +37 -29
  106. package/esm2015/lib/form/form-floating/form-floating.directive.js +38 -0
  107. package/esm2015/lib/form/form-label/form-label.directive.js +39 -0
  108. package/esm2015/lib/form/form-select/form-select.directive.js +34 -0
  109. package/esm2015/lib/form/form-text/form-text.directive.js +22 -0
  110. package/esm2015/lib/form/form.module.js +71 -51
  111. package/esm2015/lib/form/index.js +2 -0
  112. package/esm2015/lib/form/input-group/input-group.component.js +25 -27
  113. package/esm2015/lib/form/input-group-text/input-group-text.directive.js +22 -0
  114. package/esm2015/lib/form/public_api.js +14 -0
  115. package/esm2015/lib/grid/col.component.js +14 -12
  116. package/esm2015/lib/grid/col.directive.js +144 -62
  117. package/esm2015/lib/grid/col.type.js +2 -0
  118. package/esm2015/lib/grid/container.component.js +41 -27
  119. package/esm2015/lib/grid/container.type.js +2 -0
  120. package/esm2015/lib/grid/grid.module.js +41 -25
  121. package/esm2015/lib/grid/gutter.directive.js +56 -0
  122. package/esm2015/lib/grid/gutter.type.js +2 -0
  123. package/esm2015/lib/grid/index.js +2 -0
  124. package/esm2015/lib/grid/public_api.js +8 -0
  125. package/esm2015/lib/grid/row.component.js +14 -12
  126. package/esm2015/lib/grid/row.directive.js +42 -36
  127. package/esm2015/lib/grid/row.type.js +2 -0
  128. package/esm2015/lib/header/header/header.component.js +50 -0
  129. package/esm2015/lib/header/header-brand/header-brand.component.js +31 -0
  130. package/esm2015/lib/header/header-divider/header-divider.component.js +20 -0
  131. package/esm2015/lib/header/header-nav/header-nav.component.js +32 -0
  132. package/esm2015/lib/header/header-text/header-text.component.js +20 -0
  133. package/esm2015/lib/header/header-toggler/header-toggler.directive.js +54 -0
  134. package/esm2015/lib/header/header.module.js +51 -0
  135. package/esm2015/lib/header/index.js +2 -0
  136. package/esm2015/lib/header/public_api.js +8 -0
  137. package/esm2015/lib/image/img.directive.js +80 -54
  138. package/esm2015/lib/image/img.module.js +22 -17
  139. package/esm2015/lib/image/index.js +2 -0
  140. package/esm2015/lib/image/public_api.js +3 -0
  141. package/esm2015/lib/list-group/index.js +2 -0
  142. package/esm2015/lib/list-group/list-group-item.directive.js +67 -64
  143. package/esm2015/lib/list-group/list-group.directive.js +37 -31
  144. package/esm2015/lib/list-group/list-group.module.js +22 -16
  145. package/esm2015/lib/list-group/public_api.js +4 -0
  146. package/esm2015/lib/modal/index.js +2 -0
  147. package/esm2015/lib/modal/modal/modal.component.js +309 -0
  148. package/esm2015/lib/modal/modal-body/modal-body.component.js +23 -0
  149. package/esm2015/lib/modal/modal-content/modal-content.component.js +37 -0
  150. package/esm2015/lib/modal/modal-dialog/modal-dialog.component.js +36 -0
  151. package/esm2015/lib/modal/modal-dismiss/modal-toggle.directive.js +27 -0
  152. package/esm2015/lib/modal/modal-footer/modal-footer.component.js +22 -0
  153. package/esm2015/lib/modal/modal-header/modal-header.component.js +24 -0
  154. package/esm2015/lib/modal/modal-title/modal-title.directive.js +21 -0
  155. package/esm2015/lib/modal/modal.module.js +69 -15
  156. package/esm2015/lib/modal/modal.service.js +21 -0
  157. package/esm2015/lib/modal/public_api.js +11 -0
  158. package/esm2015/lib/nav/index.js +2 -0
  159. package/esm2015/lib/nav/nav-item.component.js +20 -26
  160. package/esm2015/lib/nav/nav-link.directive.js +71 -41
  161. package/esm2015/lib/nav/nav.component.js +28 -48
  162. package/esm2015/lib/nav/nav.module.js +18 -13
  163. package/esm2015/lib/nav/public_api.js +5 -0
  164. package/esm2015/lib/navbar/index.js +2 -0
  165. package/esm2015/lib/navbar/navbar-brand/navbar-brand.directive.js +23 -0
  166. package/esm2015/lib/navbar/navbar-nav/navbar-nav.component.js +38 -18
  167. package/esm2015/lib/navbar/navbar-text/navbar-text.component.js +16 -15
  168. package/esm2015/lib/navbar/navbar-toggler/navbar-toggler.directive.js +64 -0
  169. package/esm2015/lib/navbar/navbar.component.js +69 -65
  170. package/esm2015/lib/navbar/navbar.module.js +42 -24
  171. package/esm2015/lib/navbar/public_api.js +7 -0
  172. package/esm2015/lib/offcanvas/index.js +2 -0
  173. package/esm2015/lib/offcanvas/offcanvas/offcanvas.component.js +251 -0
  174. package/esm2015/lib/offcanvas/offcanvas-body/offcanvas-body.component.js +23 -0
  175. package/esm2015/lib/offcanvas/offcanvas-header/offcanvas-header.component.js +23 -0
  176. package/esm2015/lib/offcanvas/offcanvas-title/offcanvas-title.directive.js +21 -0
  177. package/esm2015/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.js +27 -0
  178. package/esm2015/lib/offcanvas/offcanvas.module.js +59 -0
  179. package/esm2015/lib/offcanvas/offcanvas.service.js +21 -0
  180. package/esm2015/lib/offcanvas/public_api.js +8 -0
  181. package/esm2015/lib/pagination/index.js +2 -0
  182. package/esm2015/lib/pagination/page-item/page-item.component.js +16 -0
  183. package/esm2015/lib/pagination/page-item/page-item.directive.js +62 -0
  184. package/esm2015/lib/pagination/page-link/page-link.directive.js +21 -0
  185. package/esm2015/lib/pagination/pagination/pagination.component.js +45 -0
  186. package/esm2015/lib/pagination/pagination.module.js +41 -0
  187. package/esm2015/lib/pagination/public_api.js +6 -0
  188. package/esm2015/lib/popover/index.js +2 -0
  189. package/esm2015/lib/popover/popover/popover.component.js +96 -0
  190. package/esm2015/lib/popover/popover.directive.js +193 -0
  191. package/esm2015/lib/popover/popover.module.js +31 -0
  192. package/esm2015/lib/popover/public_api.js +4 -0
  193. package/esm2015/lib/progress/index.js +2 -0
  194. package/esm2015/lib/progress/progress-bar.component.js +77 -70
  195. package/esm2015/lib/progress/progress-bar.js +2 -0
  196. package/esm2015/lib/progress/progress.component.js +68 -26
  197. package/esm2015/lib/progress/progress.module.js +22 -16
  198. package/esm2015/lib/progress/public_api.js +4 -0
  199. package/esm2015/lib/services/class-toggle.service.js +15 -18
  200. package/esm2015/lib/services/index.js +1 -1
  201. package/esm2015/lib/services/listeners.service.js +44 -0
  202. package/esm2015/lib/services/public_api.js +1 -1
  203. package/esm2015/lib/shared/html-attr.directive.js +19 -20
  204. package/esm2015/lib/shared/index.js +1 -1
  205. package/esm2015/lib/shared/public_api.js +2 -4
  206. package/esm2015/lib/shared/shared.module.js +40 -27
  207. package/esm2015/lib/shared/template-id.directive.js +19 -0
  208. package/esm2015/lib/sidebar/index.js +1 -1
  209. package/esm2015/lib/sidebar/public_api.js +8 -11
  210. package/esm2015/lib/sidebar/sidebar/sidebar.component.js +214 -0
  211. package/esm2015/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.js +60 -0
  212. package/esm2015/lib/sidebar/sidebar-brand/sidebar-brand.component.js +33 -0
  213. package/esm2015/lib/sidebar/sidebar-footer/sidebar-footer.component.js +24 -0
  214. package/esm2015/lib/sidebar/sidebar-header/sidebar-header.component.js +24 -0
  215. package/esm2015/lib/sidebar/sidebar-nav/index.js +1 -1
  216. package/esm2015/lib/sidebar/sidebar-nav/public_api.js +10 -10
  217. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.js +20 -16
  218. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.js +17 -16
  219. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.js +15 -13
  220. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.js +17 -18
  221. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-label.component.js +22 -18
  222. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-link.component.js +53 -49
  223. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.js +20 -15
  224. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-title.component.js +19 -20
  225. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav.component.js +125 -56
  226. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav.js +2 -1
  227. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav.service.js +20 -16
  228. package/esm2015/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.js +40 -0
  229. package/esm2015/lib/sidebar/sidebar-toggler/sidebar-toggler.component.js +26 -0
  230. package/esm2015/lib/sidebar/sidebar.module.js +93 -91
  231. package/esm2015/lib/sidebar/sidebar.service.js +11 -11
  232. package/esm2015/lib/spinner/index.js +2 -0
  233. package/esm2015/lib/spinner/public_api.js +3 -0
  234. package/esm2015/lib/spinner/spinner.component.js +45 -41
  235. package/esm2015/lib/spinner/spinner.module.js +24 -17
  236. package/esm2015/lib/table/index.js +2 -0
  237. package/esm2015/lib/table/public_api.js +5 -0
  238. package/esm2015/lib/table/table-active.directive.js +40 -0
  239. package/esm2015/lib/table/table-color.directive.js +24 -0
  240. package/esm2015/lib/table/table.directive.js +131 -0
  241. package/esm2015/lib/table/table.module.js +36 -0
  242. package/esm2015/lib/tabs/index.js +2 -0
  243. package/esm2015/lib/tabs/public_api.js +6 -0
  244. package/esm2015/lib/tabs/tab-content/tab-content.component.js +101 -0
  245. package/esm2015/lib/tabs/tab-content-ref.directive.js +130 -0
  246. package/esm2015/lib/tabs/tab-pane/tab-pane.component.js +62 -0
  247. package/esm2015/lib/tabs/tab.service.js +21 -0
  248. package/esm2015/lib/tabs/tabs.module.js +42 -0
  249. package/esm2015/lib/toast/index.js +2 -0
  250. package/esm2015/lib/toast/public_api.js +9 -0
  251. package/esm2015/lib/toast/toast/toast.component.js +244 -0
  252. package/esm2015/lib/toast/toast-body/toast-body.component.js +26 -0
  253. package/esm2015/lib/toast/toast-close.directive.js +28 -0
  254. package/esm2015/lib/toast/toast-header/toast-header.component.js +36 -0
  255. package/esm2015/lib/toast/toast.module.js +50 -0
  256. package/esm2015/lib/toast/toaster/toaster-host.directive.js +17 -0
  257. package/esm2015/lib/toast/toaster/toaster.component.js +149 -0
  258. package/esm2015/lib/toast/toaster/toaster.service.js +21 -0
  259. package/esm2015/lib/tooltip/index.js +2 -0
  260. package/esm2015/lib/tooltip/public_api.js +4 -0
  261. package/esm2015/lib/tooltip/tooltip/tooltip.component.js +92 -0
  262. package/esm2015/lib/tooltip/tooltip.directive.js +188 -0
  263. package/esm2015/lib/tooltip/tooltip.module.js +31 -0
  264. package/esm2015/lib/utilities/align.directive.js +24 -0
  265. package/esm2015/lib/utilities/bg-color.directive.js +33 -0
  266. package/esm2015/lib/utilities/border.directive.js +66 -0
  267. package/esm2015/lib/utilities/border.type.js +2 -0
  268. package/esm2015/lib/utilities/index.js +2 -0
  269. package/esm2015/lib/utilities/public_api.js +7 -0
  270. package/esm2015/lib/utilities/rounded.directive.js +56 -0
  271. package/esm2015/lib/utilities/rounded.type.js +2 -0
  272. package/esm2015/lib/utilities/text-color.directive.js +32 -0
  273. package/esm2015/lib/utilities/utilities.module.js +46 -0
  274. package/esm2015/lib/widget/index.js +2 -0
  275. package/esm2015/lib/widget/public_api.js +8 -0
  276. package/esm2015/lib/widget/widget-stat-a/widget-stat-a.component.js +54 -0
  277. package/esm2015/lib/widget/widget-stat-b/widget-stat-b.component.js +57 -0
  278. package/esm2015/lib/widget/widget-stat-c/widget-stat-c.component.js +85 -0
  279. package/esm2015/lib/widget/widget-stat-d/widget-stat-d.component.js +44 -0
  280. package/esm2015/lib/widget/widget-stat-e/widget-stat-e.component.js +35 -0
  281. package/esm2015/lib/widget/widget-stat-f/widget-stat-f.component.js +101 -0
  282. package/esm2015/lib/widget/widget.module.js +56 -36
  283. package/esm2015/public-api.js +36 -30
  284. package/fesm2015/coreui-angular.js +8864 -5232
  285. package/fesm2015/coreui-angular.js.map +1 -1
  286. package/lib/accordion/accordion/accordion.component.d.ts +22 -0
  287. package/lib/accordion/accordion-button/accordion-button.directive.d.ts +12 -0
  288. package/lib/accordion/accordion-item/accordion-item.component.d.ts +26 -0
  289. package/lib/accordion/accordion.module.d.ts +10 -0
  290. package/lib/accordion/accordion.service.d.ts +13 -0
  291. package/lib/{layout/body → accordion}/index.d.ts +0 -0
  292. package/lib/accordion/public_api.d.ts +4 -0
  293. package/lib/alert/alert-heading.directive.d.ts +7 -0
  294. package/lib/alert/alert-link.directive.d.ts +7 -0
  295. package/lib/alert/alert.component.d.ts +53 -30
  296. package/lib/alert/alert.module.d.ts +9 -0
  297. package/lib/{layout/footer → alert}/index.d.ts +0 -0
  298. package/lib/alert/public_api.d.ts +4 -0
  299. package/lib/avatar/avatar.component.d.ts +40 -0
  300. package/lib/avatar/avatar.module.d.ts +8 -0
  301. package/lib/{layout/header → avatar}/index.d.ts +0 -0
  302. package/lib/avatar/public_api.d.ts +2 -0
  303. package/lib/backdrop/backdrop.service.d.ts +16 -0
  304. package/lib/badge/badge.component.d.ts +30 -9
  305. package/lib/badge/badge.module.d.ts +6 -0
  306. package/lib/{layout → badge}/index.d.ts +0 -0
  307. package/lib/badge/public_api.d.ts +2 -0
  308. package/lib/breadcrumb/breadcrumb/breadcrumb.component.d.ts +21 -0
  309. package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.d.ts +28 -0
  310. package/lib/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +9 -0
  311. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.d.ts +21 -0
  312. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +14 -0
  313. package/lib/breadcrumb/breadcrumb.module.d.ts +10 -0
  314. package/lib/{layout/subheader → breadcrumb}/index.d.ts +0 -0
  315. package/lib/breadcrumb/public_api.d.ts +5 -0
  316. package/lib/button/button-close.directive.d.ts +16 -0
  317. package/lib/button/button.directive.d.ts +52 -18
  318. package/lib/button/button.module.d.ts +7 -0
  319. package/lib/{tabset → button}/index.d.ts +0 -0
  320. package/lib/button/public_api.d.ts +3 -0
  321. package/lib/button-group/button-group/button-group.component.d.ts +23 -0
  322. package/lib/button-group/button-group.module.d.ts +9 -0
  323. package/lib/button-group/button-toolbar/button-toolbar.component.d.ts +13 -0
  324. package/lib/{layout/wrapper → button-group}/index.d.ts +0 -0
  325. package/lib/button-group/public_api.d.ts +3 -0
  326. package/lib/callout/callout.component.d.ts +9 -2
  327. package/lib/callout/callout.module.d.ts +6 -0
  328. package/lib/callout/index.d.ts +1 -0
  329. package/lib/callout/public_api.d.ts +2 -0
  330. package/lib/card/card-body.component.d.ts +3 -5
  331. package/lib/card/card-footer.component.d.ts +3 -5
  332. package/lib/card/card-group.component.d.ts +4 -4
  333. package/lib/card/card-header-actions.component.d.ts +3 -0
  334. package/lib/card/card-header.component.d.ts +3 -5
  335. package/lib/card/card-img-overlay/card-img-overlay.component.d.ts +6 -0
  336. package/lib/card/card-img.directive.d.ts +11 -0
  337. package/lib/card/card-link.directive.d.ts +6 -0
  338. package/lib/card/card-subtitle.directive.d.ts +6 -0
  339. package/lib/card/card-text.directive.d.ts +6 -0
  340. package/lib/card/card-title.directive.d.ts +6 -0
  341. package/lib/card/card.component.d.ts +15 -6
  342. package/lib/card/card.module.d.ts +17 -0
  343. package/lib/card/public_api.d.ts +6 -0
  344. package/lib/carousel/carousel/carousel.component.d.ts +60 -0
  345. package/lib/carousel/carousel-caption/carousel-caption.component.d.ts +7 -0
  346. package/lib/carousel/carousel-control/carousel-control.component.d.ts +31 -0
  347. package/lib/carousel/carousel-indicators/carousel-indicators.component.d.ts +18 -0
  348. package/lib/carousel/carousel-inner/carousel-inner.component.d.ts +21 -0
  349. package/lib/carousel/carousel-item/carousel-item.component.d.ts +24 -0
  350. package/lib/carousel/carousel-state.d.ts +16 -0
  351. package/lib/carousel/carousel-state.type.d.ts +15 -0
  352. package/lib/carousel/carousel.animation.d.ts +4 -0
  353. package/lib/carousel/carousel.config.d.ts +10 -0
  354. package/lib/carousel/carousel.module.d.ts +15 -0
  355. package/lib/carousel/carousel.service.d.ts +12 -0
  356. package/lib/carousel/index.d.ts +1 -0
  357. package/lib/carousel/public_api.d.ts +8 -0
  358. package/lib/collapse/collapse.directive.d.ts +38 -12
  359. package/lib/collapse/collapse.module.d.ts +6 -0
  360. package/lib/coreui.types.d.ts +44 -0
  361. package/lib/dropdown/dropdown/dropdown.component.d.ts +111 -0
  362. package/lib/dropdown/dropdown-divider/dropdown-divider.directive.d.ts +7 -0
  363. package/lib/dropdown/dropdown-header/dropdown-header.directive.d.ts +7 -0
  364. package/lib/dropdown/dropdown-item/dropdown-item-plain.directive.d.ts +7 -0
  365. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +27 -0
  366. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +36 -0
  367. package/lib/dropdown/dropdown.module.d.ts +11 -2
  368. package/lib/dropdown/dropdown.service.d.ts +8 -1
  369. package/lib/dropdown/index.d.ts +1 -0
  370. package/lib/dropdown/public_api.d.ts +8 -0
  371. package/lib/footer/footer.component.d.ts +18 -0
  372. package/lib/footer/footer.module.d.ts +8 -0
  373. package/lib/footer/index.d.ts +1 -0
  374. package/lib/{layout/footer → footer}/public_api.d.ts +1 -0
  375. package/lib/form/form/form.directive.d.ts +14 -10
  376. package/lib/form/form-check/form-check-input.directive.d.ts +31 -0
  377. package/lib/form/form-check/form-check-label.directive.d.ts +6 -0
  378. package/lib/form/form-check/form-check.component.d.ts +35 -20
  379. package/lib/form/form-control/form-control.directive.d.ts +34 -0
  380. package/lib/form/form-feedback/form-feedback.component.d.ts +16 -9
  381. package/lib/form/form-floating/form-floating.directive.d.ts +16 -0
  382. package/lib/form/form-label/form-label.directive.d.ts +16 -0
  383. package/lib/form/form-select/form-select.directive.d.ts +16 -0
  384. package/lib/form/form-text/form-text.directive.d.ts +7 -0
  385. package/lib/form/form.module.d.ts +17 -0
  386. package/lib/form/index.d.ts +1 -0
  387. package/lib/form/input-group/input-group.component.d.ts +9 -12
  388. package/lib/form/input-group-text/input-group-text.directive.d.ts +7 -0
  389. package/lib/form/public_api.d.ts +13 -0
  390. package/lib/grid/col.component.d.ts +3 -0
  391. package/lib/grid/col.directive.d.ts +72 -18
  392. package/lib/grid/col.type.d.ts +11 -0
  393. package/lib/grid/container.component.d.ts +18 -3
  394. package/lib/grid/container.type.d.ts +5 -0
  395. package/lib/grid/grid.module.d.ts +11 -0
  396. package/lib/grid/gutter.directive.d.ts +13 -0
  397. package/lib/grid/gutter.type.d.ts +13 -0
  398. package/lib/grid/index.d.ts +1 -0
  399. package/lib/grid/public_api.d.ts +7 -0
  400. package/lib/grid/row.component.d.ts +3 -0
  401. package/lib/grid/row.directive.d.ts +36 -6
  402. package/lib/grid/row.type.d.ts +9 -0
  403. package/lib/header/header/header.component.d.ts +25 -0
  404. package/lib/header/header-brand/header-brand.component.d.ts +12 -0
  405. package/lib/header/header-divider/header-divider.component.d.ts +6 -0
  406. package/lib/header/header-nav/header-nav.component.d.ts +12 -0
  407. package/lib/header/header-text/header-text.component.d.ts +6 -0
  408. package/lib/header/header-toggler/header-toggler.directive.d.ts +25 -0
  409. package/lib/header/header.module.d.ts +13 -0
  410. package/lib/header/index.d.ts +1 -0
  411. package/lib/header/public_api.d.ts +7 -0
  412. package/lib/image/img.directive.d.ts +38 -14
  413. package/lib/image/img.module.d.ts +6 -0
  414. package/lib/image/index.d.ts +1 -0
  415. package/lib/image/public_api.d.ts +2 -0
  416. package/lib/list-group/index.d.ts +1 -0
  417. package/lib/list-group/list-group-item.directive.d.ts +30 -14
  418. package/lib/list-group/list-group.directive.d.ts +17 -4
  419. package/lib/list-group/list-group.module.d.ts +7 -0
  420. package/lib/list-group/public_api.d.ts +3 -0
  421. package/lib/modal/index.d.ts +1 -0
  422. package/lib/modal/modal/modal.component.d.ts +102 -0
  423. package/lib/modal/modal-body/modal-body.component.d.ts +6 -0
  424. package/lib/modal/modal-content/modal-content.component.d.ts +12 -0
  425. package/lib/modal/modal-dialog/modal-dialog.component.d.ts +25 -0
  426. package/lib/modal/modal-dismiss/modal-toggle.directive.d.ts +13 -0
  427. package/lib/modal/modal-footer/modal-footer.component.d.ts +6 -0
  428. package/lib/modal/modal-header/modal-header.component.d.ts +6 -0
  429. package/lib/modal/modal-title/modal-title.directive.d.ts +6 -0
  430. package/lib/modal/modal.module.d.ts +14 -0
  431. package/lib/modal/modal.service.d.ts +15 -0
  432. package/lib/modal/public_api.d.ts +10 -0
  433. package/lib/nav/index.d.ts +1 -0
  434. package/lib/nav/nav-item.component.d.ts +4 -5
  435. package/lib/nav/nav-link.directive.d.ts +30 -7
  436. package/lib/nav/nav.component.d.ts +14 -10
  437. package/lib/nav/nav.module.d.ts +8 -0
  438. package/lib/nav/public_api.d.ts +4 -0
  439. package/lib/navbar/index.d.ts +1 -0
  440. package/lib/navbar/navbar-brand/navbar-brand.directive.d.ts +7 -0
  441. package/lib/navbar/navbar-nav/navbar-nav.component.d.ts +14 -5
  442. package/lib/navbar/navbar-text/navbar-text.component.d.ts +4 -4
  443. package/lib/navbar/navbar-toggler/navbar-toggler.directive.d.ts +33 -0
  444. package/lib/navbar/navbar.component.d.ts +31 -12
  445. package/lib/navbar/navbar.module.d.ts +11 -0
  446. package/lib/navbar/public_api.d.ts +6 -0
  447. package/lib/offcanvas/index.d.ts +1 -0
  448. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +82 -0
  449. package/lib/offcanvas/offcanvas-body/offcanvas-body.component.d.ts +6 -0
  450. package/lib/offcanvas/offcanvas-header/offcanvas-header.component.d.ts +6 -0
  451. package/lib/offcanvas/offcanvas-title/offcanvas-title.directive.d.ts +6 -0
  452. package/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.d.ts +14 -0
  453. package/lib/offcanvas/offcanvas.module.d.ts +13 -0
  454. package/lib/offcanvas/offcanvas.service.d.ts +15 -0
  455. package/lib/offcanvas/public_api.d.ts +7 -0
  456. package/lib/pagination/index.d.ts +1 -0
  457. package/lib/pagination/page-item/page-item.component.d.ts +6 -0
  458. package/lib/pagination/page-item/page-item.directive.d.ts +24 -0
  459. package/lib/pagination/page-link/page-link.directive.d.ts +6 -0
  460. package/lib/pagination/pagination/pagination.component.d.ts +22 -0
  461. package/lib/pagination/pagination.module.d.ts +11 -0
  462. package/lib/pagination/public_api.d.ts +5 -0
  463. package/lib/popover/index.d.ts +1 -0
  464. package/lib/popover/popover/popover.component.d.ts +30 -0
  465. package/lib/popover/popover.directive.d.ts +58 -0
  466. package/lib/popover/popover.module.d.ts +9 -0
  467. package/lib/popover/public_api.d.ts +3 -0
  468. package/lib/progress/index.d.ts +1 -0
  469. package/lib/progress/progress-bar.component.d.ts +39 -11
  470. package/lib/progress/progress-bar.d.ts +10 -0
  471. package/lib/progress/progress.component.d.ts +29 -2
  472. package/lib/progress/progress.module.d.ts +7 -0
  473. package/lib/progress/public_api.d.ts +4 -0
  474. package/lib/services/class-toggle.service.d.ts +3 -0
  475. package/lib/services/listeners.service.d.ts +19 -0
  476. package/lib/shared/html-attr.directive.d.ts +3 -0
  477. package/lib/shared/public_api.d.ts +1 -3
  478. package/lib/shared/shared.module.d.ts +7 -0
  479. package/lib/shared/template-id.directive.d.ts +9 -0
  480. package/lib/sidebar/public_api.d.ts +8 -11
  481. package/lib/sidebar/sidebar/sidebar.component.d.ts +80 -0
  482. package/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.d.ts +16 -0
  483. package/lib/sidebar/sidebar-brand/sidebar-brand.component.d.ts +12 -0
  484. package/lib/sidebar/sidebar-footer/sidebar-footer.component.d.ts +7 -0
  485. package/lib/sidebar/sidebar-header/sidebar-header.component.d.ts +7 -0
  486. package/lib/sidebar/sidebar-nav/public_api.d.ts +8 -10
  487. package/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.d.ts +3 -0
  488. package/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.d.ts +4 -3
  489. package/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.d.ts +3 -0
  490. package/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.d.ts +3 -0
  491. package/lib/sidebar/sidebar-nav/sidebar-nav-label.component.d.ts +3 -0
  492. package/lib/sidebar/sidebar-nav/sidebar-nav-link.component.d.ts +9 -8
  493. package/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.d.ts +3 -0
  494. package/lib/sidebar/sidebar-nav/sidebar-nav-title.component.d.ts +3 -0
  495. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +34 -8
  496. package/lib/sidebar/sidebar-nav/sidebar-nav.d.ts +3 -1
  497. package/lib/sidebar/sidebar-nav/sidebar-nav.service.d.ts +11 -7
  498. package/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.d.ts +25 -0
  499. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +7 -0
  500. package/lib/sidebar/sidebar.module.d.ts +23 -0
  501. package/lib/sidebar/sidebar.service.d.ts +10 -3
  502. package/lib/spinner/index.d.ts +1 -0
  503. package/lib/spinner/public_api.d.ts +2 -0
  504. package/lib/spinner/spinner.component.d.ts +27 -4
  505. package/lib/spinner/spinner.module.d.ts +7 -0
  506. package/lib/table/index.d.ts +1 -0
  507. package/lib/table/public_api.d.ts +4 -0
  508. package/lib/table/table-active.directive.d.ts +16 -0
  509. package/lib/table/table-color.directive.d.ts +12 -0
  510. package/lib/table/table.directive.d.ts +80 -0
  511. package/lib/table/table.module.d.ts +10 -0
  512. package/lib/tabs/index.d.ts +1 -0
  513. package/lib/tabs/public_api.d.ts +5 -0
  514. package/lib/tabs/tab-content/tab-content.component.d.ts +33 -0
  515. package/lib/tabs/tab-content-ref.directive.d.ts +50 -0
  516. package/lib/tabs/tab-pane/tab-pane.component.d.ts +26 -0
  517. package/lib/tabs/tab.service.d.ts +14 -0
  518. package/lib/tabs/tabs.module.d.ts +10 -0
  519. package/lib/toast/index.d.ts +1 -0
  520. package/lib/toast/public_api.d.ts +8 -0
  521. package/lib/toast/toast/toast.component.d.ts +84 -0
  522. package/lib/toast/toast-body/toast-body.component.d.ts +9 -0
  523. package/lib/toast/toast-close.directive.d.ts +10 -0
  524. package/lib/toast/toast-header/toast-header.component.d.ts +14 -0
  525. package/lib/toast/toast.module.d.ts +14 -0
  526. package/lib/toast/toaster/toaster-host.directive.d.ts +8 -0
  527. package/lib/toast/toaster/toaster.component.d.ts +55 -0
  528. package/lib/toast/toaster/toaster.service.d.ts +16 -0
  529. package/lib/tooltip/index.d.ts +1 -0
  530. package/lib/tooltip/public_api.d.ts +3 -0
  531. package/lib/tooltip/tooltip/tooltip.component.d.ts +30 -0
  532. package/lib/tooltip/tooltip.directive.d.ts +58 -0
  533. package/lib/tooltip/tooltip.module.d.ts +9 -0
  534. package/lib/utilities/align.directive.d.ts +12 -0
  535. package/lib/utilities/bg-color.directive.d.ts +17 -0
  536. package/lib/utilities/border.directive.d.ts +12 -0
  537. package/lib/utilities/border.type.d.ts +15 -0
  538. package/lib/utilities/index.d.ts +1 -0
  539. package/lib/utilities/public_api.d.ts +6 -0
  540. package/lib/utilities/rounded.directive.d.ts +12 -0
  541. package/lib/utilities/rounded.type.d.ts +12 -0
  542. package/lib/utilities/text-color.directive.d.ts +13 -0
  543. package/lib/utilities/utilities.module.d.ts +12 -0
  544. package/lib/widget/index.d.ts +1 -0
  545. package/lib/widget/public_api.d.ts +7 -0
  546. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +37 -0
  547. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +47 -0
  548. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +58 -0
  549. package/lib/widget/widget-stat-d/widget-stat-d.component.d.ts +31 -0
  550. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +24 -0
  551. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +77 -0
  552. package/lib/widget/widget.module.d.ts +13 -0
  553. package/package.json +13 -19
  554. package/public-api.d.ts +34 -27
  555. package/bundles/coreui-angular.umd.min.js +0 -17
  556. package/bundles/coreui-angular.umd.min.js.map +0 -1
  557. package/coreui-angular.metadata.json +0 -1
  558. package/esm2015/lib/accordion/accordion-group.component.js +0 -44
  559. package/esm2015/lib/accordion/accordion.component.js +0 -36
  560. package/esm2015/lib/alert/alert.animations.js +0 -15
  561. package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -50
  562. package/esm2015/lib/breadcrumb/breadcrumb.directive.js +0 -26
  563. package/esm2015/lib/breadcrumb/breadcrumb.js +0 -1
  564. package/esm2015/lib/breadcrumb/breadcrumb.service.js +0 -54
  565. package/esm2015/lib/button/button-group.component.js +0 -57
  566. package/esm2015/lib/button/button-radio-group.directive.js +0 -47
  567. package/esm2015/lib/button/button-radio.directive.js +0 -122
  568. package/esm2015/lib/button/button-toolbar.component.js +0 -54
  569. package/esm2015/lib/button/button.component.js +0 -101
  570. package/esm2015/lib/chart/chart.module.js +0 -21
  571. package/esm2015/lib/chart/no-zone-basechart.directive.js +0 -28
  572. package/esm2015/lib/dropdown/dropdown-divider.component.js +0 -13
  573. package/esm2015/lib/dropdown/dropdown-divider.directive.js +0 -18
  574. package/esm2015/lib/dropdown/dropdown-header.directive.js +0 -18
  575. package/esm2015/lib/dropdown/dropdown-item.directive.js +0 -18
  576. package/esm2015/lib/dropdown/dropdown-menu.directive.js +0 -83
  577. package/esm2015/lib/dropdown/dropdown-toggle.directive.js +0 -56
  578. package/esm2015/lib/dropdown/dropdown.directive.js +0 -118
  579. package/esm2015/lib/dropdown/dropdown.state.js +0 -26
  580. package/esm2015/lib/form/form-group/form-group.component.js +0 -36
  581. package/esm2015/lib/form/form-text/form-text.component.js +0 -37
  582. package/esm2015/lib/form/input/input.directive.js +0 -82
  583. package/esm2015/lib/form/input-group-addon/input-group-addon.component.js +0 -60
  584. package/esm2015/lib/form/input-group-text/input-group-text.component.js +0 -27
  585. package/esm2015/lib/form/label/label.directive.js +0 -51
  586. package/esm2015/lib/form/select/select.directive.js +0 -43
  587. package/esm2015/lib/form/textarea/textarea.directive.js +0 -45
  588. package/esm2015/lib/layout/body/body.component.js +0 -19
  589. package/esm2015/lib/layout/body/index.js +0 -2
  590. package/esm2015/lib/layout/body/public_api.js +0 -2
  591. package/esm2015/lib/layout/footer/footer.component.js +0 -40
  592. package/esm2015/lib/layout/footer/index.js +0 -2
  593. package/esm2015/lib/layout/footer/public_api.js +0 -2
  594. package/esm2015/lib/layout/header/header-brand.component.js +0 -51
  595. package/esm2015/lib/layout/header/header.component.js +0 -47
  596. package/esm2015/lib/layout/header/index.js +0 -2
  597. package/esm2015/lib/layout/header/public_api.js +0 -3
  598. package/esm2015/lib/layout/index.js +0 -2
  599. package/esm2015/lib/layout/layout.module.js +0 -41
  600. package/esm2015/lib/layout/public_api.js +0 -8
  601. package/esm2015/lib/layout/subheader/index.js +0 -2
  602. package/esm2015/lib/layout/subheader/public_api.js +0 -2
  603. package/esm2015/lib/layout/subheader/subheader.component.js +0 -34
  604. package/esm2015/lib/layout/wrapper/index.js +0 -2
  605. package/esm2015/lib/layout/wrapper/public_api.js +0 -2
  606. package/esm2015/lib/layout/wrapper/wrapper.component.js +0 -32
  607. package/esm2015/lib/modal/modal.component.js +0 -115
  608. package/esm2015/lib/navbar/navbar-brand/navbar-brand.component.js +0 -24
  609. package/esm2015/lib/shared/check-bool-prop.js +0 -4
  610. package/esm2015/lib/shared/classes.js +0 -12
  611. package/esm2015/lib/shared/out-click.directive.js +0 -36
  612. package/esm2015/lib/shared/out-click.service.js +0 -21
  613. package/esm2015/lib/sidebar/sidebar-backdrop.component.js +0 -40
  614. package/esm2015/lib/sidebar/sidebar-brand.component.js +0 -52
  615. package/esm2015/lib/sidebar/sidebar-footer.component.js +0 -22
  616. package/esm2015/lib/sidebar/sidebar-form.component.js +0 -22
  617. package/esm2015/lib/sidebar/sidebar-header.component.js +0 -22
  618. package/esm2015/lib/sidebar/sidebar-minimize.directive.js +0 -32
  619. package/esm2015/lib/sidebar/sidebar-minimizer.component.js +0 -21
  620. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.component.js +0 -87
  621. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.directive.js +0 -29
  622. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-items.component.js +0 -70
  623. package/esm2015/lib/sidebar/sidebar-toggle.directive.js +0 -34
  624. package/esm2015/lib/sidebar/sidebar.component.js +0 -287
  625. package/esm2015/lib/spinkit/spinkit.component.js +0 -39
  626. package/esm2015/lib/spinkit/spinkit.module.js +0 -19
  627. package/esm2015/lib/switch/switch.component.js +0 -184
  628. package/esm2015/lib/switch/switch.module.js +0 -21
  629. package/esm2015/lib/tabset/index.js +0 -2
  630. package/esm2015/lib/tabset/public_api.js +0 -12
  631. package/esm2015/lib/tabset/tab/tab.component.js +0 -94
  632. package/esm2015/lib/tabset/tab-content/tab-content.component.js +0 -39
  633. package/esm2015/lib/tabset/tab-list/tab-list.component.js +0 -63
  634. package/esm2015/lib/tabset/tab-pane/tab-pane.component.js +0 -63
  635. package/esm2015/lib/tabset/tabset.component.js +0 -127
  636. package/esm2015/lib/tabset/tabset.module.js +0 -31
  637. package/esm2015/lib/tabset/tabset.service.js +0 -18
  638. package/esm2015/lib/toggler/toggler.component.js +0 -54
  639. package/esm2015/lib/toggler/toggler.module.js +0 -19
  640. package/esm2015/lib/widget/widget-brand/widget-brand.component.js +0 -58
  641. package/esm2015/lib/widget/widget-dropdown/widget-dropdown.component.js +0 -39
  642. package/esm2015/lib/widget/widget-icon/widget-icon.component.js +0 -68
  643. package/esm2015/lib/widget/widget-progress/widget-progress.component.js +0 -51
  644. package/esm2015/lib/widget/widget-progress-icon/widget-progress-icon.component.js +0 -48
  645. package/esm2015/lib/widget/widget-simple/widget-simple.component.js +0 -21
  646. package/esm5/coreui-angular.js +0 -81
  647. package/esm5/lib/accordion/accordion-group.component.js +0 -45
  648. package/esm5/lib/accordion/accordion.component.js +0 -37
  649. package/esm5/lib/accordion/accordion.module.js +0 -28
  650. package/esm5/lib/alert/alert.animations.js +0 -15
  651. package/esm5/lib/alert/alert.component.js +0 -225
  652. package/esm5/lib/alert/alert.module.js +0 -24
  653. package/esm5/lib/badge/badge.component.js +0 -63
  654. package/esm5/lib/badge/badge.module.js +0 -24
  655. package/esm5/lib/breadcrumb/breadcrumb.component.js +0 -52
  656. package/esm5/lib/breadcrumb/breadcrumb.directive.js +0 -27
  657. package/esm5/lib/breadcrumb/breadcrumb.js +0 -1
  658. package/esm5/lib/breadcrumb/breadcrumb.module.js +0 -24
  659. package/esm5/lib/breadcrumb/breadcrumb.service.js +0 -56
  660. package/esm5/lib/button/button-group.component.js +0 -73
  661. package/esm5/lib/button/button-radio-group.directive.js +0 -52
  662. package/esm5/lib/button/button-radio.directive.js +0 -135
  663. package/esm5/lib/button/button-toolbar.component.js +0 -63
  664. package/esm5/lib/button/button.component.js +0 -128
  665. package/esm5/lib/button/button.directive.js +0 -127
  666. package/esm5/lib/button/button.module.js +0 -39
  667. package/esm5/lib/callout/callout.component.js +0 -43
  668. package/esm5/lib/callout/callout.module.js +0 -20
  669. package/esm5/lib/card/card-body.component.js +0 -54
  670. package/esm5/lib/card/card-footer.component.js +0 -54
  671. package/esm5/lib/card/card-group.component.js +0 -36
  672. package/esm5/lib/card/card-header-actions.component.js +0 -19
  673. package/esm5/lib/card/card-header.component.js +0 -54
  674. package/esm5/lib/card/card.component.js +0 -58
  675. package/esm5/lib/card/card.module.js +0 -39
  676. package/esm5/lib/card/index.js +0 -2
  677. package/esm5/lib/card/public_api.js +0 -8
  678. package/esm5/lib/chart/chart.module.js +0 -24
  679. package/esm5/lib/chart/no-zone-basechart.directive.js +0 -31
  680. package/esm5/lib/collapse/collapse.animations.js +0 -11
  681. package/esm5/lib/collapse/collapse.directive.js +0 -119
  682. package/esm5/lib/collapse/collapse.module.js +0 -25
  683. package/esm5/lib/collapse/index.js +0 -2
  684. package/esm5/lib/collapse/public_api.js +0 -3
  685. package/esm5/lib/dropdown/dropdown-divider.component.js +0 -16
  686. package/esm5/lib/dropdown/dropdown-divider.directive.js +0 -19
  687. package/esm5/lib/dropdown/dropdown-header.directive.js +0 -19
  688. package/esm5/lib/dropdown/dropdown-item.directive.js +0 -19
  689. package/esm5/lib/dropdown/dropdown-menu.directive.js +0 -86
  690. package/esm5/lib/dropdown/dropdown-toggle.directive.js +0 -57
  691. package/esm5/lib/dropdown/dropdown.directive.js +0 -123
  692. package/esm5/lib/dropdown/dropdown.module.js +0 -58
  693. package/esm5/lib/dropdown/dropdown.service.js +0 -20
  694. package/esm5/lib/dropdown/dropdown.state.js +0 -27
  695. package/esm5/lib/form/form/form.directive.js +0 -42
  696. package/esm5/lib/form/form-check/form-check.component.js +0 -62
  697. package/esm5/lib/form/form-feedback/form-feedback.component.js +0 -45
  698. package/esm5/lib/form/form-group/form-group.component.js +0 -46
  699. package/esm5/lib/form/form-text/form-text.component.js +0 -48
  700. package/esm5/lib/form/form.module.js +0 -60
  701. package/esm5/lib/form/input/input.directive.js +0 -117
  702. package/esm5/lib/form/input-group/input-group.component.js +0 -44
  703. package/esm5/lib/form/input-group-addon/input-group-addon.component.js +0 -77
  704. package/esm5/lib/form/input-group-text/input-group-text.component.js +0 -37
  705. package/esm5/lib/form/label/label.directive.js +0 -62
  706. package/esm5/lib/form/select/select.directive.js +0 -54
  707. package/esm5/lib/form/textarea/textarea.directive.js +0 -60
  708. package/esm5/lib/grid/col.component.js +0 -19
  709. package/esm5/lib/grid/col.directive.js +0 -79
  710. package/esm5/lib/grid/container.component.js +0 -42
  711. package/esm5/lib/grid/grid.module.js +0 -35
  712. package/esm5/lib/grid/row.component.js +0 -19
  713. package/esm5/lib/grid/row.directive.js +0 -48
  714. package/esm5/lib/image/img.directive.js +0 -84
  715. package/esm5/lib/image/img.module.js +0 -24
  716. package/esm5/lib/layout/body/body.component.js +0 -20
  717. package/esm5/lib/layout/body/index.js +0 -2
  718. package/esm5/lib/layout/body/public_api.js +0 -2
  719. package/esm5/lib/layout/footer/footer.component.js +0 -42
  720. package/esm5/lib/layout/footer/index.js +0 -2
  721. package/esm5/lib/layout/footer/public_api.js +0 -2
  722. package/esm5/lib/layout/header/header-brand.component.js +0 -54
  723. package/esm5/lib/layout/header/header.component.js +0 -56
  724. package/esm5/lib/layout/header/index.js +0 -2
  725. package/esm5/lib/layout/header/public_api.js +0 -3
  726. package/esm5/lib/layout/index.js +0 -2
  727. package/esm5/lib/layout/layout.module.js +0 -44
  728. package/esm5/lib/layout/public_api.js +0 -8
  729. package/esm5/lib/layout/subheader/index.js +0 -2
  730. package/esm5/lib/layout/subheader/public_api.js +0 -2
  731. package/esm5/lib/layout/subheader/subheader.component.js +0 -44
  732. package/esm5/lib/layout/wrapper/index.js +0 -2
  733. package/esm5/lib/layout/wrapper/public_api.js +0 -2
  734. package/esm5/lib/layout/wrapper/wrapper.component.js +0 -41
  735. package/esm5/lib/list-group/list-group-item.directive.js +0 -81
  736. package/esm5/lib/list-group/list-group.directive.js +0 -50
  737. package/esm5/lib/list-group/list-group.module.js +0 -24
  738. package/esm5/lib/modal/modal.component.js +0 -118
  739. package/esm5/lib/modal/modal.module.js +0 -20
  740. package/esm5/lib/nav/nav-item.component.js +0 -39
  741. package/esm5/lib/nav/nav-link.directive.js +0 -68
  742. package/esm5/lib/nav/nav.component.js +0 -62
  743. package/esm5/lib/nav/nav.module.js +0 -22
  744. package/esm5/lib/navbar/navbar-brand/navbar-brand.component.js +0 -25
  745. package/esm5/lib/navbar/navbar-nav/navbar-nav.component.js +0 -21
  746. package/esm5/lib/navbar/navbar-text/navbar-text.component.js +0 -20
  747. package/esm5/lib/navbar/navbar.component.js +0 -100
  748. package/esm5/lib/navbar/navbar.module.js +0 -35
  749. package/esm5/lib/progress/progress-bar.component.js +0 -124
  750. package/esm5/lib/progress/progress.component.js +0 -43
  751. package/esm5/lib/progress/progress.module.js +0 -24
  752. package/esm5/lib/services/class-toggle.service.js +0 -34
  753. package/esm5/lib/services/index.js +0 -2
  754. package/esm5/lib/services/public_api.js +0 -2
  755. package/esm5/lib/shared/check-bool-prop.js +0 -4
  756. package/esm5/lib/shared/classes.js +0 -12
  757. package/esm5/lib/shared/html-attr.directive.js +0 -55
  758. package/esm5/lib/shared/index.js +0 -2
  759. package/esm5/lib/shared/out-click.directive.js +0 -37
  760. package/esm5/lib/shared/out-click.service.js +0 -22
  761. package/esm5/lib/shared/public_api.js +0 -6
  762. package/esm5/lib/shared/shared.module.js +0 -39
  763. package/esm5/lib/sidebar/index.js +0 -2
  764. package/esm5/lib/sidebar/public_api.js +0 -13
  765. package/esm5/lib/sidebar/sidebar-backdrop.component.js +0 -41
  766. package/esm5/lib/sidebar/sidebar-brand.component.js +0 -53
  767. package/esm5/lib/sidebar/sidebar-footer.component.js +0 -23
  768. package/esm5/lib/sidebar/sidebar-form.component.js +0 -23
  769. package/esm5/lib/sidebar/sidebar-header.component.js +0 -23
  770. package/esm5/lib/sidebar/sidebar-minimize.directive.js +0 -33
  771. package/esm5/lib/sidebar/sidebar-minimizer.component.js +0 -22
  772. package/esm5/lib/sidebar/sidebar-nav/index.js +0 -2
  773. package/esm5/lib/sidebar/sidebar-nav/public_api.js +0 -14
  774. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.js +0 -23
  775. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.js +0 -19
  776. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.component.js +0 -85
  777. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.directive.js +0 -30
  778. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.js +0 -22
  779. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.js +0 -35
  780. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-items.component.js +0 -36
  781. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-label.component.js +0 -43
  782. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-link.component.js +0 -98
  783. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.js +0 -22
  784. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav-title.component.js +0 -71
  785. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav.component.js +0 -87
  786. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav.js +0 -1
  787. package/esm5/lib/sidebar/sidebar-nav/sidebar-nav.service.js +0 -54
  788. package/esm5/lib/sidebar/sidebar-toggle.directive.js +0 -35
  789. package/esm5/lib/sidebar/sidebar.component.js +0 -327
  790. package/esm5/lib/sidebar/sidebar.module.js +0 -99
  791. package/esm5/lib/sidebar/sidebar.service.js +0 -22
  792. package/esm5/lib/spinkit/spinkit.component.js +0 -49
  793. package/esm5/lib/spinkit/spinkit.module.js +0 -22
  794. package/esm5/lib/spinner/spinner.component.js +0 -58
  795. package/esm5/lib/spinner/spinner.module.js +0 -26
  796. package/esm5/lib/switch/switch.component.js +0 -205
  797. package/esm5/lib/switch/switch.module.js +0 -24
  798. package/esm5/lib/tabset/index.js +0 -2
  799. package/esm5/lib/tabset/public_api.js +0 -12
  800. package/esm5/lib/tabset/tab/tab.component.js +0 -104
  801. package/esm5/lib/tabset/tab-content/tab-content.component.js +0 -44
  802. package/esm5/lib/tabset/tab-list/tab-list.component.js +0 -80
  803. package/esm5/lib/tabset/tab-pane/tab-pane.component.js +0 -69
  804. package/esm5/lib/tabset/tabset.component.js +0 -133
  805. package/esm5/lib/tabset/tabset.module.js +0 -34
  806. package/esm5/lib/tabset/tabset.service.js +0 -19
  807. package/esm5/lib/toggler/toggler.component.js +0 -63
  808. package/esm5/lib/toggler/toggler.module.js +0 -22
  809. package/esm5/lib/widget/widget-brand/widget-brand.component.js +0 -74
  810. package/esm5/lib/widget/widget-dropdown/widget-dropdown.component.js +0 -51
  811. package/esm5/lib/widget/widget-icon/widget-icon.component.js +0 -95
  812. package/esm5/lib/widget/widget-progress/widget-progress.component.js +0 -62
  813. package/esm5/lib/widget/widget-progress-icon/widget-progress-icon.component.js +0 -59
  814. package/esm5/lib/widget/widget-simple/widget-simple.component.js +0 -23
  815. package/esm5/lib/widget/widget.module.js +0 -42
  816. package/esm5/public-api.js +0 -34
  817. package/fesm5/coreui-angular.js +0 -6758
  818. package/fesm5/coreui-angular.js.map +0 -1
  819. package/lib/accordion/accordion-group.component.d.ts +0 -12
  820. package/lib/accordion/accordion.component.d.ts +0 -8
  821. package/lib/alert/alert.animations.d.ts +0 -2
  822. package/lib/breadcrumb/breadcrumb.component.d.ts +0 -13
  823. package/lib/breadcrumb/breadcrumb.d.ts +0 -8
  824. package/lib/breadcrumb/breadcrumb.directive.d.ts +0 -10
  825. package/lib/breadcrumb/breadcrumb.service.d.ts +0 -11
  826. package/lib/button/button-group.component.d.ts +0 -15
  827. package/lib/button/button-radio-group.directive.d.ts +0 -19
  828. package/lib/button/button-radio.directive.d.ts +0 -38
  829. package/lib/button/button-toolbar.component.d.ts +0 -13
  830. package/lib/button/button.component.d.ts +0 -20
  831. package/lib/chart/chart.module.d.ts +0 -2
  832. package/lib/chart/no-zone-basechart.directive.d.ts +0 -6
  833. package/lib/dropdown/dropdown-divider.component.d.ts +0 -2
  834. package/lib/dropdown/dropdown-divider.directive.d.ts +0 -3
  835. package/lib/dropdown/dropdown-header.directive.d.ts +0 -3
  836. package/lib/dropdown/dropdown-item.directive.d.ts +0 -3
  837. package/lib/dropdown/dropdown-menu.directive.d.ts +0 -19
  838. package/lib/dropdown/dropdown-toggle.directive.d.ts +0 -17
  839. package/lib/dropdown/dropdown.directive.d.ts +0 -27
  840. package/lib/dropdown/dropdown.state.d.ts +0 -12
  841. package/lib/form/form-group/form-group.component.d.ts +0 -15
  842. package/lib/form/form-text/form-text.component.d.ts +0 -13
  843. package/lib/form/input/input.directive.d.ts +0 -21
  844. package/lib/form/input-group-addon/input-group-addon.component.d.ts +0 -18
  845. package/lib/form/input-group-text/input-group-text.component.d.ts +0 -11
  846. package/lib/form/label/label.directive.d.ts +0 -10
  847. package/lib/form/select/select.directive.d.ts +0 -8
  848. package/lib/form/textarea/textarea.directive.d.ts +0 -8
  849. package/lib/layout/body/body.component.d.ts +0 -3
  850. package/lib/layout/body/public_api.d.ts +0 -1
  851. package/lib/layout/footer/footer.component.d.ts +0 -11
  852. package/lib/layout/header/header-brand.component.d.ts +0 -14
  853. package/lib/layout/header/header.component.d.ts +0 -12
  854. package/lib/layout/header/public_api.d.ts +0 -2
  855. package/lib/layout/layout.module.d.ts +0 -2
  856. package/lib/layout/public_api.d.ts +0 -7
  857. package/lib/layout/subheader/public_api.d.ts +0 -1
  858. package/lib/layout/subheader/subheader.component.d.ts +0 -11
  859. package/lib/layout/wrapper/public_api.d.ts +0 -1
  860. package/lib/layout/wrapper/wrapper.component.d.ts +0 -5
  861. package/lib/modal/modal.component.d.ts +0 -39
  862. package/lib/navbar/navbar-brand/navbar-brand.component.d.ts +0 -7
  863. package/lib/shared/check-bool-prop.d.ts +0 -1
  864. package/lib/shared/classes.d.ts +0 -3
  865. package/lib/shared/out-click.directive.d.ts +0 -11
  866. package/lib/shared/out-click.service.d.ts +0 -6
  867. package/lib/sidebar/sidebar-backdrop.component.d.ts +0 -10
  868. package/lib/sidebar/sidebar-brand.component.d.ts +0 -12
  869. package/lib/sidebar/sidebar-footer.component.d.ts +0 -7
  870. package/lib/sidebar/sidebar-form.component.d.ts +0 -7
  871. package/lib/sidebar/sidebar-header.component.d.ts +0 -7
  872. package/lib/sidebar/sidebar-minimize.directive.d.ts +0 -10
  873. package/lib/sidebar/sidebar-minimizer.component.d.ts +0 -4
  874. package/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.component.d.ts +0 -25
  875. package/lib/sidebar/sidebar-nav/sidebar-nav-dropdown.directive.d.ts +0 -9
  876. package/lib/sidebar/sidebar-nav/sidebar-nav-items.component.d.ts +0 -10
  877. package/lib/sidebar/sidebar-toggle.directive.d.ts +0 -10
  878. package/lib/sidebar/sidebar.component.d.ts +0 -57
  879. package/lib/spinkit/spinkit.component.d.ts +0 -9
  880. package/lib/spinkit/spinkit.module.d.ts +0 -2
  881. package/lib/switch/switch.component.d.ts +0 -43
  882. package/lib/switch/switch.module.d.ts +0 -2
  883. package/lib/tabset/public_api.d.ts +0 -7
  884. package/lib/tabset/tab/tab.component.d.ts +0 -26
  885. package/lib/tabset/tab-content/tab-content.component.d.ts +0 -12
  886. package/lib/tabset/tab-list/tab-list.component.d.ts +0 -14
  887. package/lib/tabset/tab-pane/tab-pane.component.d.ts +0 -19
  888. package/lib/tabset/tabset.component.d.ts +0 -34
  889. package/lib/tabset/tabset.module.d.ts +0 -2
  890. package/lib/tabset/tabset.service.d.ts +0 -7
  891. package/lib/toggler/toggler.component.d.ts +0 -13
  892. package/lib/toggler/toggler.module.d.ts +0 -2
  893. package/lib/widget/widget-brand/widget-brand.component.d.ts +0 -14
  894. package/lib/widget/widget-dropdown/widget-dropdown.component.d.ts +0 -10
  895. package/lib/widget/widget-icon/widget-icon.component.d.ts +0 -14
  896. package/lib/widget/widget-progress/widget-progress.component.d.ts +0 -13
  897. package/lib/widget/widget-progress-icon/widget-progress-icon.component.d.ts +0 -12
  898. package/lib/widget/widget-simple/widget-simple.component.d.ts +0 -7
@@ -0,0 +1,304 @@
1
+ import { Component, ContentChild, Directive, EventEmitter, HostBinding, HostListener, Inject, Input, Optional, Output, } from '@angular/core';
2
+ import { DropdownService } from '../dropdown.service';
3
+ import { DropdownMenuDirective } from '../dropdown-menu/dropdown-menu.directive';
4
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
+ import { createPopper } from '@popperjs/core';
6
+ import { DOCUMENT } from '@angular/common';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../dropdown.service";
9
+ export class DropdownToggleDirective {
10
+ constructor(elementRef, dropdownService, dropdown) {
11
+ this.elementRef = elementRef;
12
+ this.dropdownService = dropdownService;
13
+ this.dropdown = dropdown;
14
+ /**
15
+ * Enables pseudo element caret on toggler.
16
+ * @type boolean
17
+ */
18
+ this.caret = true;
19
+ this._split = false;
20
+ }
21
+ /**
22
+ * Create split button dropdowns with virtually the same markup as single button dropdowns, but with the addition of `.dropdown-toggle-split` class for proper spacing around the dropdown caret.
23
+ * @type boolean
24
+ */
25
+ set split(value) {
26
+ this._split = coerceBooleanProperty(value);
27
+ }
28
+ get split() {
29
+ return this._split;
30
+ }
31
+ get hostClasses() {
32
+ return {
33
+ 'dropdown-toggle': this.caret,
34
+ 'dropdown-toggle-split': this.split,
35
+ };
36
+ }
37
+ onClick($event) {
38
+ $event.preventDefault();
39
+ this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });
40
+ }
41
+ }
42
+ DropdownToggleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownToggleDirective, deps: [{ token: i0.ElementRef }, { token: i1.DropdownService }, { token: DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
43
+ DropdownToggleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: { caret: "caret", split: "split" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class": "this.hostClasses" } }, exportAs: ["cDropdownToggle"], ngImport: i0 });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownToggleDirective, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[cDropdownToggle]',
48
+ exportAs: 'cDropdownToggle',
49
+ }]
50
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DropdownService }, { type: DropdownComponent, decorators: [{
51
+ type: Optional
52
+ }] }]; }, propDecorators: { caret: [{
53
+ type: Input
54
+ }], split: [{
55
+ type: Input
56
+ }], hostClasses: [{
57
+ type: HostBinding,
58
+ args: ['class']
59
+ }], onClick: [{
60
+ type: HostListener,
61
+ args: ['click', ['$event']]
62
+ }] } });
63
+ export class DropdownComponent {
64
+ constructor(document, elementRef, renderer, ngZone, changeDetectorRef, dropdownService) {
65
+ this.document = document;
66
+ this.elementRef = elementRef;
67
+ this.renderer = renderer;
68
+ this.ngZone = ngZone;
69
+ this.changeDetectorRef = changeDetectorRef;
70
+ this.dropdownService = dropdownService;
71
+ this.autoClose = true;
72
+ this._dark = false;
73
+ /**
74
+ * Describes the placement of your component after Popper.js has applied all the modifiers that may have flipped or altered the originally provided placement property.
75
+ * @type Placement
76
+ */
77
+ this.placement = 'bottom-start';
78
+ this._popper = true;
79
+ /**
80
+ * Set the dropdown variant to an btn-group, dropdown, input-group, and nav-item.
81
+ */
82
+ this.variant = 'dropdown';
83
+ this._visible = false;
84
+ this.visibleChange = new EventEmitter();
85
+ this.dropdownContext = { $implicit: this.visible };
86
+ this.activeTrap = false;
87
+ this.listeners = [];
88
+ this._popperOptions = {
89
+ placement: this.placement,
90
+ modifiers: [],
91
+ strategy: 'absolute',
92
+ };
93
+ }
94
+ /**
95
+ * Sets a darker color scheme to match a dark navbar.
96
+ * @type boolean
97
+ * @default false
98
+ */
99
+ set dark(value) {
100
+ this._dark = coerceBooleanProperty(value);
101
+ }
102
+ ;
103
+ get dark() {
104
+ return this._dark;
105
+ }
106
+ /**
107
+ * If you want to disable dynamic positioning set this property to `false`.
108
+ * @type boolean
109
+ * @default true
110
+ */
111
+ set popper(value) {
112
+ this._popper = coerceBooleanProperty(value);
113
+ }
114
+ get popper() {
115
+ return this._popper;
116
+ }
117
+ /**
118
+ * Toggle the visibility of dropdown menu component.
119
+ * @type boolean
120
+ * @default false
121
+ */
122
+ set visible(value) {
123
+ this.activeTrap = value;
124
+ this._visible = value;
125
+ value ? this.createPopperInstance() : this.destroyPopperInstance();
126
+ this.visibleChange.emit(value);
127
+ }
128
+ get visible() {
129
+ return this._visible;
130
+ }
131
+ get hostClasses() {
132
+ return {
133
+ dropdown: (this.variant === 'dropdown' || this.variant === 'nav-item') &&
134
+ !this.direction,
135
+ [`${this.direction}`]: !!this.direction,
136
+ 'btn-group': this.variant === 'btn-group',
137
+ 'nav-item': this.variant === 'nav-item',
138
+ 'input-group': this.variant === 'input-group',
139
+ show: this.visible,
140
+ };
141
+ }
142
+ // todo: find better solution
143
+ get hostStyle() {
144
+ return this.variant === 'input-group' ? { display: 'contents' } : {};
145
+ }
146
+ get popperOptions() {
147
+ let placement = this.placement;
148
+ switch (this.direction) {
149
+ case 'dropup': {
150
+ placement = 'top-start';
151
+ break;
152
+ }
153
+ case 'dropend': {
154
+ placement = 'right-start';
155
+ break;
156
+ }
157
+ case 'dropstart': {
158
+ placement = 'left-start';
159
+ break;
160
+ }
161
+ }
162
+ if (this.alignment === 'end') {
163
+ placement = 'bottom-end';
164
+ }
165
+ this._popperOptions = Object.assign(Object.assign({}, this._popperOptions), { placement: placement });
166
+ return this._popperOptions;
167
+ }
168
+ dropdownStateSubscribe(subscribe = true) {
169
+ if (subscribe) {
170
+ this.dropdownStateSubscription =
171
+ this.dropdownService.dropdownState$.subscribe((state) => {
172
+ if (this === state.dropdown) {
173
+ if ('visible' in state) {
174
+ (state === null || state === void 0 ? void 0 : state.visible) === 'toggle'
175
+ ? this.toggleDropdown()
176
+ : (this.visible = state.visible);
177
+ }
178
+ }
179
+ });
180
+ }
181
+ else {
182
+ this.dropdownStateSubscription.unsubscribe();
183
+ }
184
+ }
185
+ toggleDropdown() {
186
+ this.visible = !this.visible;
187
+ }
188
+ onClick(event) {
189
+ var _a, _b;
190
+ if (this.autoClose === true || this.autoClose === 'outside') {
191
+ if (!((_a = this._toggler) === null || _a === void 0 ? void 0 : _a.elementRef.nativeElement.contains((_b = event.target) === null || _b === void 0 ? void 0 : _b.closest('[cDropdownToggle]')))) {
192
+ this.toggleDropdown();
193
+ }
194
+ }
195
+ }
196
+ ngAfterContentInit() {
197
+ if (this.variant === 'nav-item') {
198
+ this.renderer.addClass(this._toggler.elementRef.nativeElement, 'nav-link');
199
+ }
200
+ }
201
+ ngOnInit() {
202
+ this.dropdownStateSubscribe();
203
+ this.setVisibleState(this.visible);
204
+ }
205
+ ngOnDestroy() {
206
+ this.clearListeners();
207
+ this.dropdownStateSubscribe(false);
208
+ this.destroyPopperInstance();
209
+ }
210
+ setVisibleState(value) {
211
+ this.dropdownService.toggle({ visible: value, dropdown: this });
212
+ }
213
+ // todo: turn off popper in navbar-nav
214
+ createPopperInstance() {
215
+ if (this._toggler && this._menu) {
216
+ this.ngZone.runOutsideAngular(() => {
217
+ // workaround for popper position calculate (see also: dropdown-menu.component)
218
+ this._menu.elementRef.nativeElement.style.visibility = 'hidden';
219
+ this._menu.elementRef.nativeElement.style.display = 'block';
220
+ if (this.popper) {
221
+ this.popperInstance = createPopper(this._toggler.elementRef.nativeElement, this._menu.elementRef.nativeElement, Object.assign({}, this.popperOptions));
222
+ }
223
+ this.ngZone.run(() => {
224
+ this.setListeners();
225
+ this.changeDetectorRef.detectChanges();
226
+ });
227
+ });
228
+ }
229
+ }
230
+ destroyPopperInstance() {
231
+ var _a;
232
+ this.clearListeners();
233
+ (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
234
+ this.popperInstance = undefined;
235
+ this.changeDetectorRef.markForCheck();
236
+ }
237
+ setListeners() {
238
+ const host = this.elementRef.nativeElement;
239
+ this.listeners.push(this.renderer.listen(this.document, 'click', (event) => {
240
+ if (!host.contains(event.target)) {
241
+ this.setVisibleState(false);
242
+ }
243
+ }));
244
+ this.listeners.push(this.renderer.listen(this.document, 'keyup', (event) => {
245
+ if (event.key === 'Escape') {
246
+ this.setVisibleState(false);
247
+ }
248
+ }));
249
+ }
250
+ clearListeners() {
251
+ this.listeners.forEach((unListen) => {
252
+ unListen();
253
+ });
254
+ // @ts-ignore
255
+ this.listeners.fill(undefined);
256
+ this.listeners = [];
257
+ }
258
+ }
259
+ DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownComponent, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.DropdownService }], target: i0.ɵɵFactoryTarget.Component });
260
+ DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DropdownComponent, selector: "c-dropdown", inputs: { alignment: "alignment", autoClose: "autoClose", dark: "dark", direction: "direction", placement: "placement", popper: "popper", variant: "variant", visible: "visible" }, outputs: { visibleChange: "visibleChange" }, host: { properties: { "class": "this.hostClasses", "style": "this.hostStyle" } }, providers: [DropdownService], queries: [{ propertyName: "_toggler", first: true, predicate: DropdownToggleDirective, descendants: true }, { propertyName: "_menu", first: true, predicate: DropdownMenuDirective, descendants: true }], exportAs: ["cDropdown"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host-context(html:not([dir=rtl])) :host-context(.input-group) :host:first-child::ng-deep :first-child{border-top-right-radius:0;border-bottom-right-radius:0}:host-context(html:not([dir=rtl])) :host-context(.input-group) :host:first-child::ng-deep :not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host-context(html:not([dir=rtl])) :host-context(.input-group) :host:first-child::ng-deep :not(:first-child):not(.dropdown-menu):not(:only-of-type){border-top-right-radius:0;border-bottom-right-radius:0}:host-context(html:not([dir=rtl])) :host-context(.input-group) :host:last-child::ng-deep :first-child{border-top-left-radius:0;border-bottom-left-radius:0}:host-context(html:not([dir=rtl])) :host-context(.input-group) :host:last-child::ng-deep :first-child:not(:only-of-type){border-top-right-radius:0;border-bottom-right-radius:0}:host-context(html:not([dir=rtl])) :host-context(.input-group) :host:last-child::ng-deep :not(:first-child):not(.dropdown-menu){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl] .input-group) :host{direction:rtl}:host-context([dir=rtl] .input-group) :host:first-child::ng-deep :first-child{border-top-left-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl] .input-group) :host:first-child::ng-deep :not(:first-child):not(.dropdown-menu){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}:host-context([dir=rtl] .input-group) :host:first-child::ng-deep :not(:first-child):not(.dropdown-menu):not(:only-of-type){border-top-left-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl] .input-group) :host:last-child::ng-deep :first-child{border-top-right-radius:0;border-bottom-right-radius:0}:host-context([dir=rtl] .input-group) :host:last-child::ng-deep :first-child:not(:only-of-type){border-top-left-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl] .input-group) :host:last-child::ng-deep :not(:first-child):not(.dropdown-menu){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}\n"] });
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownComponent, decorators: [{
262
+ type: Component,
263
+ args: [{
264
+ selector: 'c-dropdown',
265
+ template: '<ng-content></ng-content>',
266
+ styleUrls: ['./dropdown.component.scss'],
267
+ exportAs: 'cDropdown',
268
+ providers: [DropdownService],
269
+ }]
270
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
271
+ type: Inject,
272
+ args: [DOCUMENT]
273
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.DropdownService }]; }, propDecorators: { alignment: [{
274
+ type: Input
275
+ }], autoClose: [{
276
+ type: Input
277
+ }], dark: [{
278
+ type: Input
279
+ }], direction: [{
280
+ type: Input
281
+ }], placement: [{
282
+ type: Input
283
+ }], popper: [{
284
+ type: Input
285
+ }], variant: [{
286
+ type: Input
287
+ }], visible: [{
288
+ type: Input
289
+ }], visibleChange: [{
290
+ type: Output
291
+ }], _toggler: [{
292
+ type: ContentChild,
293
+ args: [DropdownToggleDirective]
294
+ }], _menu: [{
295
+ type: ContentChild,
296
+ args: [DropdownMenuDirective]
297
+ }], hostClasses: [{
298
+ type: HostBinding,
299
+ args: ['class']
300
+ }], hostStyle: [{
301
+ type: HostBinding,
302
+ args: ['style']
303
+ }] } });
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLHVCQUF1QjtJQXlCbEMsWUFDUyxVQUFzQixFQUNyQixlQUFnQyxFQUNyQixRQUE0QjtRQUZ4QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNyQixhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQXZCakQ7OztXQUdHO1FBQ00sVUFBSyxHQUFHLElBQUksQ0FBQztRQUVkLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFrQnBCLENBQUM7SUFqQko7OztPQUdHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBYztRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxN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O2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFZRyxPQUFPO3NCQUFmLEtBQUs7Z0JBUUYsT0FBTztzQkFEVixLQUFLO2dCQVlJLGFBQWE7c0JBQXRCLE1BQU07Z0JBR2dDLFFBQVE7c0JBQTlDLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUNBLEtBQUs7c0JBQXpDLFlBQVk7dUJBQUMscUJBQXFCO2dCQWtCL0IsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBZ0JoQixTQUFTO3NCQURaLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSAnLi4vZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQgeyBEcm9wZG93bk1lbnVEaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNyZWF0ZVBvcHBlciwgSW5zdGFuY2UsIE9wdGlvbnMsIFBsYWNlbWVudCB9IGZyb20gJ0Bwb3BwZXJqcy9jb3JlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NEcm9wZG93blRvZ2dsZV0nLFxuICBleHBvcnRBczogJ2NEcm9wZG93blRvZ2dsZScsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlIHtcblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc3BsaXQ6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3BvcHBlcjogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHBzZXVkbyBlbGVtZW50IGNhcmV0IG9uIHRvZ2dsZXIuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBJbnB1dCgpIGNhcmV0ID0gdHJ1ZTtcblxuICBwcml2YXRlIF9zcGxpdCA9IGZhbHNlO1xuICAvKipcbiAgICogQ3JlYXRlIHNwbGl0IGJ1dHRvbiBkcm9wZG93bnMgd2l0aCB2aXJ0dWFsbHkgdGhlIHNhbWUgbWFya3VwIGFzIHNpbmdsZSBidXR0b24gZHJvcGRvd25zLCBidXQgd2l0aCB0aGUgYWRkaXRpb24gb2YgYC5kcm9wZG93bi10b2dnbGUtc3BsaXRgIGNsYXNzIGZvciBwcm9wZXIgc3BhY2luZyBhcm91bmQgdGhlIGRyb3Bkb3duIGNhcmV0LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgc3BsaXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zcGxpdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgc3BsaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NwbGl0O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBkcm9wZG93blNlcnZpY2U6IERyb3Bkb3duU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZHJvcGRvd24/OiBEcm9wZG93bkNvbXBvbmVudFxuICApIHt9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICAnZHJvcGRvd24tdG9nZ2xlJzogdGhpcy5jYXJldCxcbiAgICAgICdkcm9wZG93bi10b2dnbGUtc3BsaXQnOiB0aGlzLnNwbGl0LFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7dmlzaWJsZTogJ3RvZ2dsZScsIGRyb3Bkb3duOiB0aGlzLmRyb3Bkb3dufSk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1kcm9wZG93bicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnY0Ryb3Bkb3duJyxcbiAgcHJvdmlkZXJzOiBbRHJvcGRvd25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rhcms6IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogU2V0IGFsaWdubWVudCBvZiBkcm9wZG93biBtZW51LlxuICAgKiBAdHlwZSB7J3N0YXJ0JyB8ICdlbmQnIHwgeyB4czogJ3N0YXJ0JyB8ICdlbmQnIH0gfCB7IHNtOiAnc3RhcnQnIHwgJ2VuZCcgfSB8IHsgbWQ6ICdzdGFydCcgfCAnZW5kJyB9IHwgeyBsZzogJ3N0YXJ0JyB8ICdlbmQnIH0gfCB7IHhsOiAnc3RhcnQnIHwgJ2VuZCd9IHwgeyB4eGw6ICdzdGFydCcgfCAnZW5kJ319XG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgYXV0b0Nsb3NlOiBib29sZWFuIHwgJ2luc2lkZScgfCAnb3V0c2lkZScgPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgZGFya2VyIGNvbG9yIHNjaGVtZSB0byBtYXRjaCBhIGRhcmsgbmF2YmFyLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGFyayh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2RhcmsgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9O1xuICBnZXQgZGFyaygpIHtcbiAgICByZXR1cm4gdGhpcy5fZGFyaztcbiAgfVxuICBwcml2YXRlIF9kYXJrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHMgYSBzcGVjaWZpZWQgIGRpcmVjdGlvbiBhbmQgbG9jYXRpb24gb2YgdGhlIGRyb3Bkb3duIG1lbnUuXG4gICAqIEB0eXBlICdkcm9wdXAnIHwgJ2Ryb3BlbmQnIHwgJ2Ryb3BzdGFydCdcbiAgICovXG4gIEBJbnB1dCgpIGRpcmVjdGlvbj86ICdkcm9wdXAnIHwgJ2Ryb3BlbmQnIHwgJ2Ryb3BzdGFydCc7XG5cbiAgLyoqXG4gICAqIERlc2NyaWJlcyB0aGUgcGxhY2VtZW50IG9mIHlvdXIgY29tcG9uZW50IGFmdGVyIFBvcHBlci5qcyBoYXMgYXBwbGllZCBhbGwgdGhlIG1vZGlmaWVycyB0aGF0IG1heSBoYXZlIGZsaXBwZWQgb3IgYWx0ZXJlZCB0aGUgb3JpZ2luYWxseSBwcm92aWRlZCBwbGFjZW1lbnQgcHJvcGVydHkuXG4gICAqIEB0eXBlIFBsYWNlbWVudFxuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiBQbGFjZW1lbnQgPSAnYm90dG9tLXN0YXJ0JztcblxuICAvKipcbiAgICogSWYgeW91IHdhbnQgdG8gZGlzYWJsZSBkeW5hbWljIHBvc2l0aW9uaW5nIHNldCB0aGlzIHByb3BlcnR5IHRvIGBmYWxzZWAuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHBvcHBlcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3BvcHBlciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHBvcHBlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wcGVyO1xuICB9XG4gIHByaXZhdGUgX3BvcHBlciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgZHJvcGRvd24gdmFyaWFudCB0byBhbiBidG4tZ3JvdXAsIGRyb3Bkb3duLCBpbnB1dC1ncm91cCwgYW5kIG5hdi1pdGVtLlxuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudD86ICdidG4tZ3JvdXAnIHwgJ2Ryb3Bkb3duJyB8ICdpbnB1dC1ncm91cCcgfCAnbmF2LWl0ZW0nID0gJ2Ryb3Bkb3duJztcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIGRyb3Bkb3duIG1lbnUgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYWN0aXZlVHJhcCA9IHZhbHVlO1xuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICB2YWx1ZSA/IHRoaXMuY3JlYXRlUG9wcGVySW5zdGFuY2UoKSA6IHRoaXMuZGVzdHJveVBvcHBlckluc3RhbmNlKCk7XG4gICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG4gIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG4gIHByaXZhdGUgX3Zpc2libGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIGRyb3Bkb3duQ29udGV4dCA9IHskaW1wbGljaXQ6IHRoaXMudmlzaWJsZX07XG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUpIF90b2dnbGVyITogRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmU7XG4gIEBDb250ZW50Q2hpbGQoRHJvcGRvd25NZW51RGlyZWN0aXZlKSBfbWVudSE6IERyb3Bkb3duTWVudURpcmVjdGl2ZTtcblxuICBwdWJsaWMgYWN0aXZlVHJhcCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwb3BwZXJJbnN0YW5jZSE6IEluc3RhbmNlIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIGxpc3RlbmVyczogKCgpID0+IHZvaWQpW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZHJvcGRvd25TZXJ2aWNlOiBEcm9wZG93blNlcnZpY2VcbiAgKSB7fVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgZHJvcGRvd246XG4gICAgICAgICh0aGlzLnZhcmlhbnQgPT09ICdkcm9wZG93bicgfHwgdGhpcy52YXJpYW50ID09PSAnbmF2LWl0ZW0nKSAmJlxuICAgICAgICAhdGhpcy5kaXJlY3Rpb24sXG4gICAgICBbYCR7dGhpcy5kaXJlY3Rpb259YF06ICEhdGhpcy5kaXJlY3Rpb24sXG4gICAgICAnYnRuLWdyb3VwJzogdGhpcy52YXJpYW50ID09PSAnYnRuLWdyb3VwJyxcbiAgICAgICduYXYtaXRlbSc6IHRoaXMudmFyaWFudCA9PT0gJ25hdi1pdGVtJyxcbiAgICAgICdpbnB1dC1ncm91cCc6IHRoaXMudmFyaWFudCA9PT0gJ2lucHV0LWdyb3VwJyxcbiAgICAgIHNob3c6IHRoaXMudmlzaWJsZSxcbiAgICB9O1xuICB9XG5cbiAgLy8gdG9kbzogZmluZCBiZXR0ZXIgc29sdXRpb25cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpXG4gIGdldCBob3N0U3R5bGUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ID09PSAnaW5wdXQtZ3JvdXAnID8ge2Rpc3BsYXk6ICdjb250ZW50cyd9IDoge307XG4gIH1cblxuICBwcml2YXRlIF9wb3BwZXJPcHRpb25zOiBPcHRpb25zID0ge1xuICAgIHBsYWNlbWVudDogdGhpcy5wbGFjZW1lbnQsXG4gICAgbW9kaWZpZXJzOiBbXSxcbiAgICBzdHJhdGVneTogJ2Fic29sdXRlJyxcbiAgfTtcblxuICBwcml2YXRlIGdldCBwb3BwZXJPcHRpb25zKCk6IE9wdGlvbnMge1xuICAgIGxldCBwbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudDtcbiAgICBzd2l0Y2ggKHRoaXMuZGlyZWN0aW9uKSB7XG4gICAgICBjYXNlICdkcm9wdXAnOiB7XG4gICAgICAgIHBsYWNlbWVudCA9ICd0b3Atc3RhcnQnO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2Ryb3BlbmQnOiB7XG4gICAgICAgIHBsYWNlbWVudCA9ICdyaWdodC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHJvcHN0YXJ0Jzoge1xuICAgICAgICBwbGFjZW1lbnQgPSAnbGVmdC1zdGFydCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5hbGlnbm1lbnQgPT09ICdlbmQnKSB7XG4gICAgICBwbGFjZW1lbnQgPSAnYm90dG9tLWVuZCc7XG4gICAgfVxuICAgIHRoaXMuX3BvcHBlck9wdGlvbnMgPSB7Li4udGhpcy5fcG9wcGVyT3B0aW9ucywgcGxhY2VtZW50OiBwbGFjZW1lbnR9O1xuICAgIHJldHVybiB0aGlzLl9wb3BwZXJPcHRpb25zO1xuICB9XG5cbiAgZHJvcGRvd25TdGF0ZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy5kcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uID1cbiAgICAgICAgdGhpcy5kcm9wZG93blNlcnZpY2UuZHJvcGRvd25TdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzID09PSBzdGF0ZS5kcm9wZG93bikge1xuICAgICAgICAgICAgaWYgKCd2aXNpYmxlJyBpbiBzdGF0ZSkge1xuICAgICAgICAgICAgICBzdGF0ZT8udmlzaWJsZSA9PT0gJ3RvZ2dsZSdcbiAgICAgICAgICAgICAgICA/IHRoaXMudG9nZ2xlRHJvcGRvd24oKVxuICAgICAgICAgICAgICAgIDogKHRoaXMudmlzaWJsZSA9IHN0YXRlLnZpc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZSA9ICF0aGlzLnZpc2libGU7XG4gIH1cblxuICBvbkNsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hdXRvQ2xvc2UgPT09IHRydWUgfHwgdGhpcy5hdXRvQ2xvc2UgPT09ICdvdXRzaWRlJykge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5fdG9nZ2xlcj8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgICAgIGV2ZW50LnRhcmdldD8uY2xvc2VzdCgnW2NEcm9wZG93blRvZ2dsZV0nKVxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgdGhpcy50b2dnbGVEcm9wZG93bigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnbmF2LWl0ZW0nKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuX3RvZ2dsZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbmF2LWxpbmsnKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoKTtcbiAgICB0aGlzLnNldFZpc2libGVTdGF0ZSh0aGlzLnZpc2libGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhckxpc3RlbmVycygpO1xuICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmliZShmYWxzZSk7XG4gICAgdGhpcy5kZXN0cm95UG9wcGVySW5zdGFuY2UoKTtcbiAgfVxuXG4gIHNldFZpc2libGVTdGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7dmlzaWJsZTogdmFsdWUsIGRyb3Bkb3duOiB0aGlzfSk7XG4gIH1cblxuICAvLyB0b2RvOiB0dXJuIG9mZiBwb3BwZXIgaW4gbmF2YmFyLW5hdlxuICBjcmVhdGVQb3BwZXJJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fdG9nZ2xlciAmJiB0aGlzLl9tZW51KSB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIC8vIHdvcmthcm91bmQgZm9yIHBvcHBlciBwb3NpdGlvbiBjYWxjdWxhdGUgKHNlZSBhbHNvOiBkcm9wZG93bi1tZW51LmNvbXBvbmVudClcbiAgICAgICAgdGhpcy5fbWVudS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgICAgICB0aGlzLl9tZW51LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgaWYgKHRoaXMucG9wcGVyKSB7XG4gICAgICAgICAgdGhpcy5wb3BwZXJJbnN0YW5jZSA9IGNyZWF0ZVBvcHBlcihcbiAgICAgICAgICAgIHRoaXMuX3RvZ2dsZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgdGhpcy5fbWVudS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB7Li4udGhpcy5wb3BwZXJPcHRpb25zfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNldExpc3RlbmVycygpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3lQb3BwZXJJbnN0YW5jZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5wb3BwZXJJbnN0YW5jZT8uZGVzdHJveSgpO1xuICAgIHRoaXMucG9wcGVySW5zdGFuY2UgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhvc3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLmxpc3RlbmVycy5wdXNoKFxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5kb2N1bWVudCwgJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghaG9zdC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgdGhpcy5zZXRWaXNpYmxlU3RhdGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5saXN0ZW5lcnMucHVzaChcbiAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZG9jdW1lbnQsICdrZXl1cCcsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIHRoaXMuc2V0VmlzaWJsZVN0YXRlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKCh1bkxpc3RlbikgPT4ge1xuICAgICAgdW5MaXN0ZW4oKTtcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy5saXN0ZW5lcnMuZmlsbCh1bmRlZmluZWQpO1xuICAgIHRoaXMubGlzdGVuZXJzID0gW107XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DropdownDividerDirective {
4
+ constructor() {
5
+ }
6
+ get hostClasses() {
7
+ return {
8
+ 'dropdown-divider': true,
9
+ };
10
+ }
11
+ }
12
+ DropdownDividerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownDividerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ DropdownDividerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownDividerDirective, selector: "[cDropdownDivider]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownDividerDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[cDropdownDivider]'
18
+ }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
20
+ type: HostBinding,
21
+ args: ['class']
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZGl2aWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWRpdmlkZXIvZHJvcGRvd24tZGl2aWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyx3QkFBd0I7SUFFbkM7SUFDQSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBRWIsT0FBTztZQUNMLGtCQUFrQixFQUFFLElBQUk7U0FDekIsQ0FBQztJQUNKLENBQUM7O3NIQVhVLHdCQUF3QjswR0FBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtpQkFDL0I7MEVBT0ssV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjRHJvcGRvd25EaXZpZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25EaXZpZGVyRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcblxuICAgIHJldHVybiB7XG4gICAgICAnZHJvcGRvd24tZGl2aWRlcic6IHRydWUsXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DropdownHeaderDirective {
4
+ constructor() {
5
+ }
6
+ get hostClasses() {
7
+ return {
8
+ 'dropdown-header': true,
9
+ };
10
+ }
11
+ }
12
+ DropdownHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ DropdownHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownHeaderDirective, selector: "[cDropdownHeader]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownHeaderDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[cDropdownHeader]'
18
+ }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
20
+ type: HostBinding,
21
+ args: ['class']
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24taGVhZGVyL2Ryb3Bkb3duLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyx1QkFBdUI7SUFFbEM7SUFDQSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBRWIsT0FBTztZQUNMLGlCQUFpQixFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNKLENBQUM7O3FIQVhVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7MEVBT0ssV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjRHJvcGRvd25IZWFkZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkhlYWRlckRpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ2Ryb3Bkb3duLWhlYWRlcic6IHRydWUsXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Directive, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DropdownItemPlainDirective {
4
+ constructor() {
5
+ }
6
+ get hostClasses() {
7
+ return {
8
+ 'dropdown-item-text': true,
9
+ };
10
+ }
11
+ }
12
+ DropdownItemPlainDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownItemPlainDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ DropdownItemPlainDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownItemPlainDirective, selector: "[cDropdownItemPlain]", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownItemPlainDirective, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[cDropdownItemPlain]'
18
+ }]
19
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
20
+ type: HostBinding,
21
+ args: ['class']
22
+ }] } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS1wbGFpbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS1wbGFpbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTywwQkFBMEI7SUFFckM7SUFDQSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBRWIsT0FBTztZQUNMLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQztJQUNKLENBQUM7O3dIQVhVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7MEVBT0ssV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjRHJvcGRvd25JdGVtUGxhaW5dJ1xufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkl0ZW1QbGFpbkRpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ2Ryb3Bkb3duLWl0ZW0tdGV4dCc6IHRydWUsXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,68 @@
1
+ import { Directive, HostBinding, HostListener, Input, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../dropdown.service";
4
+ import * as i2 from "../dropdown/dropdown.component";
5
+ export class DropdownItemDirective {
6
+ constructor(renderer, hostElement, dropdownService, dropdown) {
7
+ this.renderer = renderer;
8
+ this.hostElement = hostElement;
9
+ this.dropdownService = dropdownService;
10
+ this.dropdown = dropdown;
11
+ }
12
+ get ariaCurrent() {
13
+ return this.active ? 'true' : null;
14
+ }
15
+ get hostClasses() {
16
+ return {
17
+ 'dropdown-item': true,
18
+ active: this.active,
19
+ disabled: this.disabled,
20
+ };
21
+ }
22
+ onClick($event) {
23
+ this.dropdownService.toggle({ visible: 'toggle', dropdown: this.dropdown });
24
+ }
25
+ ngAfterContentInit() {
26
+ this.setAttributes(this.hostElement);
27
+ }
28
+ ngOnChanges(changes) {
29
+ if (changes.disabled) {
30
+ this.setAttributes(this.hostElement);
31
+ }
32
+ }
33
+ setAttributes(element) {
34
+ if (this.disabled) {
35
+ this.renderer.setAttribute(element.nativeElement, 'aria-disabled', 'true');
36
+ this.renderer.setAttribute(element.nativeElement, 'tabindex', '-1');
37
+ }
38
+ else {
39
+ this.renderer.removeAttribute(element.nativeElement, 'aria-disabled');
40
+ this.renderer.removeAttribute(element.nativeElement, 'tabindex');
41
+ }
42
+ }
43
+ }
44
+ DropdownItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownItemDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DropdownService }, { token: i2.DropdownComponent, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
45
+ DropdownItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownItemDirective, selector: "[cDropdownItem]", inputs: { active: "active", disabled: "disabled" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-current": "this.ariaCurrent", "class": "this.hostClasses" } }, exportAs: ["cDropdownItem"], usesOnChanges: true, ngImport: i0 });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownItemDirective, decorators: [{
47
+ type: Directive,
48
+ args: [{
49
+ selector: '[cDropdownItem]',
50
+ exportAs: 'cDropdownItem'
51
+ }]
52
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DropdownService }, { type: i2.DropdownComponent, decorators: [{
53
+ type: Optional
54
+ }] }]; }, propDecorators: { active: [{
55
+ type: Input
56
+ }], disabled: [{
57
+ type: Input
58
+ }], ariaCurrent: [{
59
+ type: HostBinding,
60
+ args: ['attr.aria-current']
61
+ }], hostClasses: [{
62
+ type: HostBinding,
63
+ args: ['class']
64
+ }], onClick: [{
65
+ type: HostListener,
66
+ args: ['click', ['$event']]
67
+ }] } });
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBR1QsTUFBTSxlQUFlLENBQUM7Ozs7QUFRdkIsTUFBTSxPQUFPLHFCQUFxQjtJQVVoQyxZQUNVLFFBQW1CLEVBQ25CLFdBQXVCLEVBQ3ZCLGVBQWdDLEVBQ3JCLFFBQTRCO1FBSHZDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ3JCLGFBQVEsR0FBUixRQUFRLENBQW9CO0lBRWpELENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQztJQUdNLE9BQU8sQ0FBQyxNQUFrQjtRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQVk7UUFDeEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3JFO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3RFLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDbEU7SUFDSCxDQUFDOzttSEF2RFUscUJBQXFCO3VHQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7OzBCQWVJLFFBQVE7NENBVkYsTUFBTTtzQkFBZCxLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV0YsV0FBVztzQkFEZCxXQUFXO3VCQUFDLG1CQUFtQjtnQkFNNUIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBVWIsT0FBTztzQkFEYixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duU2VydmljZSB9IGZyb20gJy4uL2Ryb3Bkb3duLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0Ryb3Bkb3duSXRlbV0nLFxuICBleHBvcnRBczogJ2NEcm9wZG93bkl0ZW0nXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBTZXQgYWN0aXZlIHN0YXRlIHRvIGEgZHJvcGRvd24taXRlbS5cbiAgICovXG4gIEBJbnB1dCgpIGFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhYmxlcyBhIGRyb3Bkb3duLWl0ZW0uXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaG9zdEVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBkcm9wZG93blNlcnZpY2U6IERyb3Bkb3duU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBwdWJsaWMgZHJvcGRvd24/OiBEcm9wZG93bkNvbXBvbmVudFxuICApIHtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWN1cnJlbnQnKVxuICBnZXQgYXJpYUN1cnJlbnQoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlID8gJ3RydWUnIDogbnVsbDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2Ryb3Bkb3duLWl0ZW0nOiB0cnVlLFxuICAgICAgYWN0aXZlOiB0aGlzLmFjdGl2ZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgIH07XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLnRvZ2dsZSh7dmlzaWJsZTogJ3RvZ2dsZScsIGRyb3Bkb3duOiB0aGlzLmRyb3Bkb3dufSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzKHRoaXMuaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZXModGhpcy5ob3N0RWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgc2V0QXR0cmlidXRlcyhlbGVtZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnYXJpYS1kaXNhYmxlZCcsICd0cnVlJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcsICctMScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdhcmlhLWRpc2FibGVkJyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShlbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd0YWJpbmRleCcpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,81 @@
1
+ import { Directive, HostBinding, Input, } from '@angular/core';
2
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../dropdown.service";
5
+ export class DropdownMenuDirective {
6
+ constructor(elementRef, dropdownService) {
7
+ this.elementRef = elementRef;
8
+ this.dropdownService = dropdownService;
9
+ /**
10
+ * Toggle the visibility of dropdown menu component.
11
+ */
12
+ this.visible = false;
13
+ this._dark = false;
14
+ }
15
+ /**
16
+ * Sets a darker color scheme to match a dark navbar.
17
+ */
18
+ get dark() {
19
+ return this._dark;
20
+ }
21
+ set dark(value) {
22
+ this._dark = coerceBooleanProperty(value);
23
+ }
24
+ get hostClasses() {
25
+ return {
26
+ 'dropdown-menu': true,
27
+ 'dropdown-menu-dark': this.dark,
28
+ [`dropdown-menu-${this.alignment}`]: !!this.alignment,
29
+ show: this.visible,
30
+ };
31
+ }
32
+ get hostStyles() {
33
+ // workaround for popper position calculate (see also: dropdown.component)
34
+ return {
35
+ visibility: this.visible ? null : '',
36
+ display: this.visible ? null : '',
37
+ };
38
+ }
39
+ ngOnInit() {
40
+ this.dropdownStateSubscribe();
41
+ }
42
+ ngOnDestroy() {
43
+ this.dropdownStateSubscribe(false);
44
+ }
45
+ dropdownStateSubscribe(subscribe = true) {
46
+ if (subscribe) {
47
+ this.dropdownStateSubscription =
48
+ this.dropdownService.dropdownState$.subscribe((state) => {
49
+ if ('visible' in state) {
50
+ this.visible =
51
+ state.visible === 'toggle' ? !this.visible : state.visible;
52
+ }
53
+ });
54
+ }
55
+ else {
56
+ this.dropdownStateSubscription.unsubscribe();
57
+ }
58
+ }
59
+ }
60
+ DropdownMenuDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownMenuDirective, deps: [{ token: i0.ElementRef }, { token: i1.DropdownService }], target: i0.ɵɵFactoryTarget.Directive });
61
+ DropdownMenuDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: { alignment: "alignment", visible: "visible", dark: "dark" }, host: { properties: { "class": "this.hostClasses", "style": "this.hostStyles" } }, exportAs: ["cDropdownMenu"], ngImport: i0 });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: DropdownMenuDirective, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: '[cDropdownMenu]',
66
+ exportAs: 'cDropdownMenu',
67
+ }]
68
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DropdownService }]; }, propDecorators: { alignment: [{
69
+ type: Input
70
+ }], visible: [{
71
+ type: Input
72
+ }], dark: [{
73
+ type: Input
74
+ }], hostClasses: [{
75
+ type: HostBinding,
76
+ args: ['class']
77
+ }], hostStyles: [{
78
+ type: HostBinding,
79
+ args: ['style']
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxHQUFzQixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQU81RSxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQ1MsVUFBc0IsRUFDckIsZUFBZ0M7UUFEakMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFTMUM7O1dBRUc7UUFDTSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBYWpCLFVBQUssR0FBRyxLQUFLLENBQUM7SUF4Qm5CLENBQUM7SUFhSjs7T0FFRztJQUNILElBQ0ksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsS0FBYztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFLRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDL0IsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ3JELElBQUksRUFBRSxJQUFJLENBQUMsT0FBTztTQUNuQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQ0ksVUFBVTtRQUNaLDBFQUEwRTtRQUMxRSxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xDLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxZQUFxQixJQUFJO1FBQ3RELElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLHlCQUF5QjtnQkFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ3RELElBQUksU0FBUyxJQUFJLEtBQUssRUFBRTt3QkFDdEIsSUFBSSxDQUFDLE9BQU87NEJBQ1YsS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztxQkFDOUQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0wsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7bUhBekVVLHFCQUFxQjt1R0FBckIscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGVBQWU7aUJBQzFCOytIQWFVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQU1GLElBQUk7c0JBRFAsS0FBSztnQkFhRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFXaEIsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERyb3Bkb3duU2VydmljZSB9IGZyb20gJy4uL2Ryb3Bkb3duLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0Ryb3Bkb3duTWVudV0nLFxuICBleHBvcnRBczogJ2NEcm9wZG93bk1lbnUnLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kYXJrOiBCb29sZWFuSW5wdXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBkcm9wZG93blNlcnZpY2U6IERyb3Bkb3duU2VydmljZVxuICApIHt9XG5cbiAgLyoqXG4gICAqIFNldCBhbGlnbm1lbnQgb2YgZHJvcGRvd24gbWVudS5cbiAgICogQHR5cGUgeydzdGFydCcgfCAnZW5kJyB9XG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCcgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiBkcm9wZG93biBtZW51IGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpIHZpc2libGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyBhIGRhcmtlciBjb2xvciBzY2hlbWUgdG8gbWF0Y2ggYSBkYXJrIG5hdmJhci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBkYXJrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kYXJrO1xuICB9XG5cbiAgc2V0IGRhcmsodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kYXJrID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIF9kYXJrID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBkcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2Ryb3Bkb3duLW1lbnUnOiB0cnVlLFxuICAgICAgJ2Ryb3Bkb3duLW1lbnUtZGFyayc6IHRoaXMuZGFyayxcbiAgICAgIFtgZHJvcGRvd24tbWVudS0ke3RoaXMuYWxpZ25tZW50fWBdOiAhIXRoaXMuYWxpZ25tZW50LFxuICAgICAgc2hvdzogdGhpcy52aXNpYmxlLFxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJylcbiAgZ2V0IGhvc3RTdHlsZXMoKSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgcG9wcGVyIHBvc2l0aW9uIGNhbGN1bGF0ZSAoc2VlIGFsc286IGRyb3Bkb3duLmNvbXBvbmVudClcbiAgICByZXR1cm4ge1xuICAgICAgdmlzaWJpbGl0eTogdGhpcy52aXNpYmxlID8gbnVsbCA6ICcnLFxuICAgICAgZGlzcGxheTogdGhpcy52aXNpYmxlID8gbnVsbCA6ICcnLFxuICAgIH07XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmliZShmYWxzZSk7XG4gIH1cblxuICBwcml2YXRlIGRyb3Bkb3duU3RhdGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbiA9XG4gICAgICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmRyb3Bkb3duU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgICBpZiAoJ3Zpc2libGUnIGluIHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPVxuICAgICAgICAgICAgICBzdGF0ZS52aXNpYmxlID09PSAndG9nZ2xlJyA/ICF0aGlzLnZpc2libGUgOiBzdGF0ZS52aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19