@coreui/angular 4.0.0-alpha.0 → 4.0.0-alpha.12

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 (384) hide show
  1. package/README.md +150 -150
  2. package/{esm2015/coreui-angular.js → esm2020/coreui-angular.mjs} +0 -0
  3. package/esm2020/lib/accordion/accordion/accordion.component.mjs +40 -0
  4. package/esm2020/lib/accordion/accordion-button/accordion-button.directive.mjs +43 -0
  5. package/esm2020/lib/accordion/accordion-item/accordion-item.component.mjs +72 -0
  6. package/{esm2015/lib/accordion/accordion.module.js → esm2020/lib/accordion/accordion.module.mjs} +5 -5
  7. package/{esm2015/lib/accordion/accordion.service.js → esm2020/lib/accordion/accordion.service.mjs} +7 -7
  8. package/{esm2015/lib/accordion/index.js → esm2020/lib/accordion/index.mjs} +0 -0
  9. package/{esm2015/lib/accordion/public_api.js → esm2020/lib/accordion/public_api.mjs} +0 -0
  10. package/{esm2015/lib/alert/alert-heading.directive.js → esm2020/lib/alert/alert-heading.directive.mjs} +4 -4
  11. package/{esm2015/lib/alert/alert-link.directive.js → esm2020/lib/alert/alert-link.directive.mjs} +4 -4
  12. package/esm2020/lib/alert/alert.component.mjs +181 -0
  13. package/{esm2015/lib/alert/alert.module.js → esm2020/lib/alert/alert.module.mjs} +5 -5
  14. package/{esm2015/lib/alert/index.js → esm2020/lib/alert/index.mjs} +0 -0
  15. package/{esm2015/lib/alert/public_api.js → esm2020/lib/alert/public_api.mjs} +0 -0
  16. package/esm2020/lib/avatar/avatar.component.mjs +49 -0
  17. package/{esm2015/lib/avatar/avatar.module.js → esm2020/lib/avatar/avatar.module.mjs} +5 -5
  18. package/{esm2015/lib/avatar/index.js → esm2020/lib/avatar/index.mjs} +0 -0
  19. package/{esm2015/lib/avatar/public_api.js → esm2020/lib/avatar/public_api.mjs} +0 -0
  20. package/esm2020/lib/backdrop/backdrop.service.mjs +52 -0
  21. package/esm2020/lib/badge/badge.component.mjs +42 -0
  22. package/{esm2015/lib/badge/badge.module.js → esm2020/lib/badge/badge.module.mjs} +5 -5
  23. package/{esm2015/lib/badge/index.js → esm2020/lib/badge/index.mjs} +0 -0
  24. package/{esm2015/lib/badge/public_api.js → esm2020/lib/badge/public_api.mjs} +0 -0
  25. package/esm2020/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +43 -0
  26. package/esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +37 -0
  27. package/{esm2015/lib/breadcrumb/breadcrumb-item/breadcrumb-item.js → esm2020/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs} +0 -0
  28. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +41 -0
  29. package/{esm2015/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.js → esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs} +5 -5
  30. package/{esm2015/lib/breadcrumb/breadcrumb.module.js → esm2020/lib/breadcrumb/breadcrumb.module.mjs} +5 -5
  31. package/{esm2015/lib/breadcrumb/index.js → esm2020/lib/breadcrumb/index.mjs} +0 -0
  32. package/{esm2015/lib/breadcrumb/public_api.js → esm2020/lib/breadcrumb/public_api.mjs} +0 -0
  33. package/esm2020/lib/button/button-close.directive.mjs +43 -0
  34. package/{esm2015/lib/button/button.directive.js → esm2020/lib/button/button.directive.mjs} +7 -4
  35. package/{esm2015/lib/button/button.module.js → esm2020/lib/button/button.module.mjs} +5 -5
  36. package/{esm2015/lib/button/index.js → esm2020/lib/button/index.mjs} +0 -0
  37. package/{esm2015/lib/button/public_api.js → esm2020/lib/button/public_api.mjs} +0 -0
  38. package/{esm2015/lib/button-group/button-group/button-group.component.js → esm2020/lib/button-group/button-group/button-group.component.mjs} +4 -4
  39. package/{esm2015/lib/button-group/button-group.module.js → esm2020/lib/button-group/button-group.module.mjs} +5 -5
  40. package/{esm2015/lib/button-group/button-toolbar/button-toolbar.component.js → esm2020/lib/button-group/button-toolbar/button-toolbar.component.mjs} +4 -4
  41. package/{esm2015/lib/button-group/index.js → esm2020/lib/button-group/index.mjs} +0 -0
  42. package/{esm2015/lib/button-group/public_api.js → esm2020/lib/button-group/public_api.mjs} +0 -0
  43. package/esm2020/lib/callout/callout.component.mjs +23 -0
  44. package/{esm2015/lib/callout/callout.module.js → esm2020/lib/callout/callout.module.mjs} +5 -5
  45. package/{esm2015/lib/callout/index.js → esm2020/lib/callout/index.mjs} +0 -0
  46. package/{esm2015/lib/callout/public_api.js → esm2020/lib/callout/public_api.mjs} +0 -0
  47. package/{esm2015/lib/card/card-body.component.js → esm2020/lib/card/card-body.component.mjs} +4 -4
  48. package/{esm2015/lib/card/card-footer.component.js → esm2020/lib/card/card-footer.component.mjs} +4 -4
  49. package/{esm2015/lib/card/card-group.component.js → esm2020/lib/card/card-group.component.mjs} +4 -4
  50. package/{esm2015/lib/card/card-header-actions.component.js → esm2020/lib/card/card-header-actions.component.mjs} +4 -4
  51. package/{esm2015/lib/card/card-header.component.js → esm2020/lib/card/card-header.component.mjs} +4 -4
  52. package/esm2020/lib/card/card-img-overlay/card-img-overlay.component.mjs +19 -0
  53. package/{esm2015/lib/card/card-img.directive.js → esm2020/lib/card/card-img.directive.mjs} +4 -4
  54. package/{esm2015/lib/card/card-link.directive.js → esm2020/lib/card/card-link.directive.mjs} +4 -4
  55. package/{esm2015/lib/card/card-subtitle.directive.js → esm2020/lib/card/card-subtitle.directive.mjs} +4 -4
  56. package/{esm2015/lib/card/card-text.directive.js → esm2020/lib/card/card-text.directive.mjs} +4 -4
  57. package/{esm2015/lib/card/card-title.directive.js → esm2020/lib/card/card-title.directive.mjs} +4 -4
  58. package/{esm2015/lib/card/card.component.js → esm2020/lib/card/card.component.mjs} +4 -4
  59. package/{esm2015/lib/card/card.module.js → esm2020/lib/card/card.module.mjs} +5 -5
  60. package/{esm2015/lib/card/index.js → esm2020/lib/card/index.mjs} +0 -0
  61. package/{esm2015/lib/card/public_api.js → esm2020/lib/card/public_api.mjs} +0 -0
  62. package/esm2020/lib/carousel/carousel/carousel.component.mjs +173 -0
  63. package/esm2020/lib/carousel/carousel-caption/carousel-caption.component.mjs +17 -0
  64. package/esm2020/lib/carousel/carousel-control/carousel-control.component.mjs +83 -0
  65. package/esm2020/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +45 -0
  66. package/esm2020/lib/carousel/carousel-inner/carousel-inner.component.mjs +47 -0
  67. package/esm2020/lib/carousel/carousel-item/carousel-item.component.mjs +68 -0
  68. package/esm2020/lib/carousel/carousel-state.mjs +73 -0
  69. package/esm2020/lib/carousel/carousel-state.type.mjs +2 -0
  70. package/{esm2015/lib/carousel/carousel.animation.js → esm2020/lib/carousel/carousel.animation.mjs} +0 -0
  71. package/{esm2015/lib/carousel/carousel.config.js → esm2020/lib/carousel/carousel.config.mjs} +4 -4
  72. package/{esm2015/lib/carousel/carousel.module.js → esm2020/lib/carousel/carousel.module.mjs} +5 -5
  73. package/{esm2015/lib/carousel/carousel.service.js → esm2020/lib/carousel/carousel.service.mjs} +4 -4
  74. package/{esm2015/lib/carousel/index.js → esm2020/lib/carousel/index.mjs} +0 -0
  75. package/esm2020/lib/carousel/intersection.service.mjs +33 -0
  76. package/{esm2015/lib/carousel/public_api.js → esm2020/lib/carousel/public_api.mjs} +0 -0
  77. package/{esm2015/lib/collapse/collapse.animations.js → esm2020/lib/collapse/collapse.animations.mjs} +0 -0
  78. package/esm2020/lib/collapse/collapse.directive.mjs +133 -0
  79. package/{esm2015/lib/collapse/collapse.module.js → esm2020/lib/collapse/collapse.module.mjs} +5 -5
  80. package/{esm2015/lib/collapse/index.js → esm2020/lib/collapse/index.mjs} +0 -0
  81. package/{esm2015/lib/collapse/public_api.js → esm2020/lib/collapse/public_api.mjs} +0 -0
  82. package/{esm2015/lib/coreui.types.js → esm2020/lib/coreui.types.mjs} +0 -0
  83. package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +296 -0
  84. package/{esm2015/lib/dropdown/dropdown-divider/dropdown-divider.directive.js → esm2020/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs} +4 -4
  85. package/{esm2015/lib/dropdown/dropdown-header/dropdown-header.directive.js → esm2020/lib/dropdown/dropdown-header/dropdown-header.directive.mjs} +4 -4
  86. package/{esm2015/lib/dropdown/dropdown-item/dropdown-item-plain.directive.js → esm2020/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs} +4 -4
  87. package/esm2020/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +68 -0
  88. package/{esm2015/lib/dropdown/dropdown-menu/dropdown-menu.directive.js → esm2020/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs} +4 -4
  89. package/{esm2015/lib/dropdown/dropdown.module.js → esm2020/lib/dropdown/dropdown.module.mjs} +5 -5
  90. package/{esm2015/lib/dropdown/dropdown.service.js → esm2020/lib/dropdown/dropdown.service.mjs} +4 -4
  91. package/{esm2015/lib/dropdown/index.js → esm2020/lib/dropdown/index.mjs} +0 -0
  92. package/{esm2015/lib/dropdown/public_api.js → esm2020/lib/dropdown/public_api.mjs} +0 -0
  93. package/{esm2015/lib/footer/footer.component.js → esm2020/lib/footer/footer.component.mjs} +4 -4
  94. package/{esm2015/lib/footer/footer.module.js → esm2020/lib/footer/footer.module.mjs} +5 -5
  95. package/{esm2015/lib/footer/index.js → esm2020/lib/footer/index.mjs} +0 -0
  96. package/{esm2015/lib/footer/public_api.js → esm2020/lib/footer/public_api.mjs} +0 -0
  97. package/{esm2015/lib/form/form/form.directive.js → esm2020/lib/form/form/form.directive.mjs} +4 -4
  98. package/{esm2015/lib/form/form-check/form-check-input.directive.js → esm2020/lib/form/form-check/form-check-input.directive.mjs} +5 -6
  99. package/{esm2015/lib/form/form-check/form-check-label.directive.js → esm2020/lib/form/form-check/form-check-label.directive.mjs} +4 -4
  100. package/{esm2015/lib/form/form-check/form-check.component.js → esm2020/lib/form/form-check/form-check.component.mjs} +4 -4
  101. package/{esm2015/lib/form/form-control/form-control.directive.js → esm2020/lib/form/form-control/form-control.directive.mjs} +4 -4
  102. package/{esm2015/lib/form/form-feedback/form-feedback.component.js → esm2020/lib/form/form-feedback/form-feedback.component.mjs} +4 -4
  103. package/{esm2015/lib/form/form-floating/form-floating.directive.js → esm2020/lib/form/form-floating/form-floating.directive.mjs} +4 -4
  104. package/{esm2015/lib/form/form-label/form-label.directive.js → esm2020/lib/form/form-label/form-label.directive.mjs} +4 -4
  105. package/{esm2015/lib/form/form-select/form-select.directive.js → esm2020/lib/form/form-select/form-select.directive.mjs} +4 -4
  106. package/{esm2015/lib/form/form-text/form-text.directive.js → esm2020/lib/form/form-text/form-text.directive.mjs} +4 -4
  107. package/{esm2015/lib/form/form.module.js → esm2020/lib/form/form.module.mjs} +5 -5
  108. package/{esm2015/lib/form/index.js → esm2020/lib/form/index.mjs} +0 -0
  109. package/{esm2015/lib/form/input-group/input-group.component.js → esm2020/lib/form/input-group/input-group.component.mjs} +4 -4
  110. package/{esm2015/lib/form/input-group-text/input-group-text.directive.js → esm2020/lib/form/input-group-text/input-group-text.directive.mjs} +4 -4
  111. package/{esm2015/lib/form/public_api.js → esm2020/lib/form/public_api.mjs} +0 -0
  112. package/esm2020/lib/grid/col.component.mjs +12 -0
  113. package/esm2020/lib/grid/col.directive.mjs +151 -0
  114. package/{esm2015/lib/grid/col.type.js → esm2020/lib/grid/col.type.mjs} +0 -0
  115. package/esm2020/lib/grid/container.component.mjs +43 -0
  116. package/{esm2015/lib/grid/container.type.js → esm2020/lib/grid/container.type.mjs} +0 -0
  117. package/{esm2015/lib/grid/grid.module.js → esm2020/lib/grid/grid.module.mjs} +5 -5
  118. package/esm2020/lib/grid/gutter.directive.mjs +56 -0
  119. package/{esm2015/lib/grid/gutter.type.js → esm2020/lib/grid/gutter.type.mjs} +0 -0
  120. package/{esm2015/lib/grid/index.js → esm2020/lib/grid/index.mjs} +0 -0
  121. package/{esm2015/lib/grid/public_api.js → esm2020/lib/grid/public_api.mjs} +0 -0
  122. package/esm2020/lib/grid/row.component.mjs +12 -0
  123. package/{esm2015/lib/grid/row.directive.js → esm2020/lib/grid/row.directive.mjs} +4 -4
  124. package/{esm2015/lib/grid/row.type.js → esm2020/lib/grid/row.type.mjs} +0 -0
  125. package/esm2020/lib/header/header/header.component.mjs +47 -0
  126. package/{esm2015/lib/header/header-brand/header-brand.component.js → esm2020/lib/header/header-brand/header-brand.component.mjs} +4 -4
  127. package/{esm2015/lib/header/header-divider/header-divider.component.js → esm2020/lib/header/header-divider/header-divider.component.mjs} +4 -4
  128. package/esm2020/lib/header/header-nav/header-nav.component.mjs +28 -0
  129. package/{esm2015/lib/header/header-text/header-text.component.js → esm2020/lib/header/header-text/header-text.component.mjs} +4 -4
  130. package/{esm2015/lib/header/header-toggler/header-toggler.directive.js → esm2020/lib/header/header-toggler/header-toggler.directive.mjs} +4 -4
  131. package/{esm2015/lib/header/header.module.js → esm2020/lib/header/header.module.mjs} +5 -5
  132. package/{esm2015/lib/header/index.js → esm2020/lib/header/index.mjs} +0 -0
  133. package/{esm2015/lib/header/public_api.js → esm2020/lib/header/public_api.mjs} +0 -0
  134. package/{esm2015/lib/image/img.directive.js → esm2020/lib/image/img.directive.mjs} +4 -4
  135. package/{esm2015/lib/image/img.module.js → esm2020/lib/image/img.module.mjs} +5 -5
  136. package/{esm2015/lib/image/index.js → esm2020/lib/image/index.mjs} +0 -0
  137. package/{esm2015/lib/image/public_api.js → esm2020/lib/image/public_api.mjs} +0 -0
  138. package/{esm2015/lib/list-group/index.js → esm2020/lib/list-group/index.mjs} +0 -0
  139. package/{esm2015/lib/list-group/list-group-item.directive.js → esm2020/lib/list-group/list-group-item.directive.mjs} +4 -4
  140. package/{esm2015/lib/list-group/list-group.directive.js → esm2020/lib/list-group/list-group.directive.mjs} +4 -4
  141. package/{esm2015/lib/list-group/list-group.module.js → esm2020/lib/list-group/list-group.module.mjs} +5 -5
  142. package/{esm2015/lib/list-group/public_api.js → esm2020/lib/list-group/public_api.mjs} +0 -0
  143. package/{esm2015/lib/modal/index.js → esm2020/lib/modal/index.mjs} +0 -0
  144. package/esm2020/lib/modal/modal/modal.component.mjs +314 -0
  145. package/esm2020/lib/modal/modal-body/modal-body.component.mjs +19 -0
  146. package/esm2020/lib/modal/modal-content/modal-content.component.mjs +36 -0
  147. package/esm2020/lib/modal/modal-dialog/modal-dialog.component.mjs +32 -0
  148. package/{esm2015/lib/modal/modal-dismiss/modal-toggle.directive.js → esm2020/lib/modal/modal-dismiss/modal-toggle.directive.mjs} +4 -4
  149. package/{esm2015/lib/modal/modal-footer/modal-footer.component.js → esm2020/lib/modal/modal-footer/modal-footer.component.mjs} +4 -4
  150. package/{esm2015/lib/modal/modal-header/modal-header.component.js → esm2020/lib/modal/modal-header/modal-header.component.mjs} +4 -4
  151. package/{esm2015/lib/modal/modal-title/modal-title.directive.js → esm2020/lib/modal/modal-title/modal-title.directive.mjs} +4 -4
  152. package/{esm2015/lib/modal/modal.module.js → esm2020/lib/modal/modal.module.mjs} +5 -5
  153. package/{esm2015/lib/modal/modal.service.js → esm2020/lib/modal/modal.service.mjs} +4 -4
  154. package/{esm2015/lib/modal/public_api.js → esm2020/lib/modal/public_api.mjs} +0 -0
  155. package/{esm2015/lib/nav/index.js → esm2020/lib/nav/index.mjs} +0 -0
  156. package/esm2020/lib/nav/nav-item.component.mjs +19 -0
  157. package/esm2020/lib/nav/nav-link.directive.mjs +87 -0
  158. package/esm2020/lib/nav/nav.component.mjs +27 -0
  159. package/{esm2015/lib/nav/nav.module.js → esm2020/lib/nav/nav.module.mjs} +5 -5
  160. package/{esm2015/lib/nav/public_api.js → esm2020/lib/nav/public_api.mjs} +0 -0
  161. package/{esm2015/lib/navbar/index.js → esm2020/lib/navbar/index.mjs} +0 -0
  162. package/{esm2015/lib/navbar/navbar-brand/navbar-brand.directive.js → esm2020/lib/navbar/navbar-brand/navbar-brand.directive.mjs} +4 -4
  163. package/{esm2015/lib/navbar/navbar-nav/navbar-nav.component.js → esm2020/lib/navbar/navbar-nav/navbar-nav.component.mjs} +4 -4
  164. package/{esm2015/lib/navbar/navbar-text/navbar-text.component.js → esm2020/lib/navbar/navbar-text/navbar-text.component.mjs} +4 -4
  165. package/esm2020/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +63 -0
  166. package/esm2020/lib/navbar/navbar.component.mjs +84 -0
  167. package/{esm2015/lib/navbar/navbar.module.js → esm2020/lib/navbar/navbar.module.mjs} +5 -5
  168. package/{esm2015/lib/navbar/public_api.js → esm2020/lib/navbar/public_api.mjs} +0 -0
  169. package/{esm2015/lib/offcanvas/index.js → esm2020/lib/offcanvas/index.mjs} +0 -0
  170. package/esm2020/lib/offcanvas/offcanvas/offcanvas.component.mjs +244 -0
  171. package/esm2020/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +19 -0
  172. package/esm2020/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +19 -0
  173. package/{esm2015/lib/offcanvas/offcanvas-title/offcanvas-title.directive.js → esm2020/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs} +4 -4
  174. package/{esm2015/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.js → esm2020/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs} +4 -4
  175. package/{esm2015/lib/offcanvas/offcanvas.module.js → esm2020/lib/offcanvas/offcanvas.module.mjs} +5 -5
  176. package/{esm2015/lib/offcanvas/offcanvas.service.js → esm2020/lib/offcanvas/offcanvas.service.mjs} +4 -4
  177. package/{esm2015/lib/offcanvas/public_api.js → esm2020/lib/offcanvas/public_api.mjs} +0 -0
  178. package/{esm2015/lib/pagination/index.js → esm2020/lib/pagination/index.mjs} +0 -0
  179. package/esm2020/lib/pagination/page-item/page-item.component.mjs +12 -0
  180. package/esm2020/lib/pagination/page-item/page-item.directive.mjs +62 -0
  181. package/{esm2015/lib/pagination/page-link/page-link.directive.js → esm2020/lib/pagination/page-link/page-link.directive.mjs} +4 -4
  182. package/esm2020/lib/pagination/pagination/pagination.component.mjs +41 -0
  183. package/{esm2015/lib/pagination/pagination.module.js → esm2020/lib/pagination/pagination.module.mjs} +5 -5
  184. package/{esm2015/lib/pagination/public_api.js → esm2020/lib/pagination/public_api.mjs} +0 -0
  185. package/{esm2015/lib/popover/index.js → esm2020/lib/popover/index.mjs} +0 -0
  186. package/esm2020/lib/popover/popover/popover.component.mjs +92 -0
  187. package/esm2020/lib/popover/popover.directive.mjs +191 -0
  188. package/{esm2015/lib/popover/popover.module.js → esm2020/lib/popover/popover.module.mjs} +5 -5
  189. package/{esm2015/lib/popover/public_api.js → esm2020/lib/popover/public_api.mjs} +0 -0
  190. package/{esm2015/lib/progress/index.js → esm2020/lib/progress/index.mjs} +0 -0
  191. package/{esm2015/lib/progress/progress-bar.component.js → esm2020/lib/progress/progress-bar.component.mjs} +4 -4
  192. package/{esm2015/lib/progress/progress-bar.js → esm2020/lib/progress/progress-bar.mjs} +0 -0
  193. package/{esm2015/lib/progress/progress.component.js → esm2020/lib/progress/progress.component.mjs} +4 -4
  194. package/{esm2015/lib/progress/progress.module.js → esm2020/lib/progress/progress.module.mjs} +5 -5
  195. package/{esm2015/lib/progress/public_api.js → esm2020/lib/progress/public_api.mjs} +0 -0
  196. package/{esm2015/lib/services/class-toggle.service.js → esm2020/lib/services/class-toggle.service.mjs} +4 -4
  197. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  198. package/esm2020/lib/services/listeners.service.mjs +43 -0
  199. package/{esm2015/lib/services/public_api.js → esm2020/lib/services/public_api.mjs} +0 -0
  200. package/{esm2015/lib/shared/html-attr.directive.js → esm2020/lib/shared/html-attr.directive.mjs} +4 -4
  201. package/{esm2015/lib/shared/index.js → esm2020/lib/shared/index.mjs} +0 -0
  202. package/{esm2015/lib/shared/public_api.js → esm2020/lib/shared/public_api.mjs} +0 -0
  203. package/{esm2015/lib/shared/shared.module.js → esm2020/lib/shared/shared.module.mjs} +5 -5
  204. package/{esm2015/lib/shared/template-id.directive.js → esm2020/lib/shared/template-id.directive.mjs} +4 -4
  205. package/{esm2015/lib/sidebar/index.js → esm2020/lib/sidebar/index.mjs} +0 -0
  206. package/{esm2015/lib/sidebar/public_api.js → esm2020/lib/sidebar/public_api.mjs} +0 -0
  207. package/esm2020/lib/sidebar/sidebar/sidebar.component.mjs +217 -0
  208. package/{esm2015/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.js → esm2020/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs} +4 -4
  209. package/esm2020/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +30 -0
  210. package/esm2020/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +20 -0
  211. package/esm2020/lib/sidebar/sidebar-header/sidebar-header.component.mjs +20 -0
  212. package/{esm2015/lib/sidebar/sidebar-nav/index.js → esm2020/lib/sidebar/sidebar-nav/index.mjs} +0 -0
  213. package/{esm2015/lib/sidebar/sidebar-nav/public_api.js → esm2020/lib/sidebar/sidebar-nav/public_api.mjs} +0 -0
  214. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs} +4 -4
  215. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs} +4 -4
  216. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs} +4 -4
  217. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs} +4 -4
  218. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +43 -0
  219. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +94 -0
  220. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +23 -0
  221. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav-title.component.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs} +4 -4
  222. package/esm2020/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +137 -0
  223. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav.mjs} +0 -0
  224. package/{esm2015/lib/sidebar/sidebar-nav/sidebar-nav.service.js → esm2020/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs} +7 -7
  225. package/{esm2015/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.js → esm2020/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs} +4 -4
  226. package/{esm2015/lib/sidebar/sidebar-toggler/sidebar-toggler.component.js → esm2020/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs} +4 -4
  227. package/{esm2015/lib/sidebar/sidebar.module.js → esm2020/lib/sidebar/sidebar.module.mjs} +5 -5
  228. package/{esm2015/lib/sidebar/sidebar.service.js → esm2020/lib/sidebar/sidebar.service.mjs} +4 -4
  229. package/{esm2015/lib/spinner/index.js → esm2020/lib/spinner/index.mjs} +0 -0
  230. package/{esm2015/lib/spinner/public_api.js → esm2020/lib/spinner/public_api.mjs} +0 -0
  231. package/esm2020/lib/spinner/spinner.component.mjs +49 -0
  232. package/{esm2015/lib/spinner/spinner.module.js → esm2020/lib/spinner/spinner.module.mjs} +5 -5
  233. package/{esm2015/lib/table/index.js → esm2020/lib/table/index.mjs} +0 -0
  234. package/{esm2015/lib/table/public_api.js → esm2020/lib/table/public_api.mjs} +0 -0
  235. package/{esm2015/lib/table/table-active.directive.js → esm2020/lib/table/table-active.directive.mjs} +4 -4
  236. package/{esm2015/lib/table/table-color.directive.js → esm2020/lib/table/table-color.directive.mjs} +4 -4
  237. package/{esm2015/lib/table/table.directive.js → esm2020/lib/table/table.directive.mjs} +4 -4
  238. package/{esm2015/lib/table/table.module.js → esm2020/lib/table/table.module.mjs} +5 -5
  239. package/{esm2015/lib/tabs/index.js → esm2020/lib/tabs/index.mjs} +0 -0
  240. package/{esm2015/lib/tabs/public_api.js → esm2020/lib/tabs/public_api.mjs} +0 -0
  241. package/esm2020/lib/tabs/tab-content/tab-content.component.mjs +92 -0
  242. package/esm2020/lib/tabs/tab-content-ref.directive.mjs +128 -0
  243. package/{esm2015/lib/tabs/tab-pane/tab-pane.component.js → esm2020/lib/tabs/tab-pane/tab-pane.component.mjs} +5 -10
  244. package/{esm2015/lib/tabs/tab.service.js → esm2020/lib/tabs/tab.service.mjs} +4 -4
  245. package/{esm2015/lib/tabs/tabs.module.js → esm2020/lib/tabs/tabs.module.mjs} +5 -5
  246. package/{esm2015/lib/toast/index.js → esm2020/lib/toast/index.mjs} +0 -0
  247. package/{esm2015/lib/toast/public_api.js → esm2020/lib/toast/public_api.mjs} +0 -0
  248. package/{esm2015/lib/toast/toast/toast.component.js → esm2020/lib/toast/toast/toast.component.mjs} +6 -12
  249. package/esm2020/lib/toast/toast-body/toast-body.component.mjs +21 -0
  250. package/{esm2015/lib/toast/toast-close.directive.js → esm2020/lib/toast/toast-close.directive.mjs} +4 -4
  251. package/esm2020/lib/toast/toast-header/toast-header.component.mjs +31 -0
  252. package/{esm2015/lib/toast/toast.module.js → esm2020/lib/toast/toast.module.mjs} +5 -5
  253. package/{esm2015/lib/toast/toaster/toaster-host.directive.js → esm2020/lib/toast/toaster/toaster-host.directive.mjs} +4 -4
  254. package/esm2020/lib/toast/toaster/toaster.component.mjs +140 -0
  255. package/esm2020/lib/toast/toaster/toaster.service.mjs +21 -0
  256. package/{esm2015/lib/tooltip/index.js → esm2020/lib/tooltip/index.mjs} +0 -0
  257. package/{esm2015/lib/tooltip/public_api.js → esm2020/lib/tooltip/public_api.mjs} +0 -0
  258. package/esm2020/lib/tooltip/tooltip/tooltip.component.mjs +88 -0
  259. package/esm2020/lib/tooltip/tooltip.directive.mjs +185 -0
  260. package/{esm2015/lib/tooltip/tooltip.module.js → esm2020/lib/tooltip/tooltip.module.mjs} +5 -5
  261. package/{esm2015/lib/utilities/align.directive.js → esm2020/lib/utilities/align.directive.mjs} +4 -4
  262. package/{esm2015/lib/utilities/bg-color.directive.js → esm2020/lib/utilities/bg-color.directive.mjs} +4 -4
  263. package/esm2020/lib/utilities/border.directive.mjs +66 -0
  264. package/{esm2015/lib/utilities/border.type.js → esm2020/lib/utilities/border.type.mjs} +0 -0
  265. package/{esm2015/lib/utilities/index.js → esm2020/lib/utilities/index.mjs} +0 -0
  266. package/{esm2015/lib/utilities/public_api.js → esm2020/lib/utilities/public_api.mjs} +0 -0
  267. package/esm2020/lib/utilities/rounded.directive.mjs +65 -0
  268. package/{esm2015/lib/utilities/rounded.type.js → esm2020/lib/utilities/rounded.type.mjs} +0 -0
  269. package/{esm2015/lib/utilities/text-color.directive.js → esm2020/lib/utilities/text-color.directive.mjs} +4 -4
  270. package/{esm2015/lib/utilities/utilities.module.js → esm2020/lib/utilities/utilities.module.mjs} +5 -5
  271. package/{esm2015/lib/widget/index.js → esm2020/lib/widget/index.mjs} +0 -0
  272. package/{esm2015/lib/widget/public_api.js → esm2020/lib/widget/public_api.mjs} +0 -0
  273. package/esm2020/lib/widget/widget-stat-a/widget-stat-a.component.mjs +49 -0
  274. package/esm2020/lib/widget/widget-stat-b/widget-stat-b.component.mjs +52 -0
  275. package/esm2020/lib/widget/widget-stat-c/widget-stat-c.component.mjs +80 -0
  276. package/esm2020/lib/widget/widget-stat-d/widget-stat-d.component.mjs +39 -0
  277. package/esm2020/lib/widget/widget-stat-e/widget-stat-e.component.mjs +30 -0
  278. package/esm2020/lib/widget/widget-stat-f/widget-stat-f.component.mjs +96 -0
  279. package/{esm2015/lib/widget/widget.module.js → esm2020/lib/widget/widget.module.mjs} +5 -5
  280. package/esm2020/public-api.mjs +40 -0
  281. package/fesm2015/{coreui-angular.js → coreui-angular.mjs} +1049 -1156
  282. package/fesm2015/coreui-angular.mjs.map +1 -0
  283. package/fesm2020/coreui-angular.mjs +9349 -0
  284. package/fesm2020/coreui-angular.mjs.map +1 -0
  285. package/lib/accordion/accordion-button/accordion-button.directive.d.ts +7 -1
  286. package/lib/accordion/accordion-item/accordion-item.component.d.ts +9 -2
  287. package/lib/accordion/accordion.service.d.ts +1 -1
  288. package/lib/alert/alert.component.d.ts +7 -1
  289. package/lib/backdrop/backdrop.service.d.ts +1 -1
  290. package/lib/carousel/carousel/carousel.component.d.ts +23 -5
  291. package/lib/carousel/carousel-item/carousel-item.component.d.ts +8 -2
  292. package/lib/carousel/carousel.service.d.ts +1 -0
  293. package/lib/carousel/intersection.service.d.ts +15 -0
  294. package/lib/collapse/collapse.directive.d.ts +5 -3
  295. package/lib/modal/modal/modal.component.d.ts +4 -1
  296. package/lib/nav/nav-link.directive.d.ts +1 -0
  297. package/package.json +26 -13
  298. package/public-api.d.ts +0 -1
  299. package/bundles/coreui-angular.umd.js +0 -11559
  300. package/bundles/coreui-angular.umd.js.map +0 -1
  301. package/esm2015/lib/accordion/accordion/accordion.component.js +0 -46
  302. package/esm2015/lib/accordion/accordion-button/accordion-button.directive.js +0 -30
  303. package/esm2015/lib/accordion/accordion-item/accordion-item.component.js +0 -60
  304. package/esm2015/lib/alert/alert.component.js +0 -176
  305. package/esm2015/lib/avatar/avatar.component.js +0 -53
  306. package/esm2015/lib/backdrop/backdrop.service.js +0 -52
  307. package/esm2015/lib/badge/badge.component.js +0 -47
  308. package/esm2015/lib/breadcrumb/breadcrumb/breadcrumb.component.js +0 -47
  309. package/esm2015/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.js +0 -41
  310. package/esm2015/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.js +0 -45
  311. package/esm2015/lib/button/button-close.directive.js +0 -43
  312. package/esm2015/lib/callout/callout.component.js +0 -27
  313. package/esm2015/lib/card/card-img-overlay/card-img-overlay.component.js +0 -23
  314. package/esm2015/lib/carousel/carousel/carousel.component.js +0 -140
  315. package/esm2015/lib/carousel/carousel-caption/carousel-caption.component.js +0 -21
  316. package/esm2015/lib/carousel/carousel-control/carousel-control.component.js +0 -88
  317. package/esm2015/lib/carousel/carousel-indicators/carousel-indicators.component.js +0 -51
  318. package/esm2015/lib/carousel/carousel-inner/carousel-inner.component.js +0 -53
  319. package/esm2015/lib/carousel/carousel-item/carousel-item.component.js +0 -65
  320. package/esm2015/lib/carousel/carousel-state.js +0 -72
  321. package/esm2015/lib/carousel/carousel-state.type.js +0 -2
  322. package/esm2015/lib/chart/chart.module.js +0 -26
  323. package/esm2015/lib/chart/index.js +0 -2
  324. package/esm2015/lib/chart/no-zone-basechart.directive.js +0 -26
  325. package/esm2015/lib/chart/public_api.js +0 -3
  326. package/esm2015/lib/collapse/collapse.directive.js +0 -125
  327. package/esm2015/lib/dropdown/dropdown/dropdown.component.js +0 -304
  328. package/esm2015/lib/dropdown/dropdown-item/dropdown-item.directive.js +0 -68
  329. package/esm2015/lib/grid/col.component.js +0 -16
  330. package/esm2015/lib/grid/col.directive.js +0 -151
  331. package/esm2015/lib/grid/container.component.js +0 -47
  332. package/esm2015/lib/grid/gutter.directive.js +0 -56
  333. package/esm2015/lib/grid/row.component.js +0 -16
  334. package/esm2015/lib/header/header/header.component.js +0 -50
  335. package/esm2015/lib/header/header-nav/header-nav.component.js +0 -32
  336. package/esm2015/lib/modal/modal/modal.component.js +0 -309
  337. package/esm2015/lib/modal/modal-body/modal-body.component.js +0 -23
  338. package/esm2015/lib/modal/modal-content/modal-content.component.js +0 -37
  339. package/esm2015/lib/modal/modal-dialog/modal-dialog.component.js +0 -36
  340. package/esm2015/lib/nav/nav-item.component.js +0 -23
  341. package/esm2015/lib/nav/nav-link.directive.js +0 -81
  342. package/esm2015/lib/nav/nav.component.js +0 -31
  343. package/esm2015/lib/navbar/navbar-toggler/navbar-toggler.directive.js +0 -64
  344. package/esm2015/lib/navbar/navbar.component.js +0 -88
  345. package/esm2015/lib/offcanvas/offcanvas/offcanvas.component.js +0 -251
  346. package/esm2015/lib/offcanvas/offcanvas-body/offcanvas-body.component.js +0 -23
  347. package/esm2015/lib/offcanvas/offcanvas-header/offcanvas-header.component.js +0 -23
  348. package/esm2015/lib/pagination/page-item/page-item.component.js +0 -16
  349. package/esm2015/lib/pagination/page-item/page-item.directive.js +0 -62
  350. package/esm2015/lib/pagination/pagination/pagination.component.js +0 -45
  351. package/esm2015/lib/popover/popover/popover.component.js +0 -96
  352. package/esm2015/lib/popover/popover.directive.js +0 -193
  353. package/esm2015/lib/services/listeners.service.js +0 -44
  354. package/esm2015/lib/sidebar/sidebar/sidebar.component.js +0 -214
  355. package/esm2015/lib/sidebar/sidebar-brand/sidebar-brand.component.js +0 -33
  356. package/esm2015/lib/sidebar/sidebar-footer/sidebar-footer.component.js +0 -24
  357. package/esm2015/lib/sidebar/sidebar-header/sidebar-header.component.js +0 -24
  358. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-label.component.js +0 -46
  359. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-link.component.js +0 -99
  360. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.js +0 -24
  361. package/esm2015/lib/sidebar/sidebar-nav/sidebar-nav.component.js +0 -147
  362. package/esm2015/lib/spinner/spinner.component.js +0 -52
  363. package/esm2015/lib/tabs/tab-content/tab-content.component.js +0 -101
  364. package/esm2015/lib/tabs/tab-content-ref.directive.js +0 -130
  365. package/esm2015/lib/toast/toast-body/toast-body.component.js +0 -26
  366. package/esm2015/lib/toast/toast-header/toast-header.component.js +0 -36
  367. package/esm2015/lib/toast/toaster/toaster.component.js +0 -149
  368. package/esm2015/lib/toast/toaster/toaster.service.js +0 -21
  369. package/esm2015/lib/tooltip/tooltip/tooltip.component.js +0 -92
  370. package/esm2015/lib/tooltip/tooltip.directive.js +0 -188
  371. package/esm2015/lib/utilities/border.directive.js +0 -66
  372. package/esm2015/lib/utilities/rounded.directive.js +0 -56
  373. package/esm2015/lib/widget/widget-stat-a/widget-stat-a.component.js +0 -54
  374. package/esm2015/lib/widget/widget-stat-b/widget-stat-b.component.js +0 -57
  375. package/esm2015/lib/widget/widget-stat-c/widget-stat-c.component.js +0 -85
  376. package/esm2015/lib/widget/widget-stat-d/widget-stat-d.component.js +0 -44
  377. package/esm2015/lib/widget/widget-stat-e/widget-stat-e.component.js +0 -35
  378. package/esm2015/lib/widget/widget-stat-f/widget-stat-f.component.js +0 -101
  379. package/esm2015/public-api.js +0 -41
  380. package/fesm2015/coreui-angular.js.map +0 -1
  381. package/lib/chart/chart.module.d.ts +0 -8
  382. package/lib/chart/index.d.ts +0 -1
  383. package/lib/chart/no-zone-basechart.directive.d.ts +0 -9
  384. package/lib/chart/public_api.d.ts +0 -2
