@coreui/angular 5.2.25 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (312) hide show
  1. package/README.md +5 -5
  2. package/fesm2022/coreui-angular.mjs +809 -912
  3. package/fesm2022/coreui-angular.mjs.map +1 -1
  4. package/lib/grid/col.directive.d.ts +26 -26
  5. package/package.json +7 -9
  6. package/esm2022/coreui-angular.mjs +0 -5
  7. package/esm2022/lib/accordion/accordion/accordion.component.mjs +0 -34
  8. package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +0 -35
  9. package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +0 -59
  10. package/esm2022/lib/accordion/accordion.module.mjs +0 -36
  11. package/esm2022/lib/accordion/accordion.service.mjs +0 -36
  12. package/esm2022/lib/accordion/index.mjs +0 -2
  13. package/esm2022/lib/accordion/public_api.mjs +0 -5
  14. package/esm2022/lib/alert/alert-heading.directive.mjs +0 -15
  15. package/esm2022/lib/alert/alert-link.directive.mjs +0 -15
  16. package/esm2022/lib/alert/alert.component.mjs +0 -173
  17. package/esm2022/lib/alert/alert.module.mjs +0 -30
  18. package/esm2022/lib/alert/index.mjs +0 -2
  19. package/esm2022/lib/alert/public_api.mjs +0 -5
  20. package/esm2022/lib/avatar/avatar.component.mjs +0 -71
  21. package/esm2022/lib/avatar/avatar.module.mjs +0 -20
  22. package/esm2022/lib/avatar/index.mjs +0 -2
  23. package/esm2022/lib/avatar/public_api.mjs +0 -3
  24. package/esm2022/lib/backdrop/backdrop.service.mjs +0 -82
  25. package/esm2022/lib/backdrop/index.mjs +0 -2
  26. package/esm2022/lib/backdrop/public_api.mjs +0 -2
  27. package/esm2022/lib/badge/badge.component.mjs +0 -77
  28. package/esm2022/lib/badge/badge.module.mjs +0 -20
  29. package/esm2022/lib/badge/index.mjs +0 -2
  30. package/esm2022/lib/badge/public_api.mjs +0 -3
  31. package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +0 -40
  32. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +0 -39
  33. package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.mjs +0 -2
  34. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +0 -41
  35. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +0 -52
  36. package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +0 -34
  37. package/esm2022/lib/breadcrumb/index.mjs +0 -2
  38. package/esm2022/lib/breadcrumb/public_api.mjs +0 -6
  39. package/esm2022/lib/button/button-close.directive.mjs +0 -46
  40. package/esm2022/lib/button/button.directive.mjs +0 -88
  41. package/esm2022/lib/button/button.module.mjs +0 -25
  42. package/esm2022/lib/button/index.mjs +0 -2
  43. package/esm2022/lib/button/public_api.mjs +0 -4
  44. package/esm2022/lib/button-group/button-group/button-group.component.mjs +0 -41
  45. package/esm2022/lib/button-group/button-group.module.mjs +0 -17
  46. package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +0 -24
  47. package/esm2022/lib/button-group/index.mjs +0 -2
  48. package/esm2022/lib/button-group/public_api.mjs +0 -4
  49. package/esm2022/lib/callout/callout.component.mjs +0 -25
  50. package/esm2022/lib/callout/callout.module.mjs +0 -16
  51. package/esm2022/lib/callout/index.mjs +0 -2
  52. package/esm2022/lib/callout/public_api.mjs +0 -3
  53. package/esm2022/lib/card/card-body.component.mjs +0 -16
  54. package/esm2022/lib/card/card-footer.component.mjs +0 -16
  55. package/esm2022/lib/card/card-group.component.mjs +0 -16
  56. package/esm2022/lib/card/card-header-actions.component.mjs +0 -16
  57. package/esm2022/lib/card/card-header.component.mjs +0 -16
  58. package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +0 -11
  59. package/esm2022/lib/card/card-img.directive.mjs +0 -32
  60. package/esm2022/lib/card/card-link.directive.mjs +0 -15
  61. package/esm2022/lib/card/card-subtitle.directive.mjs +0 -15
  62. package/esm2022/lib/card/card-text.directive.mjs +0 -15
  63. package/esm2022/lib/card/card-title.directive.mjs +0 -15
  64. package/esm2022/lib/card/card.component.mjs +0 -50
  65. package/esm2022/lib/card/card.module.mjs +0 -75
  66. package/esm2022/lib/card/index.mjs +0 -2
  67. package/esm2022/lib/card/public_api.mjs +0 -14
  68. package/esm2022/lib/carousel/carousel/carousel.component.mjs +0 -212
  69. package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +0 -17
  70. package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +0 -82
  71. package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +0 -44
  72. package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +0 -47
  73. package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +0 -67
  74. package/esm2022/lib/carousel/carousel-state.mjs +0 -77
  75. package/esm2022/lib/carousel/carousel-state.type.mjs +0 -2
  76. package/esm2022/lib/carousel/carousel.animation.mjs +0 -70
  77. package/esm2022/lib/carousel/carousel.config.mjs +0 -22
  78. package/esm2022/lib/carousel/carousel.module.mjs +0 -52
  79. package/esm2022/lib/carousel/carousel.service.mjs +0 -18
  80. package/esm2022/lib/carousel/index.mjs +0 -2
  81. package/esm2022/lib/carousel/public_api.mjs +0 -9
  82. package/esm2022/lib/collapse/collapse.animations.mjs +0 -9
  83. package/esm2022/lib/collapse/collapse.directive.mjs +0 -145
  84. package/esm2022/lib/collapse/collapse.module.mjs +0 -19
  85. package/esm2022/lib/collapse/index.mjs +0 -2
  86. package/esm2022/lib/collapse/public_api.mjs +0 -3
  87. package/esm2022/lib/coreui.types.mjs +0 -10
  88. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +0 -371
  89. package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +0 -73
  90. package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +0 -15
  91. package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +0 -15
  92. package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +0 -15
  93. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +0 -96
  94. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +0 -119
  95. package/esm2022/lib/dropdown/dropdown.module.mjs +0 -56
  96. package/esm2022/lib/dropdown/dropdown.service.mjs +0 -18
  97. package/esm2022/lib/dropdown/index.mjs +0 -2
  98. package/esm2022/lib/dropdown/public_api.mjs +0 -10
  99. package/esm2022/lib/footer/footer.component.mjs +0 -39
  100. package/esm2022/lib/footer/footer.module.mjs +0 -16
  101. package/esm2022/lib/footer/index.mjs +0 -2
  102. package/esm2022/lib/footer/public_api.mjs +0 -3
  103. package/esm2022/lib/form/form/form.directive.mjs +0 -33
  104. package/esm2022/lib/form/form-check/form-check-input.directive.mjs +0 -78
  105. package/esm2022/lib/form/form-check/form-check-label.directive.mjs +0 -15
  106. package/esm2022/lib/form/form-check/form-check.component.mjs +0 -77
  107. package/esm2022/lib/form/form-control/form-control.directive.mjs +0 -66
  108. package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +0 -38
  109. package/esm2022/lib/form/form-floating/form-floating.directive.mjs +0 -32
  110. package/esm2022/lib/form/form-label/form-label.directive.mjs +0 -41
  111. package/esm2022/lib/form/form-select/form-select.directive.mjs +0 -36
  112. package/esm2022/lib/form/form-text/form-text.directive.mjs +0 -15
  113. package/esm2022/lib/form/form.module.mjs +0 -75
  114. package/esm2022/lib/form/index.mjs +0 -2
  115. package/esm2022/lib/form/input-group/input-group.component.mjs +0 -29
  116. package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +0 -15
  117. package/esm2022/lib/form/public_api.mjs +0 -14
  118. package/esm2022/lib/grid/col.component.mjs +0 -12
  119. package/esm2022/lib/grid/col.directive.mjs +0 -157
  120. package/esm2022/lib/grid/col.type.mjs +0 -2
  121. package/esm2022/lib/grid/container.component.mjs +0 -33
  122. package/esm2022/lib/grid/container.type.mjs +0 -2
  123. package/esm2022/lib/grid/grid.module.mjs +0 -45
  124. package/esm2022/lib/grid/gutter.directive.mjs +0 -57
  125. package/esm2022/lib/grid/gutter.type.mjs +0 -2
  126. package/esm2022/lib/grid/index.mjs +0 -2
  127. package/esm2022/lib/grid/public_api.mjs +0 -8
  128. package/esm2022/lib/grid/row.component.mjs +0 -16
  129. package/esm2022/lib/grid/row.directive.mjs +0 -47
  130. package/esm2022/lib/grid/row.type.mjs +0 -2
  131. package/esm2022/lib/header/header/header.component.mjs +0 -45
  132. package/esm2022/lib/header/header-brand/header-brand.component.mjs +0 -32
  133. package/esm2022/lib/header/header-divider/header-divider.component.mjs +0 -21
  134. package/esm2022/lib/header/header-nav/header-nav.component.mjs +0 -28
  135. package/esm2022/lib/header/header-text/header-text.component.mjs +0 -21
  136. package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +0 -55
  137. package/esm2022/lib/header/header.module.mjs +0 -45
  138. package/esm2022/lib/header/index.mjs +0 -2
  139. package/esm2022/lib/header/public_api.mjs +0 -8
  140. package/esm2022/lib/image/img.directive.mjs +0 -58
  141. package/esm2022/lib/image/img.module.mjs +0 -16
  142. package/esm2022/lib/image/index.mjs +0 -2
  143. package/esm2022/lib/image/public_api.mjs +0 -3
  144. package/esm2022/lib/list-group/index.mjs +0 -2
  145. package/esm2022/lib/list-group/list-group-item.directive.mjs +0 -63
  146. package/esm2022/lib/list-group/list-group.directive.mjs +0 -38
  147. package/esm2022/lib/list-group/list-group.module.mjs +0 -17
  148. package/esm2022/lib/list-group/public_api.mjs +0 -4
  149. package/esm2022/lib/modal/index.mjs +0 -2
  150. package/esm2022/lib/modal/modal/modal.component.mjs +0 -334
  151. package/esm2022/lib/modal/modal-body/modal-body.component.mjs +0 -11
  152. package/esm2022/lib/modal/modal-content/modal-content.component.mjs +0 -16
  153. package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +0 -32
  154. package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +0 -28
  155. package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +0 -16
  156. package/esm2022/lib/modal/modal-header/modal-header.component.mjs +0 -16
  157. package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +0 -15
  158. package/esm2022/lib/modal/modal.module.mjs +0 -57
  159. package/esm2022/lib/modal/modal.service.mjs +0 -21
  160. package/esm2022/lib/modal/public_api.mjs +0 -11
  161. package/esm2022/lib/nav/index.mjs +0 -2
  162. package/esm2022/lib/nav/nav-item.component.mjs +0 -11
  163. package/esm2022/lib/nav/nav-link.directive.mjs +0 -76
  164. package/esm2022/lib/nav/nav.component.mjs +0 -25
  165. package/esm2022/lib/nav/nav.module.mjs +0 -30
  166. package/esm2022/lib/nav/public_api.mjs +0 -5
  167. package/esm2022/lib/navbar/index.mjs +0 -2
  168. package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +0 -18
  169. package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +0 -29
  170. package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +0 -16
  171. package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +0 -63
  172. package/esm2022/lib/navbar/navbar.component.mjs +0 -107
  173. package/esm2022/lib/navbar/navbar.module.mjs +0 -40
  174. package/esm2022/lib/navbar/public_api.mjs +0 -7
  175. package/esm2022/lib/offcanvas/index.mjs +0 -2
  176. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +0 -309
  177. package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +0 -11
  178. package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +0 -16
  179. package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +0 -15
  180. package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +0 -28
  181. package/esm2022/lib/offcanvas/offcanvas.module.mjs +0 -49
  182. package/esm2022/lib/offcanvas/offcanvas.service.mjs +0 -21
  183. package/esm2022/lib/offcanvas/public_api.mjs +0 -8
  184. package/esm2022/lib/pagination/index.mjs +0 -2
  185. package/esm2022/lib/pagination/page-item/page-item.component.mjs +0 -12
  186. package/esm2022/lib/pagination/page-item/page-item.directive.mjs +0 -64
  187. package/esm2022/lib/pagination/page-link/page-link.directive.mjs +0 -15
  188. package/esm2022/lib/pagination/pagination/pagination.component.mjs +0 -41
  189. package/esm2022/lib/pagination/pagination.module.mjs +0 -35
  190. package/esm2022/lib/pagination/public_api.mjs +0 -6
  191. package/esm2022/lib/placeholder/index.mjs +0 -2
  192. package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +0 -34
  193. package/esm2022/lib/placeholder/placeholder.directive.mjs +0 -43
  194. package/esm2022/lib/placeholder/placeholder.module.mjs +0 -25
  195. package/esm2022/lib/placeholder/public_api.mjs +0 -4
  196. package/esm2022/lib/popover/index.mjs +0 -2
  197. package/esm2022/lib/popover/popover/popover.component.mjs +0 -70
  198. package/esm2022/lib/popover/popover.directive.mjs +0 -204
  199. package/esm2022/lib/popover/popover.module.mjs +0 -25
  200. package/esm2022/lib/popover/public_api.mjs +0 -4
  201. package/esm2022/lib/progress/index.mjs +0 -2
  202. package/esm2022/lib/progress/progress-bar.component.mjs +0 -40
  203. package/esm2022/lib/progress/progress-bar.directive.mjs +0 -113
  204. package/esm2022/lib/progress/progress-stacked.component.mjs +0 -19
  205. package/esm2022/lib/progress/progress.component.mjs +0 -74
  206. package/esm2022/lib/progress/progress.module.mjs +0 -35
  207. package/esm2022/lib/progress/progress.type.mjs +0 -2
  208. package/esm2022/lib/progress/public_api.mjs +0 -6
  209. package/esm2022/lib/services/class-toggle.service.mjs +0 -30
  210. package/esm2022/lib/services/color-mode.service.mjs +0 -78
  211. package/esm2022/lib/services/in-memory-storage.service.mjs +0 -32
  212. package/esm2022/lib/services/index.mjs +0 -2
  213. package/esm2022/lib/services/intersection.service.mjs +0 -51
  214. package/esm2022/lib/services/listeners.service.mjs +0 -52
  215. package/esm2022/lib/services/local-storage.service.mjs +0 -45
  216. package/esm2022/lib/services/public_api.mjs +0 -7
  217. package/esm2022/lib/shared/element-ref.directive.mjs +0 -18
  218. package/esm2022/lib/shared/html-attr.directive.mjs +0 -56
  219. package/esm2022/lib/shared/index.mjs +0 -2
  220. package/esm2022/lib/shared/public_api.mjs +0 -6
  221. package/esm2022/lib/shared/shared.module.mjs +0 -24
  222. package/esm2022/lib/shared/template-id.directive.mjs +0 -20
  223. package/esm2022/lib/shared/theme.directive.mjs +0 -45
  224. package/esm2022/lib/sidebar/index.mjs +0 -2
  225. package/esm2022/lib/sidebar/public_api.mjs +0 -10
  226. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +0 -241
  227. package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +0 -62
  228. package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +0 -30
  229. package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +0 -16
  230. package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +0 -16
  231. package/esm2022/lib/sidebar/sidebar-nav/index.mjs +0 -2
  232. package/esm2022/lib/sidebar/sidebar-nav/public_api.mjs +0 -14
  233. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +0 -25
  234. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +0 -17
  235. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +0 -18
  236. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +0 -21
  237. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +0 -34
  238. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +0 -43
  239. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +0 -111
  240. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +0 -23
  241. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +0 -71
  242. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +0 -230
  243. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.mjs +0 -2
  244. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +0 -54
  245. package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +0 -41
  246. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +0 -39
  247. package/esm2022/lib/sidebar/sidebar.module.mjs +0 -83
  248. package/esm2022/lib/sidebar/sidebar.service.mjs +0 -21
  249. package/esm2022/lib/spinner/index.mjs +0 -2
  250. package/esm2022/lib/spinner/public_api.mjs +0 -3
  251. package/esm2022/lib/spinner/spinner.component.mjs +0 -52
  252. package/esm2022/lib/spinner/spinner.module.mjs +0 -20
  253. package/esm2022/lib/table/index.mjs +0 -2
  254. package/esm2022/lib/table/public_api.mjs +0 -5
  255. package/esm2022/lib/table/table-active.directive.mjs +0 -32
  256. package/esm2022/lib/table/table-color.directive.mjs +0 -25
  257. package/esm2022/lib/table/table.directive.mjs +0 -112
  258. package/esm2022/lib/table/table.module.mjs +0 -30
  259. package/esm2022/lib/table/table.type.mjs +0 -2
  260. package/esm2022/lib/tabs/index.mjs +0 -2
  261. package/esm2022/lib/tabs/public_api.mjs +0 -6
  262. package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +0 -83
  263. package/esm2022/lib/tabs/tab-content-ref.directive.mjs +0 -141
  264. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +0 -60
  265. package/esm2022/lib/tabs/tab.service.mjs +0 -21
  266. package/esm2022/lib/tabs/tabs.module.mjs +0 -36
  267. package/esm2022/lib/tabs-2/index.mjs +0 -2
  268. package/esm2022/lib/tabs-2/public_api.mjs +0 -8
  269. package/esm2022/lib/tabs-2/tab/tab.directive.mjs +0 -96
  270. package/esm2022/lib/tabs-2/tab-panel/tab-panel.component.mjs +0 -113
  271. package/esm2022/lib/tabs-2/tabs-content/tabs-content.component.mjs +0 -19
  272. package/esm2022/lib/tabs-2/tabs-list/tabs-list.component.mjs +0 -93
  273. package/esm2022/lib/tabs-2/tabs.component.mjs +0 -37
  274. package/esm2022/lib/tabs-2/tabs.service.mjs +0 -15
  275. package/esm2022/lib/tabs-2/tabs2.module.mjs +0 -22
  276. package/esm2022/lib/toast/index.mjs +0 -2
  277. package/esm2022/lib/toast/public_api.mjs +0 -9
  278. package/esm2022/lib/toast/toast/toast.component.mjs +0 -204
  279. package/esm2022/lib/toast/toast-body/toast-body.component.mjs +0 -21
  280. package/esm2022/lib/toast/toast-close.directive.mjs +0 -29
  281. package/esm2022/lib/toast/toast-header/toast-header.component.mjs +0 -30
  282. package/esm2022/lib/toast/toast.module.mjs +0 -47
  283. package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +0 -18
  284. package/esm2022/lib/toast/toaster/toaster.component.mjs +0 -123
  285. package/esm2022/lib/toast/toaster/toaster.service.mjs +0 -22
  286. package/esm2022/lib/tooltip/index.mjs +0 -2
  287. package/esm2022/lib/tooltip/public_api.mjs +0 -4
  288. package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +0 -66
  289. package/esm2022/lib/tooltip/tooltip.directive.mjs +0 -204
  290. package/esm2022/lib/tooltip/tooltip.module.mjs +0 -25
  291. package/esm2022/lib/utilities/align.directive.mjs +0 -25
  292. package/esm2022/lib/utilities/bg-color.directive.mjs +0 -34
  293. package/esm2022/lib/utilities/border.directive.mjs +0 -67
  294. package/esm2022/lib/utilities/border.type.mjs +0 -2
  295. package/esm2022/lib/utilities/index.mjs +0 -2
  296. package/esm2022/lib/utilities/public_api.mjs +0 -9
  297. package/esm2022/lib/utilities/rounded.directive.mjs +0 -66
  298. package/esm2022/lib/utilities/rounded.type.mjs +0 -2
  299. package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +0 -48
  300. package/esm2022/lib/utilities/text-bg-color.directive.mjs +0 -30
  301. package/esm2022/lib/utilities/text-color.directive.mjs +0 -30
  302. package/esm2022/lib/utilities/utilities.module.mjs +0 -16
  303. package/esm2022/lib/widget/index.mjs +0 -2
  304. package/esm2022/lib/widget/public_api.mjs +0 -8
  305. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +0 -55
  306. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +0 -57
  307. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +0 -71
  308. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +0 -36
  309. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +0 -36
  310. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +0 -96
  311. package/esm2022/lib/widget/widget.module.mjs +0 -45
  312. package/esm2022/public-api.mjs +0 -43