@@ -1,304 +0,0 @@
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==
@@ -1,68 +0,0 @@
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
@@ -1,16 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { ColDirective } from './col.directive';
3
- import * as i0 from "@angular/core";
4
- export class ColComponent extends ColDirective {
5
- }
6
- ColComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
7
- ColComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ColComponent, selector: "c-col", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColComponent, decorators: [{
9
- type: Component,
10
- args: [{
11
- selector: 'c-col',
12
- template: '<ng-content></ng-content>',
13
- styleUrls: ['./col.component.scss'],
14
- }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZC9jb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU8vQyxNQUFNLE9BQU8sWUFBYSxTQUFRLFlBQVk7OzBHQUFqQyxZQUFZOzhGQUFaLFlBQVksb0VBSGIsMkJBQTJCOzRGQUcxQixZQUFZO2tCQUx4QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxPQUFPO29CQUNqQixRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy1jb2wnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi9jb2wuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sQ29tcG9uZW50IGV4dGVuZHMgQ29sRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,151 +0,0 @@
1
- import { Directive, HostBinding, Input } from '@angular/core';
2
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
- import { BreakpointInfix } from '../coreui.types';
4
- import * as i0 from "@angular/core";
5
- export class ColDirective {
6
- constructor() {
7
- this._xs = false;
8
- this._sm = false;
9
- this._md = false;
10
- this._lg = false;
11
- this._xl = false;
12
- this._xxl = false;
13
- }
14
- /**
15
- * The number of columns/offset/order on extra small devices (<576px).
16
- * @type { 'auto' | number | boolean }
17
- */
18
- set xs(value) {
19
- this._xs = this.coerceInput(value);
20
- }
21
- get xs() {
22
- return this._xs;
23
- }
24
- /**
25
- * The number of columns/offset/order on small devices (<768px).
26
- * @type { 'auto' | number | boolean }
27
- */
28
- set sm(value) {
29
- this._sm = this.coerceInput(value);
30
- }
31
- get sm() {
32
- return this._sm;
33
- }
34
- /**
35
- * The number of columns/offset/order on medium devices (<992px).
36
- * @type { 'auto' | number | boolean }
37
- */
38
- set md(value) {
39
- this._md = this.coerceInput(value);
40
- }
41
- get md() {
42
- return this._md;
43
- }
44
- /**
45
- * The number of columns/offset/order on large devices (<1200px).
46
- * @type { 'auto' | number | boolean }
47
- */
48
- set lg(value) {
49
- this._lg = this.coerceInput(value);
50
- }
51
- get lg() {
52
- return this._lg;
53
- }
54
- /**
55
- * The number of columns/offset/order on X-Large devices (<1400px).
56
- * @type { 'auto' | number | boolean }
57
- */
58
- set xl(value) {
59
- this._xl = this.coerceInput(value);
60
- }
61
- get xl() {
62
- return this._xl;
63
- }
64
- /**
65
- * The number of columns/offset/order on XX-Large devices (≥1400px).
66
- * @type { 'auto' | number | boolean }
67
- */
68
- set xxl(value) {
69
- this._xxl = this.coerceInput(value);
70
- }
71
- get xxl() {
72
- return this._xxl;
73
- }
74
- get hostClasses() {
75
- const classes = {
76
- col: true
77
- };
78
- Object.keys(BreakpointInfix).forEach((breakpoint) => {
79
- // @ts-ignore
80
- const value = this[breakpoint];
81
- const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;
82
- classes[`col${infix}`] = value === true;
83
- classes[`col${infix}-${value}`] = (typeof value === 'number') || (typeof value === 'string');
84
- });
85
- if (typeof this.offset === 'object') {
86
- const offset = Object.assign({}, this.offset);
87
- Object.entries(offset).forEach((entry) => {
88
- const [breakpoint, value] = [...entry];
89
- const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;
90
- classes[`offset${infix}-${value}`] = value >= 0 && value <= 11;
91
- });
92
- }
93
- else {
94
- classes[`offset-${this.offset}`] = (typeof this.offset === 'number') && this.offset > 0 && this.offset <= 11;
95
- }
96
- if (typeof this.order === 'object') {
97
- const order = Object.assign({}, this.order);
98
- Object.entries(order).forEach((entry) => {
99
- const [breakpoint, value] = [...entry];
100
- const infix = breakpoint === 'xs' ? '' : `-${breakpoint}`;
101
- classes[`order${infix}-${value}`] = value;
102
- });
103
- }
104
- else {
105
- classes[`order-${this.order}`] = !!this.order;
106
- }
107
- // if there is no 'col' class, add one
108
- classes.col = (!Object.entries(classes).filter(i => i[0].startsWith('col-') && i[1]).length) || this.xs === true;
109
- return classes;
110
- }
111
- coerceInput(value) {
112
- if (value === 'auto') {
113
- return value;
114
- }
115
- if (value === '' || value === undefined || value === null) {
116
- return coerceBooleanProperty(value);
117
- }
118
- if (typeof value === 'boolean') {
119
- return value;
120
- }
121
- return coerceNumberProperty(value);
122
- }
123
- }
124
- ColDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
125
- ColDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ColDirective, selector: "[cCol]", inputs: { xs: "xs", sm: "sm", md: "md", lg: "lg", xl: "xl", xxl: "xxl", offset: "offset", order: "order" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: ColDirective, decorators: [{
127
- type: Directive,
128
- args: [{
129
- selector: '[cCol]'
130
- }]
131
- }], propDecorators: { xs: [{
132
- type: Input
133
- }], sm: [{
134
- type: Input
135
- }], md: [{
136
- type: Input
137
- }], lg: [{
138
- type: Input
139
- }], xl: [{
140
- type: Input
141
- }], xxl: [{
142
- type: Input
143
- }], offset: [{
144
- type: Input
145
- }], order: [{
146
- type: Input
147
- }], hostClasses: [{
148
- type: HostBinding,
149
- args: ['class']
150
- }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZC9jb2wuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7QUFHL0csT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQXVCVSxRQUFHLEdBQWlDLEtBQUssQ0FBQztRQWExQyxRQUFHLEdBQWlDLEtBQUssQ0FBQztRQWExQyxRQUFHLEdBQWlDLEtBQUssQ0FBQztRQWExQyxRQUFHLEdBQWlDLEtBQUssQ0FBQztRQWExQyxRQUFHLEdBQWlDLEtBQUssQ0FBQztRQWExQyxTQUFJLEdBQWlDLEtBQUssQ0FBQztLQTJEcEQ7SUF2SUM7OztPQUdHO0lBQ0gsSUFDSSxFQUFFLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFHRDs7O09BR0c7SUFDSCxJQUNJLEVBQUUsQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUdEOzs7T0FHRztJQUNILElBQ0ksRUFBRSxDQUFDLEtBQUs7UUFDVixJQUFJLENBQUMs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LE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OzBHQS9JVSxZQUFZOzhGQUFaLFlBQVk7NEZBQVosWUFBWTtrQkFIeEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtpQkFDbkI7OEJBZUssRUFBRTtzQkFETCxLQUFLO2dCQWNGLEVBQUU7c0JBREwsS0FBSztnQkFjRixFQUFFO3NCQURMLEtBQUs7Z0JBY0YsRUFBRTtzQkFETCxLQUFLO2dCQWNGLEVBQUU7c0JBREwsS0FBSztnQkFjRixHQUFHO3NCQUROLEtBQUs7Z0JBU0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHRixXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgQ29sT3JkZXIsIElDb2wgfSBmcm9tICcuL2NvbC50eXBlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRJbmZpeCB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjQ29sXSdcbn0pXG5leHBvcnQgY2xhc3MgQ29sRGlyZWN0aXZlIGltcGxlbWVudHMgSUNvbCB7XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3hzOiAoQm9vbGVhbklucHV0IHwgTnVtYmVySW5wdXQpO1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc206IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCk7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9tZDogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KTtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2xnOiAoQm9vbGVhbklucHV0IHwgTnVtYmVySW5wdXQpO1xuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfeGw6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCk7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV94eGw6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCk7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgY29sdW1ucy9vZmZzZXQvb3JkZXIgb24gZXh0cmEgc21hbGwgZGV2aWNlcyAoPDU3NnB4KS5cbiAgICogQHR5cGUgeyAnYXV0bycgfCBudW1iZXIgfCAgYm9vbGVhbiB9XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgeHModmFsdWUpIHtcbiAgICB0aGlzLl94cyA9IHRoaXMuY29lcmNlSW5wdXQodmFsdWUpO1xuICB9XG4gIGdldCB4cygpOiAoQm9vbGVhbklucHV0IHwgTnVtYmVySW5wdXQpIHtcbiAgICByZXR1cm4gdGhpcy5feHM7XG4gIH1cbiAgcHJpdmF0ZSBfeHM6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCkgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjb2x1bW5zL29mZnNldC9vcmRlciBvbiBzbWFsbCBkZXZpY2VzICg8NzY4cHgpLlxuICAgKiBAdHlwZSB7ICdhdXRvJyB8IG51bWJlciB8ICBib29sZWFuIH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzbSh2YWx1ZSkge1xuICAgIHRoaXMuX3NtID0gdGhpcy5jb2VyY2VJbnB1dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHNtKCk6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCkge1xuICAgIHJldHVybiB0aGlzLl9zbTtcbiAgfVxuICBwcml2YXRlIF9zbTogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNvbHVtbnMvb2Zmc2V0L29yZGVyIG9uIG1lZGl1bSBkZXZpY2VzICg8OTkycHgpLlxuICAgKiBAdHlwZSB7ICdhdXRvJyB8IG51bWJlciB8ICBib29sZWFuIH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBtZCh2YWx1ZSkge1xuICAgIHRoaXMuX21kID0gdGhpcy5jb2VyY2VJbnB1dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IG1kKCk6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCkge1xuICAgIHJldHVybiB0aGlzLl9tZDtcbiAgfVxuICBwcml2YXRlIF9tZDogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNvbHVtbnMvb2Zmc2V0L29yZGVyIG9uIGxhcmdlIGRldmljZXMgKDwxMjAwcHgpLlxuICAgKiBAdHlwZSB7ICdhdXRvJyB8IG51bWJlciB8ICBib29sZWFuIH1cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBsZyh2YWx1ZSkge1xuICAgIHRoaXMuX2xnID0gdGhpcy5jb2VyY2VJbnB1dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IGxnKCk6IChCb29sZWFuSW5wdXQgfCBOdW1iZXJJbnB1dCkge1xuICAgIHJldHVybiB0aGlzLl9sZztcbiAgfVxuICBwcml2YXRlIF9sZzogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGNvbHVtbnMvb2Zmc2V0L29yZGVyIG9uIFgtTGFyZ2UgZGV2aWNlcyAoPDE0MDBweCkuXG4gICAqIEB0eXBlIHsgJ2F1dG8nIHwgbnVtYmVyIHwgIGJvb2xlYW4gfVxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IHhsKHZhbHVlKSB7XG4gICAgdGhpcy5feGwgPSB0aGlzLmNvZXJjZUlucHV0KHZhbHVlKTtcbiAgfVxuICBnZXQgeGwoKTogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMuX3hsO1xuICB9XG4gIHByaXZhdGUgX3hsOiAoQm9vbGVhbklucHV0IHwgTnVtYmVySW5wdXQpID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgY29sdW1ucy9vZmZzZXQvb3JkZXIgb24gWFgtTGFyZ2UgZGV2aWNlcyAo4omlMTQwMHB4KS5cbiAgICogQHR5cGUgeyAnYXV0bycgfCBudW1iZXIgfCAgYm9vbGVhbiB9XG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgeHhsKHZhbHVlKSB7XG4gICAgdGhpcy5feHhsID0gdGhpcy5jb2VyY2VJbnB1dCh2YWx1ZSk7XG4gIH1cbiAgZ2V0IHh4bCgpOiAoQm9vbGVhbklucHV0IHwgTnVtYmVySW5wdXQpIHtcbiAgICByZXR1cm4gdGhpcy5feHhsO1xuICB9XG4gIHByaXZhdGUgX3h4bDogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIG9mZnNldD86IChudW1iZXIgfCB7ICd4cyc/OiBudW1iZXIsIHNtPzogbnVtYmVyLCBtZD86IG51bWJlciwgbGc/OiBudW1iZXIsIHhsPzogbnVtYmVyLCB4eGw/OiBudW1iZXIgfSk7XG4gIEBJbnB1dCgpIG9yZGVyPzogKENvbE9yZGVyIHwgeyB4cz86IENvbE9yZGVyLCBzbT86IENvbE9yZGVyLCBtZD86IENvbE9yZGVyLCBsZz86IENvbE9yZGVyLCB4bD86IENvbE9yZGVyLCB4eGw/OiBDb2xPcmRlciB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XG5cbiAgICBjb25zdCBjbGFzc2VzOiBhbnkgPSB7XG4gICAgICBjb2w6IHRydWVcbiAgICB9O1xuXG4gICAgT2JqZWN0LmtleXMoQnJlYWtwb2ludEluZml4KS5mb3JFYWNoKChicmVha3BvaW50KSA9PiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgYm9vbGVhbiA9IHRoaXNbYnJlYWtwb2ludF07XG4gICAgICBjb25zdCBpbmZpeCA9IGJyZWFrcG9pbnQgPT09ICd4cycgPyAnJyA6IGAtJHticmVha3BvaW50fWA7XG4gICAgICBjbGFzc2VzW2Bjb2wke2luZml4fWBdID0gdmFsdWUgPT09IHRydWU7XG4gICAgICBjbGFzc2VzW2Bjb2wke2luZml4fS0ke3ZhbHVlfWBdID0gKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHx8ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKTtcbiAgICB9KTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5vZmZzZXQgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBvZmZzZXQgPSB7IC4uLnRoaXMub2Zmc2V0IH07XG4gICAgICBPYmplY3QuZW50cmllcyhvZmZzZXQpLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgIGNvbnN0IFticmVha3BvaW50LCB2YWx1ZV0gPSBbLi4uZW50cnldO1xuICAgICAgICBjb25zdCBpbmZpeCA9IGJyZWFrcG9pbnQgPT09ICd4cycgPyAnJyA6IGAtJHticmVha3BvaW50fWA7XG4gICAgICAgIGNsYXNzZXNbYG9mZnNldCR7aW5maXh9LSR7dmFsdWV9YF0gPSB2YWx1ZSA+PSAwICYmIHZhbHVlIDw9IDExO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsYXNzZXNbYG9mZnNldC0ke3RoaXMub2Zmc2V0fWBdID0gKHR5cGVvZiB0aGlzLm9mZnNldCA9PT0gJ251bWJlcicpICYmIHRoaXMub2Zmc2V0ID4gMCAmJiB0aGlzLm9mZnNldCA8PSAxMTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRoaXMub3JkZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBvcmRlciA9IHsgLi4udGhpcy5vcmRlciB9O1xuICAgICAgT2JqZWN0LmVudHJpZXMob3JkZXIpLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICAgIGNvbnN0IFticmVha3BvaW50LCB2YWx1ZV0gPSBbLi4uZW50cnldO1xuICAgICAgICBjb25zdCBpbmZpeCA9IGJyZWFrcG9pbnQgPT09ICd4cycgPyAnJyA6IGAtJHticmVha3BvaW50fWA7XG4gICAgICAgIGNsYXNzZXNbYG9yZGVyJHtpbmZpeH0tJHt2YWx1ZX1gXSA9IHZhbHVlO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsYXNzZXNbYG9yZGVyLSR7dGhpcy5vcmRlcn1gXSA9ICEhdGhpcy5vcmRlcjtcbiAgICB9XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyAnY29sJyBjbGFzcywgYWRkIG9uZVxuICAgIGNsYXNzZXMuY29sID0gKCFPYmplY3QuZW50cmllcyhjbGFzc2VzKS5maWx0ZXIoaSA9PiBpWzBdLnN0YXJ0c1dpdGgoJ2NvbC0nKSAmJiBpWzFdKS5sZW5ndGgpIHx8IHRoaXMueHMgPT09IHRydWU7XG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBjb2VyY2VJbnB1dCh2YWx1ZTogKEJvb2xlYW5JbnB1dCB8IE51bWJlcklucHV0KSkge1xuICAgIGlmICh2YWx1ZSA9PT0gJ2F1dG8nKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGlmICh2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICB9XG59XG4iXX0=