@@ -1,52 +0,0 @@
1
- import { inject, Injectable, Renderer2 } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ListenersService {
4
- constructor() {
5
- this.renderer = inject(Renderer2);
6
- this.listeners = new Map();
7
- }
8
- setListeners({ hostElement, trigger, callbackOn, callbackOff, callbackToggle, }) {
9
- const host = hostElement.nativeElement;
10
- const triggers = Array.isArray(trigger) ? trigger : trigger?.split(' ') ?? [];
11
- if (triggers?.includes('click')) {
12
- typeof callbackToggle === 'function' &&
13
- this.listeners.set('click', this.renderer.listen(host, 'click', callbackToggle));
14
- }
15
- if (triggers?.includes('focus')) {
16
- typeof callbackOn === 'function' &&
17
- this.listeners.set('focus', this.renderer.listen(host, 'focus', callbackOn));
18
- }
19
- if (triggers?.includes('focusin')) {
20
- typeof callbackOff === 'function' &&
21
- this.listeners.set('focusout', this.renderer.listen(host, 'focusout', callbackOff));
22
- typeof callbackOn === 'function' &&
23
- this.listeners.set('focusin', this.renderer.listen(host, 'focusin', callbackOn));
24
- }
25
- if (triggers?.includes('click') || triggers?.includes('focus')) {
26
- typeof callbackOff === 'function' &&
27
- this.listeners.set('blur', this.renderer.listen(host, 'blur', callbackOff));
28
- }
29
- if (triggers?.includes('hover')) {
30
- typeof callbackOn === 'function' &&
31
- this.listeners.set('mouseenter', this.renderer.listen(host, 'mouseenter', callbackOn));
32
- typeof callbackOff === 'function' &&
33
- this.listeners.set('mouseleave', this.renderer.listen(host, 'mouseleave', callbackOff));
34
- }
35
- }
36
- clearListeners() {
37
- this.listeners.forEach((unListen, key) => {
38
- unListen();
39
- });
40
- this.listeners.forEach((unListen, key) => {
41
- // @ts-ignore
42
- this.listeners.set(key, null);
43
- });
44
- this.listeners.clear();
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
47
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ListenersService, decorators: [{
50
- type: Injectable
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2xpc3RlbmVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUUsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUVXLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUIsY0FBUyxHQUE0QixJQUFJLEdBQUcsRUFBRSxDQUFDO0tBZ0R4RDtJQTlDQyxZQUFZLENBQUMsRUFDWCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFVBQVUsRUFDVixXQUFXLEVBQ1gsY0FBYyxHQUNHO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDdkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUU5RSxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLGNBQWMsS0FBSyxVQUFVO2dCQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxPQUFPLFVBQVUsS0FBSyxVQUFVO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7UUFDRCxJQUFJLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE9BQU8sVUFBVSxLQUFLLFVBQVU7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNELElBQUksUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0QsT0FBTyxXQUFXLEtBQUssVUFBVTtnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBQ0QsSUFBSSxRQUFRLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEMsT0FBTyxVQUFVLEtBQUssVUFBVTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUN6RixPQUFPLFdBQVcsS0FBSyxVQUFVO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN2QyxhQUFhO1lBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQWxEVSxnQkFBZ0I7bUhBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmlnZ2VycyB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxpc3RlbmVyc0NvbmZpZyB7XG4gIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmO1xuICB0cmlnZ2VyPzogVHJpZ2dlcnMgfCBUcmlnZ2Vyc1tdO1xuICBjYWxsYmFja09uPzogKCkgPT4gdm9pZDtcbiAgY2FsbGJhY2tPZmY/OiAoKSA9PiB2b2lkO1xuICBjYWxsYmFja1RvZ2dsZT86ICgpID0+IHZvaWQ7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaXN0ZW5lcnNTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwcml2YXRlIGxpc3RlbmVyczogTWFwPHN0cmluZywgKCkgPT4gdm9pZD4gPSBuZXcgTWFwKCk7XG5cbiAgc2V0TGlzdGVuZXJzKHtcbiAgICBob3N0RWxlbWVudCxcbiAgICB0cmlnZ2VyLFxuICAgIGNhbGxiYWNrT24sXG4gICAgY2FsbGJhY2tPZmYsXG4gICAgY2FsbGJhY2tUb2dnbGUsXG4gIH06IElMaXN0ZW5lcnNDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBob3N0ID0gaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCB0cmlnZ2VycyA9IEFycmF5LmlzQXJyYXkodHJpZ2dlcikgPyB0cmlnZ2VyIDogdHJpZ2dlcj8uc3BsaXQoJyAnKSA/PyBbXTtcblxuICAgIGlmICh0cmlnZ2Vycz8uaW5jbHVkZXMoJ2NsaWNrJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja1RvZ2dsZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2NsaWNrJywgdGhpcy5yZW5kZXJlci5saXN0ZW4oaG9zdCwgJ2NsaWNrJywgY2FsbGJhY2tUb2dnbGUpKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnZm9jdXMnKSkge1xuICAgICAgdHlwZW9mIGNhbGxiYWNrT24gPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KCdmb2N1cycsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdmb2N1cycsIGNhbGxiYWNrT24pKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnZm9jdXNpbicpKSB7XG4gICAgICB0eXBlb2YgY2FsbGJhY2tPZmYgPT09ICdmdW5jdGlvbicgJiZcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuc2V0KCdmb2N1c291dCcsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdmb2N1c291dCcsIGNhbGxiYWNrT2ZmKSk7XG4gICAgICB0eXBlb2YgY2FsbGJhY2tPbiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2ZvY3VzaW4nLCB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAnZm9jdXNpbicsIGNhbGxiYWNrT24pKTtcbiAgICB9XG4gICAgaWYgKHRyaWdnZXJzPy5pbmNsdWRlcygnY2xpY2snKSB8fCB0cmlnZ2Vycz8uaW5jbHVkZXMoJ2ZvY3VzJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja09mZiA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0aGlzLmxpc3RlbmVycy5zZXQoJ2JsdXInLCB0aGlzLnJlbmRlcmVyLmxpc3Rlbihob3N0LCAnYmx1cicsIGNhbGxiYWNrT2ZmKSk7XG4gICAgfVxuICAgIGlmICh0cmlnZ2Vycz8uaW5jbHVkZXMoJ2hvdmVyJykpIHtcbiAgICAgIHR5cGVvZiBjYWxsYmFja09uID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCgnbW91c2VlbnRlcicsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdtb3VzZWVudGVyJywgY2FsbGJhY2tPbikpO1xuICAgICAgdHlwZW9mIGNhbGxiYWNrT2ZmID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHRoaXMubGlzdGVuZXJzLnNldCgnbW91c2VsZWF2ZScsIHRoaXMucmVuZGVyZXIubGlzdGVuKGhvc3QsICdtb3VzZWxlYXZlJywgY2FsbGJhY2tPZmYpKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKCh1bkxpc3Rlbiwga2V5KSA9PiB7XG4gICAgICB1bkxpc3RlbigpO1xuICAgIH0pO1xuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKHVuTGlzdGVuLCBrZXkpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRoaXMubGlzdGVuZXJzLnNldChrZXksIG51bGwpO1xuICAgIH0pO1xuICAgIHRoaXMubGlzdGVuZXJzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
2
- import { inject, Injectable, PLATFORM_ID } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { InMemoryStorageService } from './in-memory-storage.service';
5
- import * as i0 from "@angular/core";
6
- export class LocalStorageService {
7
- constructor() {
8
- this.platformId = inject(PLATFORM_ID);
9
- this.document = inject(DOCUMENT);
10
- this.#data$ = new BehaviorSubject(null);
11
- this.data$ = this.#data$.asObservable();
12
- this.#localStorage =
13
- isPlatformBrowser(this.platformId) && this.document.defaultView
14
- ? this.document.defaultView?.localStorage
15
- : new InMemoryStorageService();
16
- }
17
- #localStorage;
18
- #data$;
19
- setItem(key, data) {
20
- this.#localStorage.setItem(key, JSON.stringify(data));
21
- this.#data$.next({ key, data });
22
- }
23
- getItem(key) {
24
- const data = JSON.parse(this.#localStorage.getItem(key) || 'null');
25
- this.#data$.next({ key, data });
26
- return data;
27
- }
28
- removeItem(key) {
29
- this.#localStorage.removeItem(key);
30
- this.#data$.next({ key, data: null });
31
- }
32
- clear() {
33
- this.#localStorage.clear();
34
- this.#data$.next(null);
35
- }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, providedIn: 'root' }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalStorageService, decorators: [{
40
- type: Injectable,
41
- args: [{
42
- providedIn: 'root'
43
- }]
44
- }], ctorParameters: () => [] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQUtyRSxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCO1FBSFEsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBVTNCLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBb0MsSUFBSSxDQUFDLENBQUM7UUFDL0QsVUFBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFSakQsSUFBSSxDQUFDLGFBQWE7WUFDaEIsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztnQkFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pDLENBQUMsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGFBQWEsQ0FBVTtJQUNkLE1BQU0sQ0FBZ0U7SUFHeEUsT0FBTyxDQUFDLEdBQVcsRUFBRSxJQUFTO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEdBQVc7UUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQWxDVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5NZW1vcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICBwcml2YXRlIHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UgPVxuICAgICAgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3XG4gICAgICAgID8gdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8ubG9jYWxTdG9yYWdlXG4gICAgICAgIDogbmV3IEluTWVtb3J5U3RvcmFnZVNlcnZpY2UoKTtcbiAgfVxuXG4gICNsb2NhbFN0b3JhZ2U6IFN0b3JhZ2U7XG4gIHJlYWRvbmx5ICNkYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8eyBrZXk6IHN0cmluZzsgZGF0YTogYW55IH0gfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IGRhdGEkID0gdGhpcy4jZGF0YSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHNldEl0ZW0oa2V5OiBzdHJpbmcsIGRhdGE6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SXRlbShrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UodGhpcy4jbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSB8fCAnbnVsbCcpO1xuICAgIHRoaXMuI2RhdGEkLm5leHQoeyBrZXksIGRhdGEgfSk7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuI2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgdGhpcy4jZGF0YSQubmV4dCh7IGtleSwgZGF0YTogbnVsbCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLiNsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcbiAgICB0aGlzLiNkYXRhJC5uZXh0KG51bGwpO1xuICB9XG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export { IntersectionService } from './intersection.service';
2
- export { ListenersService } from './listeners.service';
3
- export { ClassToggleService } from './class-toggle.service';
4
- export { LocalStorageService } from './local-storage.service';
5
- export { InMemoryStorageService } from './in-memory-storage.service';
6
- export { ColorModeService } from './color-mode.service';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2VydmljZXMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQTZCLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW50ZXJzZWN0aW9uU2VydmljZSwgSUludGVyc2VjdGlvbk9ic2VydmVySW5pdCB9IGZyb20gJy4vaW50ZXJzZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0IHsgTGlzdGVuZXJzU2VydmljZSwgSUxpc3RlbmVyc0NvbmZpZyB9IGZyb20gJy4vbGlzdGVuZXJzLnNlcnZpY2UnO1xuZXhwb3J0IHsgQ2xhc3NUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9jbGFzcy10b2dnbGUuc2VydmljZSc7XG5leHBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0IHsgSW5NZW1vcnlTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vaW4tbWVtb3J5LXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgeyBDb2xvck1vZGVTZXJ2aWNlLCBDb2xvck1vZGUgfSBmcm9tICcuL2NvbG9yLW1vZGUuc2VydmljZSc7XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { Directive, ElementRef, inject } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ElementRefDirective {
4
- constructor() {
5
- this.elementRef = inject(ElementRef);
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ElementRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ElementRefDirective, isStandalone: true, selector: "[cElementRef]", exportAs: ["cElementRef"], ngImport: i0 }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ElementRefDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[cElementRef]',
14
- exportAs: 'cElementRef',
15
- standalone: true,
16
- }]
17
- }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZWYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvZWxlbWVudC1yZWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1rQixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ2pEOytHQUZZLG1CQUFtQjttR0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUwvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NFbGVtZW50UmVmXScsXG4gIGV4cG9ydEFzOiAnY0VsZW1lbnRSZWYnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50UmVmRGlyZWN0aXZlIHtcbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG59XG4iXX0=
@@ -1,56 +0,0 @@
1
- import { Directive, effect, ElementRef, inject, input, Renderer2 } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HtmlAttributesDirective {
4
- constructor() {
5
- this.cHtmlAttr = input();
6
- this.#renderer = inject(Renderer2);
7
- this.#elementRef = inject(ElementRef);
8
- this.attrEffect = effect(() => {
9
- const attribs = this.cHtmlAttr();
10
- for (const attr in attribs) {
11
- if (attr === 'style' && typeof attribs[attr] === 'object') {
12
- this.setStyle(attribs[attr]);
13
- }
14
- else if (attr === 'class') {
15
- this.addClass(attribs[attr]);
16
- }
17
- else {
18
- this.setAttrib(attr, attribs[attr]);
19
- }
20
- }
21
- });
22
- }
23
- #renderer;
24
- #elementRef;
25
- setStyle(styles) {
26
- for (const style in styles) {
27
- if (style) {
28
- this.#renderer.setStyle(this.#elementRef.nativeElement, style, styles[style]);
29
- }
30
- }
31
- }
32
- addClass(classes) {
33
- const classArray = Array.isArray(classes) ? classes : classes.split(' ');
34
- classArray
35
- .filter((element) => element.length > 0)
36
- .forEach((element) => {
37
- this.#renderer.addClass(this.#elementRef.nativeElement, element);
38
- });
39
- }
40
- setAttrib(key, value) {
41
- value !== null
42
- ? this.#renderer.setAttribute(this.#elementRef.nativeElement, key, value)
43
- : this.#renderer.removeAttribute(this.#elementRef.nativeElement, key);
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HtmlAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
46
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.12", type: HtmlAttributesDirective, isStandalone: true, selector: "[cHtmlAttr]", inputs: { cHtmlAttr: { classPropertyName: "cHtmlAttr", publicName: "cHtmlAttr", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["cHtmlAttr"], ngImport: i0 }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: HtmlAttributesDirective, decorators: [{
49
- type: Directive,
50
- args: [{
51
- selector: '[cHtmlAttr]',
52
- exportAs: 'cHtmlAttr',
53
- standalone: true
54
- }]
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1hdHRyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL2h0bWwtYXR0ci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU94RixNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBTVcsY0FBUyxHQUFHLEtBQUssRUFBdUIsQ0FBQztRQUV6QyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLGVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUMzQixJQUFJLElBQUksS0FBSyxPQUFPLElBQUksT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sSUFBSSxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLENBQUM7cUJBQU0sQ0FBQztvQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztLQXdCSjtJQXRDVSxTQUFTLENBQXFCO0lBQzlCLFdBQVcsQ0FBc0I7SUFlbEMsUUFBUSxDQUFDLE1BQTJCO1FBQzFDLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDaEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLE9BQTBCO1FBQ3pDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RSxVQUFVO2FBQ1AsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUN2QyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBVyxFQUFFLEtBQW9CO1FBQ2pELEtBQUssS0FBSyxJQUFJO1lBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUM7WUFDekUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7K0dBeENVLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0h0bWxBdHRyXScsXG4gIGV4cG9ydEFzOiAnY0h0bWxBdHRyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGNIdG1sQXR0ciA9IGlucHV0PFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XG5cbiAgcmVhZG9ubHkgI3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IGF0dHJFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGF0dHJpYnMgPSB0aGlzLmNIdG1sQXR0cigpO1xuICAgIGZvciAoY29uc3QgYXR0ciBpbiBhdHRyaWJzKSB7XG4gICAgICBpZiAoYXR0ciA9PT0gJ3N0eWxlJyAmJiB0eXBlb2YgYXR0cmlic1thdHRyXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5zZXRTdHlsZShhdHRyaWJzW2F0dHJdKTtcbiAgICAgIH0gZWxzZSBpZiAoYXR0ciA9PT0gJ2NsYXNzJykge1xuICAgICAgICB0aGlzLmFkZENsYXNzKGF0dHJpYnNbYXR0cl0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXRBdHRyaWIoYXR0ciwgYXR0cmlic1thdHRyXSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBwcml2YXRlIHNldFN0eWxlKHN0eWxlczogUmVjb3JkPHN0cmluZywgYW55Pik6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3R5bGUgaW4gc3R5bGVzKSB7XG4gICAgICBpZiAoc3R5bGUpIHtcbiAgICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBzdHlsZSwgc3R5bGVzW3N0eWxlXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRDbGFzcyhjbGFzc2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGNvbnN0IGNsYXNzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNsYXNzZXMpID8gY2xhc3NlcyA6IGNsYXNzZXMuc3BsaXQoJyAnKTtcbiAgICBjbGFzc0FycmF5XG4gICAgICAuZmlsdGVyKChlbGVtZW50KSA9PiBlbGVtZW50Lmxlbmd0aCA+IDApXG4gICAgICAuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICB0aGlzLiNyZW5kZXJlci5hZGRDbGFzcyh0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGVsZW1lbnQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldEF0dHJpYihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB2YWx1ZSAhPT0gbnVsbFxuICAgICAgPyB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrZXksIHZhbHVlKVxuICAgICAgOiB0aGlzLiNyZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBrZXkpO1xuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NoYXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -1,6 +0,0 @@
1
- export { ElementRefDirective } from './element-ref.directive';
2
- export { HtmlAttributesDirective } from './html-attr.directive';
3
- export { TemplateIdDirective } from './template-id.directive';
4
- export { ThemeDirective } from './theme.directive';
5
- export { SharedModule } from './shared.module';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEVsZW1lbnRSZWZEaXJlY3RpdmUgfSBmcm9tICcuL2VsZW1lbnQtcmVmLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSB9IGZyb20gJy4vaHRtbC1hdHRyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBUZW1wbGF0ZUlkRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZS1pZC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL3RoZW1lLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuL3NoYXJlZC5tb2R1bGUnO1xuIl19
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { ElementRefDirective } from './element-ref.directive';
3
- import { HtmlAttributesDirective } from './html-attr.directive';
4
- import { TemplateIdDirective } from './template-id.directive';
5
- import { ThemeDirective } from './theme.directive';
6
- import * as i0 from "@angular/core";
7
- export class SharedModule {
8
- static forRoot() {
9
- return {
10
- ngModule: SharedModule,
11
- };
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective], exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective] }); }
15
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SharedModule, decorators: [{
18
- type: NgModule,
19
- args: [{
20
- imports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],
21
- exports: [ElementRefDirective, HtmlAttributesDirective, TemplateIdDirective, ThemeDirective],
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsWUFBWTtTQUN2QixDQUFDO0lBQ0osQ0FBQzsrR0FMVSxZQUFZO2dIQUFaLFlBQVksWUFIYixtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLGFBQ2pGLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLGNBQWM7Z0hBRWhGLFlBQVk7OzRGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxDQUFDO29CQUM1RixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7aUJBQzdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRWxlbWVudFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZWxlbWVudC1yZWYuZGlyZWN0aXZlJztcbmltcG9ydCB7IEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9odG1sLWF0dHIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRlbXBsYXRlSWREaXJlY3RpdmUgfSBmcm9tICcuL3RlbXBsYXRlLWlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaGVtZURpcmVjdGl2ZSB9IGZyb20gJy4vdGhlbWUuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0VsZW1lbnRSZWZEaXJlY3RpdmUsIEh0bWxBdHRyaWJ1dGVzRGlyZWN0aXZlLCBUZW1wbGF0ZUlkRGlyZWN0aXZlLCBUaGVtZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtFbGVtZW50UmVmRGlyZWN0aXZlLCBIdG1sQXR0cmlidXRlc0RpcmVjdGl2ZSwgVGVtcGxhdGVJZERpcmVjdGl2ZSwgVGhlbWVEaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNoYXJlZE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogU2hhcmVkTW9kdWxlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Directive, inject, Input, TemplateRef } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class TemplateIdDirective {
4
- constructor() {
5
- this.templateRef = inject(TemplateRef);
6
- }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TemplateIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: TemplateIdDirective, isStandalone: true, selector: "[cTemplateId]", inputs: { id: ["cTemplateId", "id"] }, ngImport: i0 }); }
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: TemplateIdDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[cTemplateId]',
14
- standalone: true,
15
- }]
16
- }], propDecorators: { id: [{
17
- type: Input,
18
- args: ['cTemplateId']
19
- }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvdGVtcGxhdGUtaWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXRFLE1BQU0sT0FBTyxtQkFBbUI7SUFKaEM7UUFLa0IsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FFbkQ7K0dBSFksbUJBQW1CO21HQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHdUIsRUFBRTtzQkFBdkIsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RlbXBsYXRlSWRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVJZERpcmVjdGl2ZSB7XG4gIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG4gIEBJbnB1dCgnY1RlbXBsYXRlSWQnKSBpZCE6IHN0cmluZztcbn1cbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { booleanAttribute, Directive, ElementRef, inject, Input, Renderer2 } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ThemeDirective {
4
- #hostElement = inject(ElementRef);
5
- #renderer = inject(Renderer2);
6
- /**
7
- * Add dark theme attribute.
8
- * @type 'dark' | 'light' | undefined
9
- */
10
- set colorScheme(scheme) {
11
- !!scheme ? this.setTheme(scheme) : this.unsetTheme();
12
- }
13
- ;
14
- /**
15
- * Add dark theme attribute.
16
- * @type boolean
17
- */
18
- set dark(darkTheme) {
19
- darkTheme ? this.setTheme('dark') : this.unsetTheme();
20
- }
21
- ;
22
- setTheme(theme) {
23
- if (theme) {
24
- this.#renderer.setAttribute(this.#hostElement.nativeElement, 'data-coreui-theme', theme);
25
- }
26
- }
27
- unsetTheme() {
28
- this.#renderer.removeAttribute(this.#hostElement.nativeElement, 'data-coreui-theme');
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.12", type: ThemeDirective, isStandalone: true, selector: "[cTheme]", inputs: { colorScheme: "colorScheme", dark: ["dark", "dark", booleanAttribute] }, ngImport: i0 }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeDirective, decorators: [{
34
- type: Directive,
35
- args: [{
36
- selector: '[cTheme]',
37
- standalone: true
38
- }]
39
- }], propDecorators: { colorScheme: [{
40
- type: Input
41
- }], dark: [{
42
- type: Input,
43
- args: [{ transform: booleanAttribute }]
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9zaGFyZWQvdGhlbWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1sRyxNQUFNLE9BQU8sY0FBYztJQUVoQixZQUFZLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFdkM7OztPQUdHO0lBQ0gsSUFBYSxXQUFXLENBQUMsTUFBb0M7UUFDM0QsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFBQSxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsSUFDSSxJQUFJLENBQUMsU0FBa0I7UUFDekIsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUFBLENBQUM7SUFFRixRQUFRLENBQUMsS0FBYztRQUNyQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0YsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN2RixDQUFDOytHQTlCVSxjQUFjO21HQUFkLGNBQWMseUdBaUJMLGdCQUFnQjs7NEZBakJ6QixjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBVWMsV0FBVztzQkFBdkIsS0FBSztnQkFTRixJQUFJO3NCQURQLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RoZW1lXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGhlbWVEaXJlY3RpdmUge1xuXG4gIHJlYWRvbmx5ICNob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgI3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgLyoqXG4gICAqIEFkZCBkYXJrIHRoZW1lIGF0dHJpYnV0ZS5cbiAgICogQHR5cGUgJ2RhcmsnIHwgJ2xpZ2h0JyB8IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgc2V0IGNvbG9yU2NoZW1lKHNjaGVtZTogJ2RhcmsnIHwgJ2xpZ2h0JyB8IHVuZGVmaW5lZCkge1xuICAgICEhc2NoZW1lID8gdGhpcy5zZXRUaGVtZShzY2hlbWUpIDogdGhpcy51bnNldFRoZW1lKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEFkZCBkYXJrIHRoZW1lIGF0dHJpYnV0ZS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHNldCBkYXJrKGRhcmtUaGVtZTogYm9vbGVhbikge1xuICAgIGRhcmtUaGVtZSA/IHRoaXMuc2V0VGhlbWUoJ2RhcmsnKSA6IHRoaXMudW5zZXRUaGVtZSgpO1xuICB9O1xuXG4gIHNldFRoZW1lKHRoZW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoZW1lKSB7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy4jaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2RhdGEtY29yZXVpLXRoZW1lJywgdGhlbWUpO1xuICAgIH1cbiAgfVxuXG4gIHVuc2V0VGhlbWUoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuI2hvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkYXRhLWNvcmV1aS10aGVtZScpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './public_api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,10 +0,0 @@
1
- export { SidebarComponent } from './sidebar/sidebar.component';
2
- export { SidebarService } from './sidebar.service';
3
- export { SidebarBrandComponent } from './sidebar-brand/sidebar-brand.component';
4
- export { SidebarToggleDirective } from './sidebar-toggle/sidebar-toggle.directive';
5
- export { SidebarTogglerDirective } from './sidebar-toggler/sidebar-toggler.directive';
6
- export { SidebarHeaderComponent } from './sidebar-header/sidebar-header.component';
7
- export { SidebarFooterComponent } from './sidebar-footer/sidebar-footer.component';
8
- export { SidebarNavComponent, SidebarNavHelper } from './sidebar-nav';
9
- export { SidebarModule } from './sidebar.module';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvc2lkZWJhci9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRixPQUFPLEVBQUUsbUJBQW1CLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4vc2lkZWJhci5zZXJ2aWNlJztcbmV4cG9ydCB7IFNpZGViYXJCcmFuZENvbXBvbmVudCB9IGZyb20gJy4vc2lkZWJhci1icmFuZC9zaWRlYmFyLWJyYW5kLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi9zaWRlYmFyLXRvZ2dsZS9zaWRlYmFyLXRvZ2dsZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgU2lkZWJhclRvZ2dsZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NpZGViYXItdG9nZ2xlci9zaWRlYmFyLXRvZ2dsZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNpZGViYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3NpZGViYXItaGVhZGVyL3NpZGViYXItaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlYmFyRm9vdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaWRlYmFyLWZvb3Rlci9zaWRlYmFyLWZvb3Rlci5jb21wb25lbnQnO1xuXG5leHBvcnQgeyBTaWRlYmFyTmF2Q29tcG9uZW50LCBJTmF2RGF0YSwgU2lkZWJhck5hdkhlbHBlciB9IGZyb20gJy4vc2lkZWJhci1uYXYnO1xuXG5leHBvcnQgeyBTaWRlYmFyTW9kdWxlIH0gZnJvbSAnLi9zaWRlYmFyLm1vZHVsZSc7XG4iXX0=
@@ -1,241 +0,0 @@
1
- import { booleanAttribute, Component, EventEmitter, HostBinding, Inject, Input, Output } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/cdk/layout";
5
- import * as i2 from "../sidebar.service";
6
- import * as i3 from "../sidebar-backdrop/sidebar-backdrop.service";
7
- export class SidebarComponent {
8
- #visible;
9
- #onMobile;
10
- #layoutChangeSubscription;
11
- #stateToggleSubscription;
12
- #stateInitial;
13
- /**
14
- * Toggle the visibility of sidebar component. [docs]
15
- * @type boolean
16
- * @default false
17
- */
18
- set visible(value) {
19
- const visible = value;
20
- if (this.#visible !== visible) {
21
- this.#visible = visible;
22
- this.visibleChange.emit(this.#visible);
23
- }
24
- }
25
- get visible() {
26
- return this.#visible;
27
- }
28
- set sidebarState(value) {
29
- const newState = value;
30
- if ('toggle' in newState) {
31
- if (newState.toggle === 'visible') {
32
- newState.visible = !this.state.visible;
33
- this.visible = newState.visible;
34
- }
35
- else if (newState.toggle === 'unfoldable') {
36
- newState.unfoldable = !this.state.unfoldable;
37
- this.unfoldable = newState.unfoldable;
38
- }
39
- }
40
- else {
41
- this.visible = (newState.visible ?? this.visible) && !this.overlaid;
42
- }
43
- this.state = {
44
- ...this.state,
45
- ...newState
46
- };
47
- this.state.mobile && this.state.visible
48
- ? this.backdropService.setBackdrop(this)
49
- : this.backdropService.clearBackdrop();
50
- }
51
- get sidebarState() {
52
- return this.state;
53
- }
54
- get getMobileBreakpoint() {
55
- const element = this.document.documentElement;
56
- const mobileBreakpoint = this.document.defaultView?.getComputedStyle(element)?.getPropertyValue('--cui-mobile-breakpoint') ?? 'md';
57
- const breakpointValue = this.document.defaultView
58
- ?.getComputedStyle(element)
59
- ?.getPropertyValue(`--cui-breakpoint-${mobileBreakpoint.trim()}`) ?? '768px';
60
- return `${parseFloat(breakpointValue.trim()) - 0.02}px`;
61
- }
62
- constructor(document, renderer, breakpointObserver, sidebarService, backdropService) {
63
- this.document = document;
64
- this.renderer = renderer;
65
- this.breakpointObserver = breakpointObserver;
66
- this.sidebarService = sidebarService;
67
- this.backdropService = backdropService;
68
- this.#visible = false;
69
- this.#onMobile = false;
70
- this.state = {
71
- sidebar: this
72
- };
73
- this.#stateInitial = {
74
- narrow: false,
75
- visible: false,
76
- unfoldable: false
77
- };
78
- /**
79
- * Make sidebar narrow. [docs]
80
- * @type boolean
81
- * @default false
82
- */
83
- this.narrow = false;
84
- /**
85
- * Set sidebar to overlaid variant.
86
- * @type boolean
87
- * @default false
88
- */
89
- this.overlaid = false;
90
- /**
91
- * Place sidebar in non-static positions. [docs]
92
- * @default 'fixed'
93
- */
94
- this.position = 'fixed';
95
- /**
96
- * Expand narrowed sidebar on hover. [docs]
97
- * @type boolean
98
- * @default false
99
- */
100
- this.unfoldable = false;
101
- /**
102
- * Event emitted on visibility change. [docs]
103
- * @type boolean
104
- */
105
- this.visibleChange = new EventEmitter();
106
- this.backdropService.renderer = renderer;
107
- }
108
- get getClasses() {
109
- const { mobile, visible } = this.sidebarState;
110
- return {
111
- sidebar: true,
112
- 'sidebar-fixed': this.position === 'fixed' && !mobile,
113
- 'sidebar-narrow': this.narrow && !this.unfoldable,
114
- 'sidebar-narrow-unfoldable': this.unfoldable,
115
- 'sidebar-overlaid': this.overlaid,
116
- [`sidebar-${this.placement}`]: !!this.placement,
117
- [`sidebar-${this.colorScheme}`]: !!this.colorScheme,
118
- [`sidebar-${this.size}`]: !!this.size,
119
- show: visible,
120
- // show: visible && this.#onMobile, //todo: check
121
- hide: !visible
122
- };
123
- }
124
- ngOnInit() {
125
- this.setInitialState();
126
- this.layoutChangeSubscribe();
127
- this.stateToggleSubscribe();
128
- }
129
- ngOnDestroy() {
130
- this.stateToggleSubscribe(false);
131
- this.layoutChangeSubscribe(false);
132
- }
133
- ngOnChanges(changes) {
134
- const oldStateMap = new Map(Object.entries(this.state));
135
- const newStateMap = new Map();
136
- newStateMap.set('sidebar', this);
137
- const propList = ['visible', 'unfoldable', 'narrow'];
138
- for (const propName in changes) {
139
- if (propList.includes(propName)) {
140
- if (changes[propName] && !changes[propName].firstChange) {
141
- const value = booleanAttribute(changes[propName].currentValue);
142
- if (oldStateMap.get(propName) !== value) {
143
- newStateMap.set(propName, value);
144
- }
145
- }
146
- }
147
- }
148
- if (newStateMap.size > 1) {
149
- const state = Object.fromEntries(newStateMap.entries());
150
- this.sidebarService.toggle(state);
151
- }
152
- }
153
- setInitialState() {
154
- this.#stateInitial = {
155
- narrow: this.narrow,
156
- visible: this.visible,
157
- unfoldable: this.unfoldable
158
- };
159
- this.sidebarService.toggle({
160
- ...this.#stateInitial,
161
- sidebar: this
162
- });
163
- }
164
- stateToggleSubscribe(subscribe = true) {
165
- if (subscribe) {
166
- this.#stateToggleSubscription = this.sidebarService.sidebarState$.subscribe((state) => {
167
- if (this === state.sidebar || this.id === state.id) {
168
- this.sidebarState = state;
169
- }
170
- });
171
- }
172
- else {
173
- this.#stateToggleSubscription?.unsubscribe();
174
- }
175
- }
176
- layoutChangeSubscribe(subscribe = true) {
177
- const onMobile = `(max-width: ${this.getMobileBreakpoint})`;
178
- if (subscribe) {
179
- const layoutChanges = this.breakpointObserver.observe([onMobile]);
180
- this.#layoutChangeSubscription = layoutChanges.subscribe((result) => {
181
- const isOnMobile = result.breakpoints[onMobile];
182
- const isUnfoldable = isOnMobile ? false : this.unfoldable;
183
- if (this.#onMobile !== isOnMobile) {
184
- this.#onMobile = isOnMobile;
185
- this.sidebarService.toggle({
186
- mobile: isOnMobile,
187
- unfoldable: isUnfoldable,
188
- visible: isOnMobile ? !isOnMobile : this.#stateInitial.visible,
189
- sidebar: this
190
- });
191
- }
192
- });
193
- }
194
- else {
195
- this.#layoutChangeSubscription?.unsubscribe();
196
- }
197
- }
198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SidebarComponent, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i1.BreakpointObserver }, { token: i2.SidebarService }, { token: i3.SidebarBackdropService }], target: i0.ɵɵFactoryTarget.Component }); }
199
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", type: SidebarComponent, isStandalone: true, selector: "c-sidebar", inputs: { colorScheme: "colorScheme", id: "id", narrow: ["narrow", "narrow", booleanAttribute], overlaid: ["overlaid", "overlaid", booleanAttribute], placement: "placement", position: "position", size: "size", unfoldable: ["unfoldable", "unfoldable", booleanAttribute], visible: ["visible", "visible", booleanAttribute] }, outputs: { visibleChange: "visibleChange" }, host: { properties: { "class": "this.getClasses" }, classAttribute: "sidebar" }, exportAs: ["cSidebar"], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true }); }
200
- }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: SidebarComponent, decorators: [{
202
- type: Component,
203
- args: [{
204
- selector: 'c-sidebar',
205
- exportAs: 'cSidebar',
206
- template: '<ng-content />',
207
- standalone: true,
208
- host: { class: 'sidebar' }
209
- }]
210
- }], ctorParameters: () => [{ type: Document, decorators: [{
211
- type: Inject,
212
- args: [DOCUMENT]
213
- }] }, { type: i0.Renderer2 }, { type: i1.BreakpointObserver }, { type: i2.SidebarService }, { type: i3.SidebarBackdropService }], propDecorators: { colorScheme: [{
214
- type: Input
215
- }], id: [{
216
- type: Input
217
- }], narrow: [{
218
- type: Input,
219
- args: [{ transform: booleanAttribute }]
220
- }], overlaid: [{
221
- type: Input,
222
- args: [{ transform: booleanAttribute }]
223
- }], placement: [{
224
- type: Input
225
- }], position: [{
226
- type: Input
227
- }], size: [{
228
- type: Input
229
- }], unfoldable: [{
230
- type: Input,
231
- args: [{ transform: booleanAttribute }]
232
- }], visible: [{
233
- type: Input,
234
- args: [{ transform: booleanAttribute }]
235
- }], visibleChange: [{
236
- type: Output
237
- }], getClasses: [{
238
- type: HostBinding,
239
- args: ['class']
240
- }] } });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBSUwsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFjM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixRQUFRLENBQVM7SUFDakIsU0FBUyxDQUFTO0lBQ2xCLHlCQUF5QixDQUFnQjtJQUN6Qyx3QkFBd0IsQ0FBZ0I7SUFNeEMsYUFBYSxDQUlYO0lBc0RGOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFRRCxJQUFJLFlBQVksQ0FBQyxLQUFxQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxRQUFRLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLENBQUMsT0FBTyxHQUFHLENB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QyxVQUFVO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVFsQyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBaUI1QixhQUFhO3NCQUF0QixNQUFNO2dCQWtESCxVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IElTaWRlYmFyQWN0aW9uLCBTaWRlYmFyU2VydmljZSB9IGZyb20gJy4uL3NpZGViYXIuc2VydmljZSc7XG5pbXBvcnQgeyBTaWRlYmFyQmFja2Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi4vc2lkZWJhci1iYWNrZHJvcC9zaWRlYmFyLWJhY2tkcm9wLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXNpZGViYXInLFxuICBleHBvcnRBczogJ2NTaWRlYmFyJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCAvPicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdzaWRlYmFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgI3Zpc2libGUgPSBmYWxzZTtcbiAgI29uTW9iaWxlID0gZmFsc2U7XG4gICNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gICNzdGF0ZVRvZ2dsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBzdGF0ZTogSVNpZGViYXJBY3Rpb24gPSB7XG4gICAgc2lkZWJhcjogdGhpc1xuICB9O1xuXG4gICNzdGF0ZUluaXRpYWwgPSB7XG4gICAgbmFycm93OiBmYWxzZSxcbiAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICB1bmZvbGRhYmxlOiBmYWxzZVxuICB9O1xuXG4gIC8qKlxuICAgKiBTZXRzIGlmIHRoZSBjb2xvciBvZiB0ZXh0IHNob3VsZCBiZSBjb2xvcmVkIGZvciBhIGxpZ2h0IG9yIGRhcmsgYmFja2dyb3VuZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlICdkYXJrJyB8ICdsaWdodCdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yU2NoZW1lPzogJ2RhcmsnIHwgJ2xpZ2h0JztcblxuICAvKipcbiAgICogU2V0cyBodG1sIGF0dHJpYnV0ZSBpZC4gW2RvY3NdXG4gICAqXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ha2Ugc2lkZWJhciBuYXJyb3cuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbmFycm93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldCBzaWRlYmFyIHRvIG92ZXJsYWlkIHZhcmlhbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvdmVybGFpZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnRzIHBsYWNlbWVudCwgdGhlcmXigJlzIG5vIGRlZmF1bHQgcGxhY2VtZW50LiBbZG9jc11cbiAgICogQHR5cGUgJ3N0YXJ0JyB8ICdlbmQnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ/OiAnc3RhcnQnIHwgJ2VuZCc7XG5cbiAgLyoqXG4gICAqIFBsYWNlIHNpZGViYXIgaW4gbm9uLXN0YXRpYyBwb3NpdGlvbnMuIFtkb2NzXVxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBASW5wdXQoKSBwb3NpdGlvbjogJ2ZpeGVkJyB8ICdzdGlja3knID0gJ2ZpeGVkJztcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsLCBsYXJnZSwgb3IgZXh0cmEgbGFyZ2UuIFtkb2NzXVxuICAgKi9cbiAgQElucHV0KCkgc2l6ZT86ICdzbScgfCAnbGcnIHwgJ3hsJztcblxuICAvKipcbiAgICogRXhwYW5kIG5hcnJvd2VkIHNpZGViYXIgb24gaG92ZXIuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdW5mb2xkYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2Ygc2lkZWJhciBjb21wb25lbnQuIFtkb2NzXVxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgc2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB2aXNpYmxlID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuI3Zpc2libGUgIT09IHZpc2libGUpIHtcbiAgICAgIHRoaXMuI3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy4jdmlzaWJsZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Zpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCBvbiB2aXNpYmlsaXR5IGNoYW5nZS4gW2RvY3NdXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIEBPdXRwdXQoKSB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHNldCBzaWRlYmFyU3RhdGUodmFsdWU6IElTaWRlYmFyQWN0aW9uKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSB2YWx1ZTtcbiAgICBpZiAoJ3RvZ2dsZScgaW4gbmV3U3RhdGUpIHtcbiAgICAgIGlmIChuZXdTdGF0ZS50b2dnbGUgPT09ICd2aXNpYmxlJykge1xuICAgICAgICBuZXdTdGF0ZS52aXNpYmxlID0gIXRoaXMuc3RhdGUudmlzaWJsZTtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gbmV3U3RhdGUudmlzaWJsZTtcbiAgICAgIH0gZWxzZSBpZiAobmV3U3RhdGUudG9nZ2xlID09PSAndW5mb2xkYWJsZScpIHtcbiAgICAgICAgbmV3U3RhdGUudW5mb2xkYWJsZSA9ICF0aGlzLnN0YXRlLnVuZm9sZGFibGU7XG4gICAgICAgIHRoaXMudW5mb2xkYWJsZSA9IG5ld1N0YXRlLnVuZm9sZGFibGU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlzaWJsZSA9IChuZXdTdGF0ZS52aXNpYmxlID8/IHRoaXMudmlzaWJsZSkgJiYgIXRoaXMub3ZlcmxhaWQ7XG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAuLi50aGlzLnN0YXRlLFxuICAgICAgLi4ubmV3U3RhdGVcbiAgICB9O1xuICAgIHRoaXMuc3RhdGUubW9iaWxlICYmIHRoaXMuc3RhdGUudmlzaWJsZVxuICAgICAgPyB0aGlzLmJhY2tkcm9wU2VydmljZS5zZXRCYWNrZHJvcCh0aGlzKVxuICAgICAgOiB0aGlzLmJhY2tkcm9wU2VydmljZS5jbGVhckJhY2tkcm9wKCk7XG4gIH1cblxuICBnZXQgc2lkZWJhclN0YXRlKCk6IElTaWRlYmFyQWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZTtcbiAgfVxuXG4gIGdldCBnZXRNb2JpbGVCcmVha3BvaW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IG1vYmlsZUJyZWFrcG9pbnQgPVxuICAgICAgdGhpcy5kb2N1bWVudC5kZWZhdWx0Vmlldz8uZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KT8uZ2V0UHJvcGVydHlWYWx1ZSgnLS1jdWktbW9iaWxlLWJyZWFrcG9pbnQnKSA/PyAnbWQnO1xuICAgIGNvbnN0IGJyZWFrcG9pbnRWYWx1ZSA9XG4gICAgICB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3XG4gICAgICAgID8uZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KVxuICAgICAgICA/LmdldFByb3BlcnR5VmFsdWUoYC0tY3VpLWJyZWFrcG9pbnQtJHttb2JpbGVCcmVha3BvaW50LnRyaW0oKX1gKSA/PyAnNzY4cHgnO1xuICAgIHJldHVybiBgJHtwYXJzZUZsb2F0KGJyZWFrcG9pbnRWYWx1ZS50cmltKCkpIC0gMC4wMn1weGA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICBwcml2YXRlIHNpZGViYXJTZXJ2aWNlOiBTaWRlYmFyU2VydmljZSxcbiAgICBwcml2YXRlIGJhY2tkcm9wU2VydmljZTogU2lkZWJhckJhY2tkcm9wU2VydmljZVxuICApIHtcbiAgICB0aGlzLmJhY2tkcm9wU2VydmljZS5yZW5kZXJlciA9IHJlbmRlcmVyO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBnZXRDbGFzc2VzKCk6IGFueSB7XG4gICAgY29uc3QgeyBtb2JpbGUsIHZpc2libGUgfSA9IHRoaXMuc2lkZWJhclN0YXRlO1xuICAgIHJldHVybiB7XG4gICAgICBzaWRlYmFyOiB0cnVlLFxuICAgICAgJ3NpZGViYXItZml4ZWQnOiB0aGlzLnBvc2l0aW9uID09PSAnZml4ZWQnICYmICFtb2JpbGUsXG4gICAgICAnc2lkZWJhci1uYXJyb3cnOiB0aGlzLm5hcnJvdyAmJiAhdGhpcy51bmZvbGRhYmxlLFxuICAgICAgJ3NpZGViYXItbmFycm93LXVuZm9sZGFibGUnOiB0aGlzLnVuZm9sZGFibGUsXG4gICAgICAnc2lkZWJhci1vdmVybGFpZCc6IHRoaXMub3ZlcmxhaWQsXG4gICAgICBbYHNpZGViYXItJHt0aGlzLnBsYWNlbWVudH1gXTogISF0aGlzLnBsYWNlbWVudCxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuY29sb3JTY2hlbWV9YF06ICEhdGhpcy5jb2xvclNjaGVtZSxcbiAgICAgIFtgc2lkZWJhci0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG4gICAgICBzaG93OiB2aXNpYmxlLFxuICAgICAgLy8gc2hvdzogdmlzaWJsZSAmJiB0aGlzLiNvbk1vYmlsZSwgLy90b2RvOiBjaGVja1xuICAgICAgaGlkZTogIXZpc2libGVcbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRJbml0aWFsU3RhdGUoKTtcbiAgICB0aGlzLmxheW91dENoYW5nZVN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVUb2dnbGVTdWJzY3JpYmUoZmFsc2UpO1xuICAgIHRoaXMubGF5b3V0Q2hhbmdlU3Vic2NyaWJlKGZhbHNlKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRTdGF0ZU1hcCA9IG5ldyBNYXAoT2JqZWN0LmVudHJpZXModGhpcy5zdGF0ZSkpO1xuICAgIGNvbnN0IG5ld1N0YXRlTWFwID0gbmV3IE1hcCgpO1xuICAgIG5ld1N0YXRlTWFwLnNldCgnc2lkZWJhcicsIHRoaXMpO1xuXG4gICAgY29uc3QgcHJvcExpc3QgPSBbJ3Zpc2libGUnLCAndW5mb2xkYWJsZScsICduYXJyb3cnXTtcblxuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgaWYgKHByb3BMaXN0LmluY2x1ZGVzKHByb3BOYW1lKSkge1xuICAgICAgICBpZiAoY2hhbmdlc1twcm9wTmFtZV0gJiYgIWNoYW5nZXNbcHJvcE5hbWVdLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBib29sZWFuQXR0cmlidXRlKGNoYW5nZXNbcHJvcE5hbWVdLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgICAgaWYgKG9sZFN0YXRlTWFwLmdldChwcm9wTmFtZSkgIT09IHZhbHVlKSB7XG4gICAgICAgICAgICBuZXdTdGF0ZU1hcC5zZXQocHJvcE5hbWUsIHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmV3U3RhdGVNYXAuc2l6ZSA+IDEpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gT2JqZWN0LmZyb21FbnRyaWVzKG5ld1N0YXRlTWFwLmVudHJpZXMoKSk7XG4gICAgICB0aGlzLnNpZGViYXJTZXJ2aWNlLnRvZ2dsZShzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5pdGlhbFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0YXRlSW5pdGlhbCA9IHtcbiAgICAgIG5hcnJvdzogdGhpcy5uYXJyb3csXG4gICAgICB2aXNpYmxlOiB0aGlzLnZpc2libGUsXG4gICAgICB1bmZvbGRhYmxlOiB0aGlzLnVuZm9sZGFibGVcbiAgICB9O1xuICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgIC4uLnRoaXMuI3N0YXRlSW5pdGlhbCxcbiAgICAgIHNpZGViYXI6IHRoaXNcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGVUb2dnbGVTdWJzY3JpYmUoc3Vic2NyaWJlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuI3N0YXRlVG9nZ2xlU3Vic2NyaXB0aW9uID0gdGhpcy5zaWRlYmFyU2VydmljZS5zaWRlYmFyU3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMgPT09IHN0YXRlLnNpZGViYXIgfHwgdGhpcy5pZCA9PT0gc3RhdGUuaWQpIHtcbiAgICAgICAgICB0aGlzLnNpZGViYXJTdGF0ZSA9IHN0YXRlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jc3RhdGVUb2dnbGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgbGF5b3V0Q2hhbmdlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBjb25zdCBvbk1vYmlsZSA9IGAobWF4LXdpZHRoOiAke3RoaXMuZ2V0TW9iaWxlQnJlYWtwb2ludH0pYDtcblxuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIGNvbnN0IGxheW91dENoYW5nZXMgPSB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKFtvbk1vYmlsZV0pO1xuXG4gICAgICB0aGlzLiNsYXlvdXRDaGFuZ2VTdWJzY3JpcHRpb24gPSBsYXlvdXRDaGFuZ2VzLnN1YnNjcmliZSgocmVzdWx0OiBCcmVha3BvaW50U3RhdGUpID0+IHtcbiAgICAgICAgY29uc3QgaXNPbk1vYmlsZSA9IHJlc3VsdC5icmVha3BvaW50c1tvbk1vYmlsZV07XG4gICAgICAgIGNvbnN0IGlzVW5mb2xkYWJsZSA9IGlzT25Nb2JpbGUgPyBmYWxzZSA6IHRoaXMudW5mb2xkYWJsZTtcbiAgICAgICAgaWYgKHRoaXMuI29uTW9iaWxlICE9PSBpc09uTW9iaWxlKSB7XG4gICAgICAgICAgdGhpcy4jb25Nb2JpbGUgPSBpc09uTW9iaWxlO1xuICAgICAgICAgIHRoaXMuc2lkZWJhclNlcnZpY2UudG9nZ2xlKHtcbiAgICAgICAgICAgIG1vYmlsZTogaXNPbk1vYmlsZSxcbiAgICAgICAgICAgIHVuZm9sZGFibGU6IGlzVW5mb2xkYWJsZSxcbiAgICAgICAgICAgIHZpc2libGU6IGlzT25Nb2JpbGUgPyAhaXNPbk1vYmlsZSA6IHRoaXMuI3N0YXRlSW5pdGlhbC52aXNpYmxlLFxuICAgICAgICAgICAgc2lkZWJhcjogdGhpc1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jbGF5b3V0Q2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19