@bravobit/bb-foundation 0.14.3 → 0.15.2

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 (413) hide show
  1. package/README.md +47 -47
  2. package/auth/bravobit-bb-foundation-auth.d.ts +5 -5
  3. package/auth/lib/auth.interceptor.d.ts +21 -21
  4. package/auth/lib/auth.module.d.ts +15 -15
  5. package/auth/lib/auth.service.d.ts +59 -59
  6. package/auth/lib/auth.session.d.ts +34 -34
  7. package/auth/lib/directives/authenticated.directive.d.ts +14 -14
  8. package/auth/lib/directives/permission.directive.d.ts +24 -24
  9. package/auth/lib/directives/role.directive.d.ts +16 -16
  10. package/auth/lib/guards/anonymous.guard.d.ts +11 -11
  11. package/auth/lib/guards/authenticated.guard.d.ts +11 -11
  12. package/auth/lib/helpers/jwt.helper.d.ts +8 -8
  13. package/auth/lib/helpers/mapper.helper.d.ts +23 -23
  14. package/auth/lib/interfaces/config.interface.d.ts +12 -12
  15. package/auth/lib/interfaces/mapper.interface.d.ts +19 -19
  16. package/auth/lib/interfaces/provider.interface.d.ts +16 -16
  17. package/auth/lib/interfaces/token.interface.d.ts +11 -11
  18. package/auth/lib/permissions.service.d.ts +14 -14
  19. package/auth/lib/providers/email.provider.d.ts +15 -15
  20. package/auth/lib/providers/verify.provider.d.ts +13 -13
  21. package/auth/lib/tokens/use-authorization.token.d.ts +2 -2
  22. package/auth/public_api.d.ts +18 -18
  23. package/bravobit-bb-foundation.d.ts +5 -5
  24. package/bundles/bravobit-bb-foundation-auth.umd.js +1400 -1402
  25. package/bundles/bravobit-bb-foundation-auth.umd.js.map +1 -1
  26. package/bundles/bravobit-bb-foundation-collections.umd.js +868 -0
  27. package/bundles/bravobit-bb-foundation-collections.umd.js.map +1 -0
  28. package/bundles/bravobit-bb-foundation-dashboard.umd.js +817 -819
  29. package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +1 -1
  30. package/bundles/bravobit-bb-foundation-dialog.umd.js +649 -651
  31. package/bundles/bravobit-bb-foundation-dialog.umd.js.map +1 -1
  32. package/bundles/bravobit-bb-foundation-elements.umd.js +2651 -2653
  33. package/bundles/bravobit-bb-foundation-elements.umd.js.map +1 -1
  34. package/bundles/bravobit-bb-foundation-http.umd.js +488 -490
  35. package/bundles/bravobit-bb-foundation-http.umd.js.map +1 -1
  36. package/bundles/bravobit-bb-foundation-localize.umd.js +1208 -1210
  37. package/bundles/bravobit-bb-foundation-localize.umd.js.map +1 -1
  38. package/bundles/bravobit-bb-foundation-notifications.umd.js +743 -745
  39. package/bundles/bravobit-bb-foundation-notifications.umd.js.map +1 -1
  40. package/bundles/bravobit-bb-foundation-recaptcha.umd.js +640 -642
  41. package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +1 -1
  42. package/bundles/bravobit-bb-foundation-rxjs.umd.js +13 -13
  43. package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +1 -1
  44. package/bundles/bravobit-bb-foundation-storage.umd.js +756 -758
  45. package/bundles/bravobit-bb-foundation-storage.umd.js.map +1 -1
  46. package/bundles/bravobit-bb-foundation-table.umd.js +993 -995
  47. package/bundles/bravobit-bb-foundation-table.umd.js.map +1 -1
  48. package/bundles/bravobit-bb-foundation.umd.js +1332 -1334
  49. package/bundles/bravobit-bb-foundation.umd.js.map +1 -1
  50. package/collections/bravobit-bb-foundation-collections.d.ts +5 -0
  51. package/collections/lib/collection.d.ts +43 -0
  52. package/collections/lib/collections.module.d.ts +10 -0
  53. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -0
  54. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -0
  55. package/collections/lib/components/collections.directive.d.ts +17 -0
  56. package/collections/lib/interfaces/collection.interface.d.ts +26 -0
  57. package/collections/lib/providers/api-collection.provider.d.ts +15 -0
  58. package/collections/lib/providers/collection.provider.d.ts +6 -0
  59. package/collections/lib/providers/local-collection.provider.d.ts +8 -0
  60. package/collections/package.json +10 -0
  61. package/collections/public_api.d.ts +9 -0
  62. package/dashboard/bravobit-bb-foundation-dashboard.d.ts +5 -5
  63. package/dashboard/lib/dashboard/dashboard.component.d.ts +19 -19
  64. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +11 -11
  65. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +9 -9
  66. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +11 -11
  67. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +21 -21
  68. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +27 -27
  69. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +16 -16
  70. package/dashboard/lib/dashboard.module.d.ts +16 -16
  71. package/dashboard/public_api.d.ts +8 -8
  72. package/dialog/bravobit-bb-foundation-dialog.d.ts +5 -5
  73. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +5 -5
  74. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +16 -16
  75. package/dialog/lib/dialog-container/dialog-container.component.d.ts +24 -24
  76. package/dialog/lib/dialog-header/dialog-header.component.d.ts +9 -9
  77. package/dialog/lib/dialog-link/dialog-link.component.d.ts +5 -5
  78. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +12 -12
  79. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +22 -22
  80. package/dialog/lib/dialog.injector.d.ts +8 -8
  81. package/dialog/lib/dialog.insertion.d.ts +8 -8
  82. package/dialog/lib/dialog.interfaces.d.ts +3 -3
  83. package/dialog/lib/dialog.module.d.ts +19 -19
  84. package/dialog/lib/dialog.ref.d.ts +8 -8
  85. package/dialog/lib/dialog.service.d.ts +19 -19
  86. package/dialog/public_api.d.ts +9 -9
  87. package/elements/bravobit-bb-foundation-elements.d.ts +5 -5
  88. package/elements/lib/avatar/avatar.component.d.ts +25 -25
  89. package/elements/lib/button/button.component.d.ts +23 -23
  90. package/elements/lib/checkbox/checkbox.component.d.ts +27 -27
  91. package/elements/lib/date-picker/date-picker.component.d.ts +69 -69
  92. package/elements/lib/directives/addon.directive.d.ts +9 -9
  93. package/elements/lib/directives/autosize.directive.d.ts +18 -18
  94. package/elements/lib/directives/focus-trap.directive.d.ts +17 -17
  95. package/elements/lib/directives/focus.directive.d.ts +14 -14
  96. package/elements/lib/directives/form-submit.directive.d.ts +17 -17
  97. package/elements/lib/directives/input.directive.d.ts +38 -38
  98. package/elements/lib/directives/template.directive.d.ts +10 -10
  99. package/elements/lib/dropdown/dropdown.component.d.ts +21 -21
  100. package/elements/lib/elements.interfaces.d.ts +25 -25
  101. package/elements/lib/elements.module.d.ts +116 -116
  102. package/elements/lib/file-picker/file-picker.component.d.ts +49 -49
  103. package/elements/lib/form-control/form-control.component.d.ts +21 -21
  104. package/elements/lib/form-error/form-error.component.d.ts +29 -29
  105. package/elements/lib/form-group/form-group.component.d.ts +10 -10
  106. package/elements/lib/icon/icon.component.d.ts +22 -22
  107. package/elements/lib/image-picker/image-picker.component.d.ts +38 -38
  108. package/elements/lib/pipes/file-image.pipe.d.ts +13 -13
  109. package/elements/lib/pipes/file-size.pipe.d.ts +8 -8
  110. package/elements/lib/pipes/relative-time.pipe.d.ts +19 -19
  111. package/elements/lib/spinner/spinner.component.d.ts +12 -12
  112. package/elements/lib/tag/tag.component.d.ts +7 -7
  113. package/elements/public_api.d.ts +25 -25
  114. package/esm2015/auth/bravobit-bb-foundation-auth.js +4 -4
  115. package/esm2015/auth/lib/auth.interceptor.js +95 -95
  116. package/esm2015/auth/lib/auth.module.js +54 -54
  117. package/esm2015/auth/lib/auth.service.js +299 -299
  118. package/esm2015/auth/lib/auth.session.js +136 -136
  119. package/esm2015/auth/lib/directives/authenticated.directive.js +32 -32
  120. package/esm2015/auth/lib/directives/permission.directive.js +81 -81
  121. package/esm2015/auth/lib/directives/role.directive.js +38 -38
  122. package/esm2015/auth/lib/guards/anonymous.guard.js +35 -35
  123. package/esm2015/auth/lib/guards/authenticated.guard.js +36 -36
  124. package/esm2015/auth/lib/helpers/jwt.helper.js +69 -69
  125. package/esm2015/auth/lib/helpers/mapper.helper.js +35 -35
  126. package/esm2015/auth/lib/interfaces/config.interface.js +3 -3
  127. package/esm2015/auth/lib/interfaces/mapper.interface.js +2 -2
  128. package/esm2015/auth/lib/interfaces/provider.interface.js +2 -2
  129. package/esm2015/auth/lib/interfaces/token.interface.js +2 -2
  130. package/esm2015/auth/lib/permissions.service.js +58 -58
  131. package/esm2015/auth/lib/providers/email.provider.js +26 -26
  132. package/esm2015/auth/lib/providers/verify.provider.js +20 -20
  133. package/esm2015/auth/lib/tokens/use-authorization.token.js +3 -3
  134. package/esm2015/auth/public_api.js +19 -19
  135. package/esm2015/bravobit-bb-foundation.js +4 -4
  136. package/esm2015/collections/bravobit-bb-foundation-collections.js +5 -0
  137. package/esm2015/collections/lib/collection.js +104 -0
  138. package/esm2015/collections/lib/collections.module.js +54 -0
  139. package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +136 -0
  140. package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +39 -0
  141. package/esm2015/collections/lib/components/collections.directive.js +43 -0
  142. package/esm2015/collections/lib/interfaces/collection.interface.js +2 -0
  143. package/esm2015/collections/lib/providers/api-collection.provider.js +69 -0
  144. package/esm2015/collections/lib/providers/collection.provider.js +14 -0
  145. package/esm2015/collections/lib/providers/local-collection.provider.js +16 -0
  146. package/esm2015/collections/public_api.js +10 -0
  147. package/esm2015/dashboard/bravobit-bb-foundation-dashboard.js +4 -4
  148. package/esm2015/dashboard/lib/dashboard/dashboard.component.js +64 -64
  149. package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +41 -41
  150. package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +39 -39
  151. package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +38 -38
  152. package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +83 -83
  153. package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +110 -110
  154. package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +71 -71
  155. package/esm2015/dashboard/lib/dashboard.module.js +47 -47
  156. package/esm2015/dashboard/public_api.js +9 -9
  157. package/esm2015/dialog/bravobit-bb-foundation-dialog.js +4 -4
  158. package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +20 -20
  159. package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +45 -45
  160. package/esm2015/dialog/lib/dialog-container/dialog-container.component.js +162 -162
  161. package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +33 -33
  162. package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +19 -19
  163. package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +54 -54
  164. package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +143 -143
  165. package/esm2015/dialog/lib/dialog.injector.js +18 -18
  166. package/esm2015/dialog/lib/dialog.insertion.js +16 -16
  167. package/esm2015/dialog/lib/dialog.interfaces.js +3 -3
  168. package/esm2015/dialog/lib/dialog.module.js +74 -74
  169. package/esm2015/dialog/lib/dialog.ref.js +22 -22
  170. package/esm2015/dialog/lib/dialog.service.js +77 -77
  171. package/esm2015/dialog/public_api.js +10 -10
  172. package/esm2015/elements/bravobit-bb-foundation-elements.js +4 -4
  173. package/esm2015/elements/lib/avatar/avatar.component.js +151 -151
  174. package/esm2015/elements/lib/button/button.component.js +79 -79
  175. package/esm2015/elements/lib/checkbox/checkbox.component.js +83 -83
  176. package/esm2015/elements/lib/date-picker/date-picker.component.js +322 -322
  177. package/esm2015/elements/lib/directives/addon.directive.js +29 -29
  178. package/esm2015/elements/lib/directives/autosize.directive.js +74 -74
  179. package/esm2015/elements/lib/directives/focus-trap.directive.js +77 -77
  180. package/esm2015/elements/lib/directives/focus.directive.js +39 -39
  181. package/esm2015/elements/lib/directives/form-submit.directive.js +53 -53
  182. package/esm2015/elements/lib/directives/input.directive.js +139 -139
  183. package/esm2015/elements/lib/directives/template.directive.js +28 -28
  184. package/esm2015/elements/lib/dropdown/dropdown.component.js +111 -111
  185. package/esm2015/elements/lib/elements.interfaces.js +4 -4
  186. package/esm2015/elements/lib/elements.module.js +177 -177
  187. package/esm2015/elements/lib/file-picker/file-picker.component.js +247 -247
  188. package/esm2015/elements/lib/form-control/form-control.component.js +58 -58
  189. package/esm2015/elements/lib/form-error/form-error.component.js +116 -116
  190. package/esm2015/elements/lib/form-group/form-group.component.js +27 -27
  191. package/esm2015/elements/lib/icon/icon.component.js +110 -110
  192. package/esm2015/elements/lib/image-picker/image-picker.component.js +119 -119
  193. package/esm2015/elements/lib/pipes/file-image.pipe.js +45 -45
  194. package/esm2015/elements/lib/pipes/file-size.pipe.js +28 -28
  195. package/esm2015/elements/lib/pipes/relative-time.pipe.js +96 -96
  196. package/esm2015/elements/lib/spinner/spinner.component.js +34 -34
  197. package/esm2015/elements/lib/tag/tag.component.js +26 -26
  198. package/esm2015/elements/public_api.js +26 -26
  199. package/esm2015/http/bravobit-bb-foundation-http.js +4 -4
  200. package/esm2015/http/lib/classes/http.config.js +31 -31
  201. package/esm2015/http/lib/classes/http.error.js +21 -21
  202. package/esm2015/http/lib/http.interfaces.js +2 -2
  203. package/esm2015/http/lib/http.module.js +43 -43
  204. package/esm2015/http/lib/interceptors/base-url.interceptor.js +52 -52
  205. package/esm2015/http/lib/interceptors/error.interceptor.js +33 -33
  206. package/esm2015/http/public_api.js +7 -7
  207. package/esm2015/lib/core/coercions/boolean-coercion.js +4 -4
  208. package/esm2015/lib/core/miscellaneous/regex.js +5 -5
  209. package/esm2015/lib/core/miscellaneous/validator.js +86 -86
  210. package/esm2015/lib/core/mixins/can-disable.js +16 -16
  211. package/esm2015/lib/core/mixins/can-hide-errors.js +16 -16
  212. package/esm2015/lib/core/mixins/can-load.js +16 -16
  213. package/esm2015/lib/core/mixins/constructor.js +2 -2
  214. package/esm2015/lib/core/mixins/has-error.js +16 -16
  215. package/esm2015/lib/core/mixins/is-focused.js +16 -16
  216. package/esm2015/lib/core/mixins/is-grouped.js +16 -16
  217. package/esm2015/lib/core/mixins/is-readonly.js +16 -16
  218. package/esm2015/lib/core/mixins/is-required.js +16 -16
  219. package/esm2015/lib/core/services/clipboard.service.js +72 -72
  220. package/esm2015/lib/core/services/exif.service.js +168 -168
  221. package/esm2015/lib/core/services/file-loader.service.js +90 -90
  222. package/esm2015/lib/core/services/image-converter.service.js +130 -130
  223. package/esm2015/lib/core/services/languages.service.js +74 -74
  224. package/esm2015/lib/core/services/network.service.js +56 -56
  225. package/esm2015/lib/core/services/patch.service.js +65 -65
  226. package/esm2015/lib/core/services/platform.service.js +42 -42
  227. package/esm2015/lib/core/tokens/accept-language.token.js +3 -3
  228. package/esm2015/lib/core/tokens/base-url.token.js +3 -3
  229. package/esm2015/lib/core/tokens/cookie.token.js +3 -3
  230. package/esm2015/lib/core/tokens/location.token.js +6 -6
  231. package/esm2015/lib/core/tokens/navigator.token.js +6 -6
  232. package/esm2015/lib/core/tokens/window.token.js +12 -12
  233. package/esm2015/localize/bravobit-bb-foundation-localize.js +4 -4
  234. package/esm2015/localize/lib/functions/date.function.js +18 -18
  235. package/esm2015/localize/lib/functions/lowercase.function.js +13 -13
  236. package/esm2015/localize/lib/functions/uppercase.function.js +13 -13
  237. package/esm2015/localize/lib/handlers/missing.handler.js +17 -17
  238. package/esm2015/localize/lib/interfaces/config.interfaces.js +10 -10
  239. package/esm2015/localize/lib/interfaces/dictionary.interfaces.js +8 -8
  240. package/esm2015/localize/lib/interfaces/functions.interfaces.js +8 -8
  241. package/esm2015/localize/lib/interfaces/handlers.interfaces.js +2 -2
  242. package/esm2015/localize/lib/interfaces/options.interfaces.js +6 -6
  243. package/esm2015/localize/lib/localizations/dutch.localization.js +53 -53
  244. package/esm2015/localize/lib/localizations/english.localization.js +53 -53
  245. package/esm2015/localize/lib/localize.dictionary.js +137 -137
  246. package/esm2015/localize/lib/localize.module.js +69 -69
  247. package/esm2015/localize/lib/localize.pipe.js +49 -49
  248. package/esm2015/localize/lib/localize.service.js +282 -282
  249. package/esm2015/localize/lib/views/localize-string/localize-string.component.js +99 -99
  250. package/esm2015/localize/lib/views/localize-template-or-string.directive.js +28 -28
  251. package/esm2015/localize/lib/views/localize-template.directive.js +21 -21
  252. package/esm2015/localize/public_api.js +18 -18
  253. package/esm2015/notifications/bravobit-bb-foundation-notifications.js +4 -4
  254. package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +108 -108
  255. package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +56 -56
  256. package/esm2015/notifications/lib/notifications.animations.js +28 -28
  257. package/esm2015/notifications/lib/notifications.injector.js +18 -18
  258. package/esm2015/notifications/lib/notifications.interfaces.js +20 -20
  259. package/esm2015/notifications/lib/notifications.module.js +31 -31
  260. package/esm2015/notifications/lib/notifications.service.js +145 -145
  261. package/esm2015/notifications/public_api.js +4 -4
  262. package/esm2015/public_api.js +30 -30
  263. package/esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js +4 -4
  264. package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +199 -199
  265. package/esm2015/recaptcha/lib/recaptcha-loader.service.js +93 -93
  266. package/esm2015/recaptcha/lib/recaptcha.interface.js +3 -3
  267. package/esm2015/recaptcha/lib/recaptcha.module.js +27 -27
  268. package/esm2015/recaptcha/public_api.js +5 -5
  269. package/esm2015/rxjs/bravobit-bb-foundation-rxjs.js +4 -4
  270. package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +7 -7
  271. package/esm2015/rxjs/lib/operators/filter-nil.operator.js +5 -5
  272. package/esm2015/rxjs/public_api.js +3 -3
  273. package/esm2015/storage/bravobit-bb-foundation-storage.js +4 -4
  274. package/esm2015/storage/lib/interfaces/attributes.interface.js +2 -2
  275. package/esm2015/storage/lib/interfaces/memory.interface.js +2 -2
  276. package/esm2015/storage/lib/interfaces/strategy.interface.js +2 -2
  277. package/esm2015/storage/lib/storage.service.js +111 -111
  278. package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +143 -143
  279. package/esm2015/storage/lib/strategies/memory-storage.strategy.js +56 -56
  280. package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +102 -102
  281. package/esm2015/storage/public_api.js +8 -8
  282. package/esm2015/table/bravobit-bb-foundation-table.js +4 -4
  283. package/esm2015/table/lib/components/table/table.component.js +183 -183
  284. package/esm2015/table/lib/components/table-cell/table-cell.component.js +19 -19
  285. package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +141 -141
  286. package/esm2015/table/lib/components/table-pager/table-pager.component.js +146 -146
  287. package/esm2015/table/lib/data/datasource.data.js +32 -32
  288. package/esm2015/table/lib/data/generic.data.js +73 -73
  289. package/esm2015/table/lib/interfaces/datasource.interface.js +2 -2
  290. package/esm2015/table/lib/interfaces/table.interfaces.js +2 -2
  291. package/esm2015/table/lib/table.module.js +39 -39
  292. package/esm2015/table/public_api.js +10 -10
  293. package/fesm2015/bravobit-bb-foundation-auth.js +915 -915
  294. package/fesm2015/bravobit-bb-foundation-auth.js.map +1 -1
  295. package/fesm2015/bravobit-bb-foundation-collections.js +463 -0
  296. package/fesm2015/bravobit-bb-foundation-collections.js.map +1 -0
  297. package/fesm2015/bravobit-bb-foundation-dashboard.js +434 -434
  298. package/fesm2015/bravobit-bb-foundation-dashboard.js.map +1 -1
  299. package/fesm2015/bravobit-bb-foundation-dialog.js +603 -603
  300. package/fesm2015/bravobit-bb-foundation-dialog.js.map +1 -1
  301. package/fesm2015/bravobit-bb-foundation-elements.js +2076 -2076
  302. package/fesm2015/bravobit-bb-foundation-elements.js.map +1 -1
  303. package/fesm2015/bravobit-bb-foundation-http.js +154 -154
  304. package/fesm2015/bravobit-bb-foundation-http.js.map +1 -1
  305. package/fesm2015/bravobit-bb-foundation-localize.js +796 -796
  306. package/fesm2015/bravobit-bb-foundation-localize.js.map +1 -1
  307. package/fesm2015/bravobit-bb-foundation-notifications.js +364 -364
  308. package/fesm2015/bravobit-bb-foundation-notifications.js.map +1 -1
  309. package/fesm2015/bravobit-bb-foundation-recaptcha.js +297 -297
  310. package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +1 -1
  311. package/fesm2015/bravobit-bb-foundation-rxjs.js +7 -7
  312. package/fesm2015/bravobit-bb-foundation-rxjs.js.map +1 -1
  313. package/fesm2015/bravobit-bb-foundation-storage.js +399 -399
  314. package/fesm2015/bravobit-bb-foundation-storage.js.map +1 -1
  315. package/fesm2015/bravobit-bb-foundation-table.js +578 -578
  316. package/fesm2015/bravobit-bb-foundation-table.js.map +1 -1
  317. package/fesm2015/bravobit-bb-foundation.js +851 -851
  318. package/fesm2015/bravobit-bb-foundation.js.map +1 -1
  319. package/http/bravobit-bb-foundation-http.d.ts +5 -5
  320. package/http/lib/classes/http.config.d.ts +9 -9
  321. package/http/lib/classes/http.error.d.ts +7 -7
  322. package/http/lib/http.interfaces.d.ts +12 -12
  323. package/http/lib/http.module.d.ts +15 -15
  324. package/http/lib/interceptors/base-url.interceptor.d.ts +15 -15
  325. package/http/lib/interceptors/error.interceptor.d.ts +11 -11
  326. package/http/public_api.d.ts +6 -6
  327. package/lib/core/coercions/boolean-coercion.d.ts +1 -1
  328. package/lib/core/miscellaneous/regex.d.ts +4 -4
  329. package/lib/core/miscellaneous/validator.d.ts +13 -13
  330. package/lib/core/mixins/can-disable.d.ts +6 -6
  331. package/lib/core/mixins/can-hide-errors.d.ts +6 -6
  332. package/lib/core/mixins/can-load.d.ts +6 -6
  333. package/lib/core/mixins/constructor.d.ts +1 -1
  334. package/lib/core/mixins/has-error.d.ts +6 -6
  335. package/lib/core/mixins/is-focused.d.ts +6 -6
  336. package/lib/core/mixins/is-grouped.d.ts +6 -6
  337. package/lib/core/mixins/is-readonly.d.ts +6 -6
  338. package/lib/core/mixins/is-required.d.ts +6 -6
  339. package/lib/core/services/clipboard.service.d.ts +18 -18
  340. package/lib/core/services/exif.service.d.ts +15 -15
  341. package/lib/core/services/file-loader.service.d.ts +13 -13
  342. package/lib/core/services/image-converter.service.d.ts +21 -21
  343. package/lib/core/services/languages.service.d.ts +16 -16
  344. package/lib/core/services/network.service.d.ts +14 -14
  345. package/lib/core/services/patch.service.d.ts +16 -16
  346. package/lib/core/services/platform.service.d.ts +18 -18
  347. package/lib/core/tokens/accept-language.token.d.ts +2 -2
  348. package/lib/core/tokens/base-url.token.d.ts +2 -2
  349. package/lib/core/tokens/cookie.token.d.ts +2 -2
  350. package/lib/core/tokens/location.token.d.ts +2 -2
  351. package/lib/core/tokens/navigator.token.d.ts +2 -2
  352. package/lib/core/tokens/window.token.d.ts +2 -2
  353. package/localize/bravobit-bb-foundation-localize.d.ts +5 -5
  354. package/localize/lib/functions/date.function.d.ts +5 -5
  355. package/localize/lib/functions/lowercase.function.d.ts +5 -5
  356. package/localize/lib/functions/uppercase.function.d.ts +5 -5
  357. package/localize/lib/handlers/missing.handler.d.ts +6 -6
  358. package/localize/lib/interfaces/config.interfaces.d.ts +8 -8
  359. package/localize/lib/interfaces/dictionary.interfaces.d.ts +12 -12
  360. package/localize/lib/interfaces/functions.interfaces.d.ts +9 -9
  361. package/localize/lib/interfaces/handlers.interfaces.d.ts +6 -6
  362. package/localize/lib/interfaces/options.interfaces.d.ts +10 -10
  363. package/localize/lib/localizations/dutch.localization.d.ts +51 -51
  364. package/localize/lib/localizations/english.localization.d.ts +51 -51
  365. package/localize/lib/localize.dictionary.d.ts +24 -24
  366. package/localize/lib/localize.module.d.ts +18 -18
  367. package/localize/lib/localize.pipe.d.ts +12 -12
  368. package/localize/lib/localize.service.d.ts +51 -51
  369. package/localize/lib/views/localize-string/localize-string.component.d.ts +23 -23
  370. package/localize/lib/views/localize-template-or-string.directive.d.ts +10 -10
  371. package/localize/lib/views/localize-template.directive.d.ts +9 -9
  372. package/localize/public_api.d.ts +17 -17
  373. package/notifications/bravobit-bb-foundation-notifications.d.ts +5 -5
  374. package/notifications/lib/notifications-item/notifications-item.component.d.ts +34 -34
  375. package/notifications/lib/notifications-list/notifications-list.component.d.ts +16 -16
  376. package/notifications/lib/notifications.animations.d.ts +1 -1
  377. package/notifications/lib/notifications.injector.d.ts +8 -8
  378. package/notifications/lib/notifications.interfaces.d.ts +49 -49
  379. package/notifications/lib/notifications.module.d.ts +13 -13
  380. package/notifications/lib/notifications.service.d.ts +34 -34
  381. package/notifications/public_api.d.ts +3 -3
  382. package/package.json +5 -5
  383. package/public_api.d.ts +26 -26
  384. package/recaptcha/bravobit-bb-foundation-recaptcha.d.ts +5 -5
  385. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +47 -47
  386. package/recaptcha/lib/recaptcha-loader.service.d.ts +22 -22
  387. package/recaptcha/lib/recaptcha.interface.d.ts +14 -14
  388. package/recaptcha/lib/recaptcha.module.d.ts +10 -16
  389. package/recaptcha/public_api.d.ts +4 -4
  390. package/rxjs/bravobit-bb-foundation-rxjs.d.ts +5 -5
  391. package/rxjs/lib/operators/combine-latest-map.operator.d.ts +8 -8
  392. package/rxjs/lib/operators/filter-nil.operator.d.ts +1 -1
  393. package/rxjs/public_api.d.ts +2 -2
  394. package/storage/bravobit-bb-foundation-storage.d.ts +5 -5
  395. package/storage/lib/interfaces/attributes.interface.d.ts +13 -13
  396. package/storage/lib/interfaces/memory.interface.d.ts +7 -7
  397. package/storage/lib/interfaces/strategy.interface.d.ts +17 -17
  398. package/storage/lib/storage.service.d.ts +26 -26
  399. package/storage/lib/strategies/cookie-storage.strategy.d.ts +20 -20
  400. package/storage/lib/strategies/memory-storage.strategy.d.ts +11 -11
  401. package/storage/lib/strategies/polyfill-storage.strategy.d.ts +15 -15
  402. package/storage/public_api.d.ts +7 -7
  403. package/table/bravobit-bb-foundation-table.d.ts +5 -5
  404. package/table/lib/components/table/table.component.d.ts +48 -48
  405. package/table/lib/components/table-cell/table-cell.component.d.ts +5 -5
  406. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +29 -29
  407. package/table/lib/components/table-pager/table-pager.component.d.ts +41 -41
  408. package/table/lib/data/datasource.data.d.ts +14 -14
  409. package/table/lib/data/generic.data.d.ts +23 -23
  410. package/table/lib/interfaces/datasource.interface.d.ts +17 -17
  411. package/table/lib/interfaces/table.interfaces.d.ts +1 -1
  412. package/table/lib/table.module.d.ts +14 -14
  413. package/table/public_api.d.ts +9 -9
@@ -12,456 +12,456 @@ import { RouterModule } from '@angular/router';
12
12
  import * as i2$2 from '@bravobit/bb-foundation/elements';
13
13
  import { ElementsModule } from '@bravobit/bb-foundation/elements';
14
14
 
15
- class BbDashboardSidebar {
16
- constructor(_storage) {
17
- this._storage = _storage;
18
- // Bindings.
19
- this.visibilityChanges = new BehaviorSubject(true);
20
- // State.
21
- this._state$ = new BehaviorSubject({});
22
- // Token.
23
- this._localStorageToken = 'bb-dashboard-sidebar-state';
24
- }
25
- ngOnInit() {
26
- // Retrieve the cache.
27
- this._cache = this._storage.get(this._localStorageToken) || {};
28
- }
29
- registerGroup(id) {
30
- // Get the old state.
31
- const oldState = this._state$.getValue();
32
- // Get the cache value so when it is undefined
33
- // we will default to true.
34
- const cacheValue = this._cache[id] === undefined ? true : this._cache[id];
35
- // Push the new state.
36
- this._state$.next(Object.assign(Object.assign({}, oldState), { [id]: cacheValue }));
37
- // Return the slice of the state that the group needs.
38
- return this._state$.pipe(map(state => state[id]));
39
- }
40
- unregisterGroup(id) {
41
- // Get the old groups.
42
- const oldState = this._state$.getValue();
43
- // Generate the new state without the id.
44
- const newState = Object.keys(oldState).reduce((object, key) => {
45
- if (key !== id) {
46
- object[key] = oldState[key];
47
- }
48
- return object;
49
- }, {});
50
- // Push the new state.
51
- this._state$.next(newState);
52
- }
53
- toggleGroup(id, newValue) {
54
- // Get the old state.
55
- const oldState = this._state$.getValue();
56
- // Create the new state.
57
- const newState = Object.assign(Object.assign({}, oldState), { [id]: newValue });
58
- // Push the new state.
59
- this._state$.next(newState);
60
- // Save in the cache.
61
- this._storage.set(this._localStorageToken, newState);
62
- }
63
- toggle() {
64
- const current = this.visibilityChanges.getValue();
65
- this.visibilityChanges.next(!current);
66
- }
67
- open() {
68
- this.visibilityChanges.next(true);
69
- }
70
- close() {
71
- this.visibilityChanges.next(false);
72
- }
73
- }
74
- BbDashboardSidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebar, deps: [{ token: i1.Storage }], target: i0.ɵɵFactoryTarget.Component });
75
- BbDashboardSidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardSidebar, selector: "bb-dashboard-sidebar", host: { attributes: { "role": "navigation" }, properties: { "class.visible": "visibilityChanges.getValue()" }, classAttribute: "bb-dashboard-sidebar" }, ngImport: i0, template: "<!--\r\n The optional header element.\r\n-->\r\n<ng-content select=\"header\"></ng-content>\r\n\r\n<!--\r\n The scroll area that contains the\r\n groups in the navigation.\r\n-->\r\n<div class=\"bb-dashboard-sidebar-scroll\">\r\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\r\n</div>\r\n\r\n<!--\r\n The optional footer element.\r\n-->\r\n<ng-content select=\"footer\"></ng-content>\r\n", styles: [".bb-dashboard-sidebar{top:0;bottom:0;z-index:10;left:-256px;width:256px;height:100vh;display:flex;position:fixed;min-width:256px;will-change:transform;flex-direction:column;transform:translateX(256px);height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100);border-right:1px solid rgba(0,0,0,.4);transition:transform .25s cubic-bezier(0,0,.2,1);background:#fff linear-gradient(180deg,#fff,#f2f2f2)}.bb-dashboard-sidebar.visible{transform:none}.bb-dashboard-sidebar-scroll{flex:1;overflow:auto}.bb-dashboard-sidebar>header{border-bottom:1px solid #d8d8d8;background-color:hsla(0,0%,100%,.5)}.bb-dashboard-sidebar>footer{border-top:1px solid #d8d8d8;background-color:hsla(0,0%,100%,.5)}@media only screen and (min-width:768px){.bb-dashboard-sidebar{left:0;z-index:auto;transform:none;position:relative;margin-left:-256px;transition:margin-left .25s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebar, decorators: [{
77
- type: Component,
78
- args: [{
79
- selector: 'bb-dashboard-sidebar',
80
- templateUrl: './dashboard-sidebar.component.html',
81
- styleUrls: ['./dashboard-sidebar.component.scss'],
82
- changeDetection: ChangeDetectionStrategy.OnPush,
83
- encapsulation: ViewEncapsulation.None,
84
- preserveWhitespaces: false,
85
- host: {
86
- 'class': 'bb-dashboard-sidebar',
87
- '[class.visible]': 'visibilityChanges.getValue()',
88
- 'role': 'navigation'
89
- }
90
- }]
15
+ class BbDashboardSidebar {
16
+ constructor(_storage) {
17
+ this._storage = _storage;
18
+ // Bindings.
19
+ this.visibilityChanges = new BehaviorSubject(true);
20
+ // State.
21
+ this._state$ = new BehaviorSubject({});
22
+ // Token.
23
+ this._localStorageToken = 'bb-dashboard-sidebar-state';
24
+ }
25
+ ngOnInit() {
26
+ // Retrieve the cache.
27
+ this._cache = this._storage.get(this._localStorageToken) || {};
28
+ }
29
+ registerGroup(id) {
30
+ // Get the old state.
31
+ const oldState = this._state$.getValue();
32
+ // Get the cache value so when it is undefined
33
+ // we will default to true.
34
+ const cacheValue = this._cache[id] === undefined ? true : this._cache[id];
35
+ // Push the new state.
36
+ this._state$.next(Object.assign(Object.assign({}, oldState), { [id]: cacheValue }));
37
+ // Return the slice of the state that the group needs.
38
+ return this._state$.pipe(map(state => state[id]));
39
+ }
40
+ unregisterGroup(id) {
41
+ // Get the old groups.
42
+ const oldState = this._state$.getValue();
43
+ // Generate the new state without the id.
44
+ const newState = Object.keys(oldState).reduce((object, key) => {
45
+ if (key !== id) {
46
+ object[key] = oldState[key];
47
+ }
48
+ return object;
49
+ }, {});
50
+ // Push the new state.
51
+ this._state$.next(newState);
52
+ }
53
+ toggleGroup(id, newValue) {
54
+ // Get the old state.
55
+ const oldState = this._state$.getValue();
56
+ // Create the new state.
57
+ const newState = Object.assign(Object.assign({}, oldState), { [id]: newValue });
58
+ // Push the new state.
59
+ this._state$.next(newState);
60
+ // Save in the cache.
61
+ this._storage.set(this._localStorageToken, newState);
62
+ }
63
+ toggle() {
64
+ const current = this.visibilityChanges.getValue();
65
+ this.visibilityChanges.next(!current);
66
+ }
67
+ open() {
68
+ this.visibilityChanges.next(true);
69
+ }
70
+ close() {
71
+ this.visibilityChanges.next(false);
72
+ }
73
+ }
74
+ BbDashboardSidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebar, deps: [{ token: i1.Storage }], target: i0.ɵɵFactoryTarget.Component });
75
+ BbDashboardSidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardSidebar, selector: "bb-dashboard-sidebar", host: { attributes: { "role": "navigation" }, properties: { "class.visible": "visibilityChanges.getValue()" }, classAttribute: "bb-dashboard-sidebar" }, ngImport: i0, template: "<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n", styles: [".bb-dashboard-sidebar{top:0;bottom:0;z-index:10;left:-256px;width:256px;height:100vh;display:flex;position:fixed;min-width:256px;will-change:transform;flex-direction:column;transform:translate(256px);height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100);border-right:1px solid rgba(0,0,0,.4);transition:transform .25s cubic-bezier(0,0,.2,1);background:white linear-gradient(to bottom,white,#f2f2f2)}.bb-dashboard-sidebar.visible{transform:none}.bb-dashboard-sidebar-scroll{flex:1;overflow:auto}.bb-dashboard-sidebar>header{border-bottom:1px solid #d8d8d8;background-color:#ffffff80}.bb-dashboard-sidebar>footer{border-top:1px solid #d8d8d8;background-color:#ffffff80}@media only screen and (min-width: 768px){.bb-dashboard-sidebar{left:0;z-index:auto;transform:none;position:relative;margin-left:-256px;transition:margin-left .25s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebar, decorators: [{
77
+ type: Component,
78
+ args: [{
79
+ selector: 'bb-dashboard-sidebar',
80
+ templateUrl: './dashboard-sidebar.component.html',
81
+ styleUrls: ['./dashboard-sidebar.component.scss'],
82
+ changeDetection: ChangeDetectionStrategy.OnPush,
83
+ encapsulation: ViewEncapsulation.None,
84
+ preserveWhitespaces: false,
85
+ host: {
86
+ 'class': 'bb-dashboard-sidebar',
87
+ '[class.visible]': 'visibilityChanges.getValue()',
88
+ 'role': 'navigation'
89
+ }
90
+ }]
91
91
  }], ctorParameters: function () { return [{ type: i1.Storage }]; } });
92
92
 
93
- class BbDashboard {
94
- constructor(_patch, _platform, _renderer) {
95
- this._patch = _patch;
96
- this._platform = _platform;
97
- this._renderer = _renderer;
98
- // Inputs.
99
- this.backgroundColor = '#e7eaed';
100
- this.maxWidth = '1200px';
101
- this.padding = '20px';
102
- }
103
- ngOnInit() {
104
- // Set the vertical height for mobile devices.
105
- this._patch.mobileVerticalHeight();
106
- // Set the HTML class to prevent scrolling.
107
- return this.setHtmlClass();
108
- }
109
- ngOnDestroy() {
110
- // Remove the HTML class.
111
- this.setHtmlClass(true);
112
- }
113
- setHtmlClass(shouldRemove = false) {
114
- // Check if we are on a browser.
115
- if (!this._platform.isBrowser) {
116
- return;
117
- }
118
- // Define the class name.
119
- const className = 'bb-dashboard-html';
120
- // Add or remove the class.
121
- return shouldRemove
122
- ? this._renderer.removeClass(document.documentElement, className)
123
- : this._renderer.addClass(document.documentElement, className);
124
- }
125
- }
126
- BbDashboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboard, deps: [{ token: i1$1.Patch }, { token: i1$1.Platform }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
127
- BbDashboard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboard, selector: "bb-dashboard", inputs: { backgroundColor: "backgroundColor", maxWidth: "maxWidth", padding: "padding" }, host: { classAttribute: "bb-dashboard" }, queries: [{ propertyName: "sidebar", first: true, predicate: BbDashboardSidebar, descendants: true }], ngImport: i0, template: "<!--\r\n The outlet for where the sidebar\r\n will be placed (if provided).\r\n-->\r\n<ng-content select=\"bb-dashboard-sidebar\">\r\n</ng-content>\r\n\r\n<!--\r\n The section containing the header\r\n and the main content.\r\n-->\r\n<section [style.background-color]=\"backgroundColor\"\r\n class=\"bb-dashboard-section\">\r\n <!--\r\n The outlet for where the header\r\n will be placed (if provided).\r\n -->\r\n <ng-content select=\"bb-dashboard-header\">\r\n </ng-content>\r\n\r\n <!--\r\n The outlet of the content that\r\n will be provided by the router.\r\n -->\r\n <main [style.padding]=\"padding\"\r\n class=\"bb-dashboard-scroll\">\r\n <div [style.max-width]=\"maxWidth\"\r\n class=\"bb-dashboard-container\">\r\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\r\n\r\n <ng-content></ng-content>\r\n </div>\r\n <!--\r\n The outlet for where the footer\r\n will be placed (if provided).\r\n -->\r\n <ng-content select=\"bb-dashboard-footer\">\r\n </ng-content>\r\n </main>\r\n</section>\r\n\r\n<!--\r\n The backdrop that will be visible when\r\n the sidebar is opened (only on mobile).\r\n-->\r\n<div *ngIf=\"!!sidebar\"\r\n [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\r\n (click)=\"sidebar?.toggle()\"\r\n class=\"bb-dashboard-backdrop\">\r\n</div>\r\n", styles: [".bb-dashboard{overflow:hidden;position:relative}.bb-dashboard,.bb-dashboard-section{height:100vh;display:flex;height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll,.bb-dashboard-section{flex:1;overflow-x:hidden;flex-direction:column}.bb-dashboard-scroll{display:flex;overflow-y:scroll;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{top:0;left:0;right:0;bottom:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:rgba(0,0,0,.5);transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width:768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboard, decorators: [{
129
- type: Component,
130
- args: [{
131
- selector: 'bb-dashboard',
132
- templateUrl: './dashboard.component.html',
133
- styleUrls: ['./dashboard.component.scss'],
134
- changeDetection: ChangeDetectionStrategy.OnPush,
135
- encapsulation: ViewEncapsulation.None,
136
- preserveWhitespaces: false,
137
- host: {
138
- 'class': 'bb-dashboard'
139
- }
140
- }]
141
- }], ctorParameters: function () { return [{ type: i1$1.Patch }, { type: i1$1.Platform }, { type: i0.Renderer2 }]; }, propDecorators: { sidebar: [{
142
- type: ContentChild,
143
- args: [BbDashboardSidebar]
144
- }], backgroundColor: [{
145
- type: Input
146
- }], maxWidth: [{
147
- type: Input
148
- }], padding: [{
149
- type: Input
93
+ class BbDashboard {
94
+ constructor(_patch, _platform, _renderer) {
95
+ this._patch = _patch;
96
+ this._platform = _platform;
97
+ this._renderer = _renderer;
98
+ // Inputs.
99
+ this.backgroundColor = '#e7eaed';
100
+ this.maxWidth = '1200px';
101
+ this.padding = '20px';
102
+ }
103
+ ngOnInit() {
104
+ // Set the vertical height for mobile devices.
105
+ this._patch.mobileVerticalHeight();
106
+ // Set the HTML class to prevent scrolling.
107
+ return this.setHtmlClass();
108
+ }
109
+ ngOnDestroy() {
110
+ // Remove the HTML class.
111
+ this.setHtmlClass(true);
112
+ }
113
+ setHtmlClass(shouldRemove = false) {
114
+ // Check if we are on a browser.
115
+ if (!this._platform.isBrowser) {
116
+ return;
117
+ }
118
+ // Define the class name.
119
+ const className = 'bb-dashboard-html';
120
+ // Add or remove the class.
121
+ return shouldRemove
122
+ ? this._renderer.removeClass(document.documentElement, className)
123
+ : this._renderer.addClass(document.documentElement, className);
124
+ }
125
+ }
126
+ BbDashboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboard, deps: [{ token: i1$1.Patch }, { token: i1$1.Platform }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
127
+ BbDashboard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboard, selector: "bb-dashboard", inputs: { backgroundColor: "backgroundColor", maxWidth: "maxWidth", padding: "padding" }, host: { classAttribute: "bb-dashboard" }, queries: [{ propertyName: "sidebar", first: true, predicate: BbDashboardSidebar, descendants: true }], ngImport: i0, template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\">\n</ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\">\n </ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n<div *ngIf=\"!!sidebar\"\n [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n</div>\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(1vh * 100);height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{top:0;left:0;right:0;bottom:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboard, decorators: [{
129
+ type: Component,
130
+ args: [{
131
+ selector: 'bb-dashboard',
132
+ templateUrl: './dashboard.component.html',
133
+ styleUrls: ['./dashboard.component.scss'],
134
+ changeDetection: ChangeDetectionStrategy.OnPush,
135
+ encapsulation: ViewEncapsulation.None,
136
+ preserveWhitespaces: false,
137
+ host: {
138
+ 'class': 'bb-dashboard'
139
+ }
140
+ }]
141
+ }], ctorParameters: function () { return [{ type: i1$1.Patch }, { type: i1$1.Platform }, { type: i0.Renderer2 }]; }, propDecorators: { sidebar: [{
142
+ type: ContentChild,
143
+ args: [BbDashboardSidebar]
144
+ }], backgroundColor: [{
145
+ type: Input
146
+ }], maxWidth: [{
147
+ type: Input
148
+ }], padding: [{
149
+ type: Input
150
150
  }] } });
151
151
 
152
- class BbDashboardHeader {
153
- constructor(_parent) {
154
- this._parent = _parent;
155
- }
156
- get showSidebarButton() {
157
- var _a;
158
- return !!((_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar);
159
- }
160
- get isSidebarVisible() {
161
- var _a, _b, _c;
162
- return (_c = (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar) === null || _b === void 0 ? void 0 : _b.visibilityChanges) !== null && _c !== void 0 ? _c : of(false);
163
- }
164
- onToggleSidebarClicked() {
165
- var _a, _b;
166
- (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar) === null || _b === void 0 ? void 0 : _b.toggle();
167
- }
168
- }
169
- BbDashboardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardHeader, deps: [{ token: BbDashboard, optional: true }], target: i0.ɵɵFactoryTarget.Component });
170
- BbDashboardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardHeader, selector: "bb-dashboard-header", host: { classAttribute: "bb-dashboard-header" }, ngImport: i0, template: "<!--\r\n The button that toggles the sidebar.\r\n-->\r\n<button *ngIf=\"showSidebarButton\"\r\n (click)=\"onToggleSidebarClicked()\"\r\n [class.reversed]=\"isSidebarVisible | async\"\r\n class=\"bb-dashboard-header-button\"\r\n type=\"button\"\r\n tabindex=\"0\"\r\n role=\"switch\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 157 109\"\r\n width=\"17\"\r\n height=\"12\"\r\n role=\"img\">\r\n <title>\r\n Toggle\r\n </title>\r\n <path fill=\"#fff\"\r\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\r\n </path>\r\n </svg>\r\n</button>\r\n\r\n<!--\r\n The extra items of the header.\r\n-->\r\n<div class=\"bb-dashboard-header-items\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:50px;display:flex;padding:0 8px;min-height:50px;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:68px;height:34px;border-radius:4px;align-items:center;display:inline-flex;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:rgba(0,0,0,.04)}.bb-dashboard-header-button:active{background-color:rgba(0,0,0,.08)}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>:not(:first-child){margin-left:8px}@media only screen and (min-width:768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardHeader, decorators: [{
172
- type: Component,
173
- args: [{
174
- selector: 'bb-dashboard-header',
175
- templateUrl: './dashboard-header.component.html',
176
- styleUrls: ['./dashboard-header.component.scss'],
177
- changeDetection: ChangeDetectionStrategy.OnPush,
178
- encapsulation: ViewEncapsulation.None,
179
- preserveWhitespaces: false,
180
- host: {
181
- 'class': 'bb-dashboard-header'
182
- }
183
- }]
184
- }], ctorParameters: function () { return [{ type: BbDashboard, decorators: [{
185
- type: Optional
152
+ class BbDashboardHeader {
153
+ constructor(_parent) {
154
+ this._parent = _parent;
155
+ }
156
+ get showSidebarButton() {
157
+ var _a;
158
+ return !!((_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar);
159
+ }
160
+ get isSidebarVisible() {
161
+ var _a, _b, _c;
162
+ return (_c = (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar) === null || _b === void 0 ? void 0 : _b.visibilityChanges) !== null && _c !== void 0 ? _c : of(false);
163
+ }
164
+ onToggleSidebarClicked() {
165
+ var _a, _b;
166
+ (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.sidebar) === null || _b === void 0 ? void 0 : _b.toggle();
167
+ }
168
+ }
169
+ BbDashboardHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardHeader, deps: [{ token: BbDashboard, optional: true }], target: i0.ɵɵFactoryTarget.Component });
170
+ BbDashboardHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardHeader, selector: "bb-dashboard-header", host: { classAttribute: "bb-dashboard-header" }, ngImport: i0, template: "<!--\n The button that toggles the sidebar.\n-->\n<button *ngIf=\"showSidebarButton\"\n (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"17\"\n height=\"12\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n</button>\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:50px;display:flex;padding:0 8px;min-height:50px;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:68px;height:34px;border-radius:4px;align-items:center;display:inline-flex;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:8px}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardHeader, decorators: [{
172
+ type: Component,
173
+ args: [{
174
+ selector: 'bb-dashboard-header',
175
+ templateUrl: './dashboard-header.component.html',
176
+ styleUrls: ['./dashboard-header.component.scss'],
177
+ changeDetection: ChangeDetectionStrategy.OnPush,
178
+ encapsulation: ViewEncapsulation.None,
179
+ preserveWhitespaces: false,
180
+ host: {
181
+ 'class': 'bb-dashboard-header'
182
+ }
183
+ }]
184
+ }], ctorParameters: function () { return [{ type: BbDashboard, decorators: [{
185
+ type: Optional
186
186
  }] }]; } });
187
187
 
188
- class BbDashboardMenu {
189
- constructor() {
190
- // Inputs.
191
- this.title = null;
192
- this.imageUrl = null;
193
- this.backUrlLink = null;
194
- this.backUrlTitle = null;
195
- }
196
- }
197
- BbDashboardMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
- BbDashboardMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardMenu, selector: "bb-dashboard-menu", inputs: { title: "title", imageUrl: "imageUrl", backUrlLink: "backUrlLink", backUrlTitle: "backUrlTitle" }, host: { attributes: { "role": "navigation" }, classAttribute: "bb-dashboard-menu" }, ngImport: i0, template: "<a *ngIf=\"backUrlLink && backUrlTitle\"\r\n [routerLink]=\"backUrlLink\"\r\n class=\"bb-dashboard-menu-link\">\r\n {{ backUrlTitle }}\r\n</a>\r\n\r\n<div class=\"bb-dashboard-menu-row\">\r\n <img *ngIf=\"imageUrl\"\r\n [src]=\"imageUrl\"\r\n class=\"bb-dashboard-menu-image\"\r\n alt=\"Menu image\">\r\n <h1 *ngIf=\"title as titleLabel\"\r\n class=\"bb-dashboard-menu-title\">\r\n {{ titleLabel }}\r\n </h1>\r\n</div>\r\n\r\n<nav class=\"bb-dashboard-menu-navigation\">\r\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dashboard-menu{display:block;margin-bottom:20px}.bb-dashboard-menu-link,.bb-dashboard-menu-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dashboard-menu-link{display:block;font-weight:500;margin-bottom:16px;text-decoration:none}.bb-dashboard-menu-link,.bb-dashboard-menu-link:visited{color:#a7a9c4!important}.bb-dashboard-menu-link:before{width:14px;content:\"\";height:13px;margin-right:3px;display:inline-block;background-size:cover;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 492 492'%3E%3Cpath fill='%23a7a9c4' d='M464.344 207.418l.768.168H135.888l103.496-103.724c5.068-5.064 7.848-11.924 7.848-19.124 0-7.2-2.78-14.012-7.848-19.088L223.28 49.538c-5.064-5.064-11.812-7.864-19.008-7.864-7.2 0-13.952 2.78-19.016 7.844L7.844 226.914C2.76 231.998-.02 238.77 0 245.974c-.02 7.244 2.76 14.02 7.844 19.096l177.412 177.412c5.064 5.06 11.812 7.844 19.016 7.844 7.196 0 13.944-2.788 19.008-7.844l16.104-16.112c5.068-5.056 7.848-11.808 7.848-19.008 0-7.196-2.78-13.592-7.848-18.652L134.72 284.406h329.992c14.828 0 27.288-12.78 27.288-27.6v-22.788c0-14.82-12.828-26.6-27.656-26.6z'/%3E%3C/svg%3E\")}.bb-dashboard-menu-row{display:flex;align-items:center;margin-bottom:10px}.bb-dashboard-menu-image{display:block;margin-right:10px;width:30px;height:30px;border-radius:50%}.bb-dashboard-menu-title{color:#272838;display:block;line-height:1;font-size:34px;font-weight:500}.bb-dashboard-menu-navigation{display:flex;overflow-x:auto;border-bottom:1px solid #d8d8d8}"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardMenu, decorators: [{
200
- type: Component,
201
- args: [{
202
- selector: 'bb-dashboard-menu',
203
- templateUrl: './dashboard-menu.component.html',
204
- styleUrls: ['./dashboard-menu.component.scss'],
205
- changeDetection: ChangeDetectionStrategy.OnPush,
206
- encapsulation: ViewEncapsulation.None,
207
- preserveWhitespaces: false,
208
- host: {
209
- 'class': 'bb-dashboard-menu',
210
- 'role': 'navigation'
211
- }
212
- }]
213
- }], propDecorators: { title: [{
214
- type: Input
215
- }], imageUrl: [{
216
- type: Input
217
- }], backUrlLink: [{
218
- type: Input
219
- }], backUrlTitle: [{
220
- type: Input
188
+ class BbDashboardMenu {
189
+ constructor() {
190
+ // Inputs.
191
+ this.title = null;
192
+ this.imageUrl = null;
193
+ this.backUrlLink = null;
194
+ this.backUrlTitle = null;
195
+ }
196
+ }
197
+ BbDashboardMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
198
+ BbDashboardMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardMenu, selector: "bb-dashboard-menu", inputs: { title: "title", imageUrl: "imageUrl", backUrlLink: "backUrlLink", backUrlTitle: "backUrlTitle" }, host: { attributes: { "role": "navigation" }, classAttribute: "bb-dashboard-menu" }, ngImport: i0, template: "<a *ngIf=\"backUrlLink && backUrlTitle\"\n [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">\n {{ backUrlTitle }}\n</a>\n\n<div class=\"bb-dashboard-menu-row\">\n <img *ngIf=\"imageUrl\"\n [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n <h1 *ngIf=\"title as titleLabel\"\n class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n", styles: [".bb-dashboard-menu{display:block;margin-bottom:20px}.bb-dashboard-menu-link,.bb-dashboard-menu-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dashboard-menu-link{display:block;font-weight:500;margin-bottom:16px;text-decoration:none}.bb-dashboard-menu-link,.bb-dashboard-menu-link:visited{color:#a7a9c4!important}.bb-dashboard-menu-link:before{width:14px;content:\"\";height:13px;margin-right:3px;display:inline-block;background-size:cover;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 492 492'%3E%3Cpath fill='%23a7a9c4' d='M464.344 207.418l.768.168H135.888l103.496-103.724c5.068-5.064 7.848-11.924 7.848-19.124 0-7.2-2.78-14.012-7.848-19.088L223.28 49.538c-5.064-5.064-11.812-7.864-19.008-7.864-7.2 0-13.952 2.78-19.016 7.844L7.844 226.914C2.76 231.998-.02 238.77 0 245.974c-.02 7.244 2.76 14.02 7.844 19.096l177.412 177.412c5.064 5.06 11.812 7.844 19.016 7.844 7.196 0 13.944-2.788 19.008-7.844l16.104-16.112c5.068-5.056 7.848-11.808 7.848-19.008 0-7.196-2.78-13.592-7.848-18.652L134.72 284.406h329.992c14.828 0 27.288-12.78 27.288-27.6v-22.788c0-14.82-12.828-26.6-27.656-26.6z'/%3E%3C/svg%3E\")}.bb-dashboard-menu-row{display:flex;align-items:center;margin-bottom:10px}.bb-dashboard-menu-image{display:block;margin-right:10px;width:30px;height:30px;border-radius:50%}.bb-dashboard-menu-title{color:#272838;display:block;line-height:1;font-size:34px;font-weight:500}.bb-dashboard-menu-navigation{display:flex;overflow-x:auto;border-bottom:1px solid #d8d8d8}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardMenu, decorators: [{
200
+ type: Component,
201
+ args: [{
202
+ selector: 'bb-dashboard-menu',
203
+ templateUrl: './dashboard-menu.component.html',
204
+ styleUrls: ['./dashboard-menu.component.scss'],
205
+ changeDetection: ChangeDetectionStrategy.OnPush,
206
+ encapsulation: ViewEncapsulation.None,
207
+ preserveWhitespaces: false,
208
+ host: {
209
+ 'class': 'bb-dashboard-menu',
210
+ 'role': 'navigation'
211
+ }
212
+ }]
213
+ }], propDecorators: { title: [{
214
+ type: Input
215
+ }], imageUrl: [{
216
+ type: Input
217
+ }], backUrlLink: [{
218
+ type: Input
219
+ }], backUrlTitle: [{
220
+ type: Input
221
221
  }] } });
222
222
 
223
- class BbDashboardMenuItemBase {
224
- }
225
- const BbDashboardMenuItemMixinBase = mixinDisabled(BbDashboardMenuItemBase);
226
- class BbDashboardMenuItem extends BbDashboardMenuItemMixinBase {
227
- stopDisabledEvents(event) {
228
- // If the menu item is not disabled let all events pass.
229
- if (!this.disabled) {
230
- return;
231
- }
232
- // If the menu item is disabled stop the event from
233
- // bubbling up.
234
- event.preventDefault();
235
- event.stopImmediatePropagation();
236
- }
237
- }
238
- BbDashboardMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardMenuItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
239
- BbDashboardMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardMenuItem, selector: "[bb-dashboard-menu-item]", inputs: { disabled: "disabled" }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "class.disabled": "disabled" }, classAttribute: "bb-dashboard-menu-item" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[bbPrefix]\"></ng-content>\r\n<span class=\"bb-dashboard-menu-item-content\">\r\n <ng-content></ng-content>\r\n</span>\r\n<ng-content select=\"[bbSuffix]\"></ng-content>\r\n", styles: [".bb-dashboard-menu-item{margin:0;padding:0;display:flex;max-width:100%;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;white-space:nowrap;background-color:transparent;text-decoration:none!important;border:none;border-bottom:2px solid transparent}.bb-dashboard-menu-item,.bb-dashboard-menu-item:visited{color:#6b5c5c}.bb-dashboard-menu-item:not(:first-child){margin-left:10px}.bb-dashboard-menu-item:not(:last-child){margin-right:10px}.bb-dashboard-menu-item:hover:not(.disabled):not(.active){border-color:rgba(117,119,148,.2)}.bb-dashboard-menu-item.active,.bb-dashboard-menu-item.active:visited .bb-dashboard-menu-item.active:hover{color:#5b53ff;border-color:#5b53ff}.bb-dashboard-menu-item.disabled,.bb-dashboard-menu-item.disabled:active,.bb-dashboard-menu-item.disabled:focus,.bb-dashboard-menu-item.disabled:hover{opacity:.4;cursor:default;box-shadow:none}.bb-dashboard-menu-item>.bb-prefix{margin-right:5px}.bb-dashboard-menu-item>.bb-suffix{margin-left:5px}.bb-dashboard-menu-item-content{height:38px;display:block;font-weight:500;line-height:38px}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
241
- type: Component,
242
- args: [{
243
- selector: '[bb-dashboard-menu-item]',
244
- templateUrl: './dashboard-menu-item.component.html',
245
- styleUrls: ['./dashboard-menu-item.component.scss'],
246
- changeDetection: ChangeDetectionStrategy.OnPush,
247
- encapsulation: ViewEncapsulation.None,
248
- preserveWhitespaces: false,
249
- inputs: ['disabled'],
250
- host: {
251
- 'class': 'bb-dashboard-menu-item',
252
- '[class.disabled]': 'disabled',
253
- '(click)': 'stopDisabledEvents($event)'
254
- }
255
- }]
223
+ class BbDashboardMenuItemBase {
224
+ }
225
+ const BbDashboardMenuItemMixinBase = mixinDisabled(BbDashboardMenuItemBase);
226
+ class BbDashboardMenuItem extends BbDashboardMenuItemMixinBase {
227
+ stopDisabledEvents(event) {
228
+ // If the menu item is not disabled let all events pass.
229
+ if (!this.disabled) {
230
+ return;
231
+ }
232
+ // If the menu item is disabled stop the event from
233
+ // bubbling up.
234
+ event.preventDefault();
235
+ event.stopImmediatePropagation();
236
+ }
237
+ }
238
+ BbDashboardMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardMenuItem, deps: null, target: i0.ɵɵFactoryTarget.Component });
239
+ BbDashboardMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardMenuItem, selector: "[bb-dashboard-menu-item]", inputs: { disabled: "disabled" }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "class.disabled": "disabled" }, classAttribute: "bb-dashboard-menu-item" }, usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n", styles: [".bb-dashboard-menu-item{margin:0;padding:0;border:none;display:flex;max-width:100%;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;white-space:nowrap;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dashboard-menu-item,.bb-dashboard-menu-item:visited{color:#6b5c5c}.bb-dashboard-menu-item:not(:first-child){margin-left:10px}.bb-dashboard-menu-item:not(:last-child){margin-right:10px}.bb-dashboard-menu-item:hover:not(.disabled):not(.active){border-color:#75779433}.bb-dashboard-menu-item.active,.bb-dashboard-menu-item.active:visited .bb-dashboard-menu-item.active:hover{color:#5b53ff;border-color:#5b53ff}.bb-dashboard-menu-item.disabled,.bb-dashboard-menu-item.disabled:focus,.bb-dashboard-menu-item.disabled:hover,.bb-dashboard-menu-item.disabled:active{opacity:.4;cursor:default;box-shadow:none}.bb-dashboard-menu-item>.bb-prefix{margin-right:5px}.bb-dashboard-menu-item>.bb-suffix{margin-left:5px}.bb-dashboard-menu-item-content{height:38px;display:block;font-weight:500;line-height:38px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
241
+ type: Component,
242
+ args: [{
243
+ selector: '[bb-dashboard-menu-item]',
244
+ templateUrl: './dashboard-menu-item.component.html',
245
+ styleUrls: ['./dashboard-menu-item.component.scss'],
246
+ changeDetection: ChangeDetectionStrategy.OnPush,
247
+ encapsulation: ViewEncapsulation.None,
248
+ preserveWhitespaces: false,
249
+ inputs: ['disabled'],
250
+ host: {
251
+ 'class': 'bb-dashboard-menu-item',
252
+ '[class.disabled]': 'disabled',
253
+ '(click)': 'stopDisabledEvents($event)'
254
+ }
255
+ }]
256
256
  }] });
257
257
 
258
- class BbDashboardSidebarGroupBase {
259
- constructor(_parent) {
260
- this._parent = _parent;
261
- }
262
- }
263
- const BbDashboardSidebarGroupMixinBase = mixinDisabled(BbDashboardSidebarGroupBase);
264
- class BbDashboardSidebarGroup extends BbDashboardSidebarGroupMixinBase {
265
- constructor(_parent) {
266
- super(_parent);
267
- this._parent = _parent;
268
- // Inputs.
269
- this.id = null;
270
- this.icon = null;
271
- this.title = null;
272
- // State.
273
- this._isExpanded = false;
274
- }
275
- get hasToggle() {
276
- // Check if the user provided a icon and/or title.
277
- return !!this.icon || !!this.title;
278
- }
279
- get isExpanded() {
280
- // If there is an icon or title the group can be
281
- // expanded by clicking, else not.
282
- return this.hasToggle
283
- ? this._isExpanded
284
- : true;
285
- }
286
- ngOnInit() {
287
- var _a, _b;
288
- // Check if the id has been supplied.
289
- if (!this.id) {
290
- throw new Error('Id is required.');
291
- }
292
- // Register the group at the parent and
293
- // retrieve the slice of the state.
294
- const observable$ = (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.registerGroup(this.id)) !== null && _b !== void 0 ? _b : of(false);
295
- // Subscribe to the state.
296
- this._subscription = observable$
297
- .subscribe(isExpanded => this._isExpanded = isExpanded);
298
- }
299
- ngOnDestroy() {
300
- // Unsubscribe to prevent memory leaks.
301
- this._subscription && this._subscription.unsubscribe();
302
- // Unregister the group at the parent.
303
- this._parent && this._parent.unregisterGroup(this.id);
304
- }
305
- onClick() {
306
- var _a;
307
- // Verify the group is not disabled.
308
- if (this.disabled) {
309
- return;
310
- }
311
- // Change the state.
312
- const newValue = !this._isExpanded;
313
- // Set the state of the sidebar group.
314
- (_a = this._parent) === null || _a === void 0 ? void 0 : _a.toggleGroup(this.id, newValue);
315
- }
316
- onGroupClicked(event) {
317
- // If the group is not disabled don't do anything.
318
- if (!this.disabled) {
319
- return;
320
- }
321
- event.preventDefault();
322
- event.stopPropagation();
323
- }
324
- }
325
- BbDashboardSidebarGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: BbDashboardSidebar, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
326
- BbDashboardSidebarGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardSidebarGroup, selector: "bb-dashboard-sidebar-group", inputs: { disabled: "disabled", id: "id", icon: "icon", title: "title" }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n The wrapper that contains the title and icon.\r\n-->\r\n<button *ngIf=\"hasToggle\"\r\n (click)=\"onClick()\"\r\n class=\"bb-dashboard-sidebar-group-title\"\r\n type=\"button\"\r\n role=\"switch\">\r\n <bb-icon *ngIf=\"icon as iconName\"\r\n [src]=\"iconName\"\r\n class=\"bb-dashboard-sidebar-group-icon\">\r\n </bb-icon>\r\n <span *ngIf=\"title as titleText\"\r\n role=\"heading\"\r\n class=\"bb-dashboard-sidebar-group-text\">\r\n {{ titleText }}\r\n </span>\r\n <span class=\"bb-dashboard-sidebar-group-toggle\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 21.7 30.9\"\r\n width=\"10\"\r\n height=\"10\"\r\n role=\"img\">\r\n <path\r\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\r\n </path>\r\n </svg>\r\n </span>\r\n</button>\r\n\r\n<!--\r\n The sidebar items that contain the\r\n links to navigate to other pages.\r\n-->\r\n<ng-content select=\"[bb-dashboard-sidebar-item]\">\r\n</ng-content>\r\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:rgba(0,0,0,.04)}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:32px;line-height:32px;padding:6px 16px}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translateX(10px)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:20px}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:54px}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;padding:17px 15px;color:rgba(0,0,0,.8);background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:rgba(0,0,0,.08)}.bb-dashboard-sidebar-group-icon{margin-right:15px;color:rgba(0,0,0,.25)}.bb-dashboard-sidebar-group-text{width:100%;display:block;font-size:14px;max-width:100%;overflow:hidden;font-weight:500;line-height:15px;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:22px;height:22px;display:flex;min-width:22px;min-height:22px;margin-left:auto;border-radius:3px;align-items:center;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:10px;height:10px;fill:rgba(0,0,0,.25)}"], components: [{ type: i2$2.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
328
- type: Component,
329
- args: [{
330
- selector: 'bb-dashboard-sidebar-group',
331
- templateUrl: './dashboard-sidebar-group.component.html',
332
- styleUrls: ['./dashboard-sidebar-group.component.scss'],
333
- changeDetection: ChangeDetectionStrategy.OnPush,
334
- encapsulation: ViewEncapsulation.None,
335
- preserveWhitespaces: false,
336
- inputs: ['disabled'],
337
- host: {
338
- 'class': 'bb-dashboard-sidebar-group',
339
- '[class.expanded]': 'isExpanded',
340
- '[class.with-toggle]': 'hasToggle',
341
- '[class.has-icon]': '!!icon',
342
- '[class.disabled]': 'disabled',
343
- 'role': 'group'
344
- }
345
- }]
346
- }], ctorParameters: function () { return [{ type: BbDashboardSidebar, decorators: [{
347
- type: Optional
348
- }, {
349
- type: Host
350
- }] }]; }, propDecorators: { id: [{
351
- type: Input
352
- }], icon: [{
353
- type: Input
354
- }], title: [{
355
- type: Input
356
- }], onGroupClicked: [{
357
- type: HostListener,
358
- args: ['click', ['$event']]
258
+ class BbDashboardSidebarGroupBase {
259
+ constructor(_parent) {
260
+ this._parent = _parent;
261
+ }
262
+ }
263
+ const BbDashboardSidebarGroupMixinBase = mixinDisabled(BbDashboardSidebarGroupBase);
264
+ class BbDashboardSidebarGroup extends BbDashboardSidebarGroupMixinBase {
265
+ constructor(_parent) {
266
+ super(_parent);
267
+ this._parent = _parent;
268
+ // Inputs.
269
+ this.id = null;
270
+ this.icon = null;
271
+ this.title = null;
272
+ // State.
273
+ this._isExpanded = false;
274
+ }
275
+ get hasToggle() {
276
+ // Check if the user provided a icon and/or title.
277
+ return !!this.icon || !!this.title;
278
+ }
279
+ get isExpanded() {
280
+ // If there is an icon or title the group can be
281
+ // expanded by clicking, else not.
282
+ return this.hasToggle
283
+ ? this._isExpanded
284
+ : true;
285
+ }
286
+ ngOnInit() {
287
+ var _a, _b;
288
+ // Check if the id has been supplied.
289
+ if (!this.id) {
290
+ throw new Error('Id is required.');
291
+ }
292
+ // Register the group at the parent and
293
+ // retrieve the slice of the state.
294
+ const observable$ = (_b = (_a = this._parent) === null || _a === void 0 ? void 0 : _a.registerGroup(this.id)) !== null && _b !== void 0 ? _b : of(false);
295
+ // Subscribe to the state.
296
+ this._subscription = observable$
297
+ .subscribe(isExpanded => this._isExpanded = isExpanded);
298
+ }
299
+ ngOnDestroy() {
300
+ // Unsubscribe to prevent memory leaks.
301
+ this._subscription && this._subscription.unsubscribe();
302
+ // Unregister the group at the parent.
303
+ this._parent && this._parent.unregisterGroup(this.id);
304
+ }
305
+ onClick() {
306
+ var _a;
307
+ // Verify the group is not disabled.
308
+ if (this.disabled) {
309
+ return;
310
+ }
311
+ // Change the state.
312
+ const newValue = !this._isExpanded;
313
+ // Set the state of the sidebar group.
314
+ (_a = this._parent) === null || _a === void 0 ? void 0 : _a.toggleGroup(this.id, newValue);
315
+ }
316
+ onGroupClicked(event) {
317
+ // If the group is not disabled don't do anything.
318
+ if (!this.disabled) {
319
+ return;
320
+ }
321
+ event.preventDefault();
322
+ event.stopPropagation();
323
+ }
324
+ }
325
+ BbDashboardSidebarGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: BbDashboardSidebar, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
326
+ BbDashboardSidebarGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardSidebarGroup, selector: "bb-dashboard-sidebar-group", inputs: { disabled: "disabled", id: "id", icon: "icon", title: "title" }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, usesInheritance: true, ngImport: i0, template: "<!--\n The wrapper that contains the title and icon.\n-->\n<button *ngIf=\"hasToggle\"\n (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n <bb-icon *ngIf=\"icon as iconName\"\n [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n <span *ngIf=\"title as titleText\"\n role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">\n {{ titleText }}\n </span>\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"10\"\n height=\"10\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n</button>\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\">\n</ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:32px;line-height:32px;padding:6px 16px}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(10px)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:20px}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:54px}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;align-items:center;padding:17px 15px;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:15px;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;font-size:14px;max-width:100%;overflow:hidden;font-weight:500;line-height:15px;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:22px;height:22px;display:flex;min-width:22px;min-height:22px;margin-left:auto;border-radius:3px;align-items:center;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:10px;height:10px;fill:#00000040}\n"], components: [{ type: i2$2.BbIcon, selector: "bb-icon", inputs: ["alt", "size", "src", "ariaHidden"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
328
+ type: Component,
329
+ args: [{
330
+ selector: 'bb-dashboard-sidebar-group',
331
+ templateUrl: './dashboard-sidebar-group.component.html',
332
+ styleUrls: ['./dashboard-sidebar-group.component.scss'],
333
+ changeDetection: ChangeDetectionStrategy.OnPush,
334
+ encapsulation: ViewEncapsulation.None,
335
+ preserveWhitespaces: false,
336
+ inputs: ['disabled'],
337
+ host: {
338
+ 'class': 'bb-dashboard-sidebar-group',
339
+ '[class.expanded]': 'isExpanded',
340
+ '[class.with-toggle]': 'hasToggle',
341
+ '[class.has-icon]': '!!icon',
342
+ '[class.disabled]': 'disabled',
343
+ 'role': 'group'
344
+ }
345
+ }]
346
+ }], ctorParameters: function () { return [{ type: BbDashboardSidebar, decorators: [{
347
+ type: Optional
348
+ }, {
349
+ type: Host
350
+ }] }]; }, propDecorators: { id: [{
351
+ type: Input
352
+ }], icon: [{
353
+ type: Input
354
+ }], title: [{
355
+ type: Input
356
+ }], onGroupClicked: [{
357
+ type: HostListener,
358
+ args: ['click', ['$event']]
359
359
  }] } });
360
360
 
361
- class BbDashboardSidebarItem {
362
- constructor(_sidebar, _group) {
363
- this._sidebar = _sidebar;
364
- this._group = _group;
365
- // Inputs.
366
- this.tabIndex = 0;
367
- }
368
- onClick() {
369
- var _a;
370
- // Try to "open" the sidebar if it exists.
371
- // This will close it on mobile.
372
- (_a = this._sidebar) === null || _a === void 0 ? void 0 : _a.open();
373
- }
374
- get attributeTabIndex() {
375
- // Make the items tabindex -1 so it can't
376
- // be tabbed to when the parent is not visible
377
- // or the parent is disabled.
378
- if (this.isHidden) {
379
- return -1;
380
- }
381
- // Else return the specified tabindex.
382
- return this.tabIndex;
383
- }
384
- get isHidden() {
385
- return !this.isVisible || this.isDisabled;
386
- }
387
- get isVisible() {
388
- return this._group
389
- ? this._group.isExpanded
390
- : true;
391
- }
392
- get isDisabled() {
393
- return this._group
394
- ? this._group.disabled
395
- : false;
396
- }
397
- }
398
- BbDashboardSidebarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: BbDashboardSidebar, host: true, optional: true }, { token: BbDashboardSidebarGroup, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
399
- BbDashboardSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.1", type: BbDashboardSidebarItem, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\r\n The content between the tags will\r\n be reflected here.\r\n-->\r\n<span class=\"bb-dashboard-sidebar-item-content\">\r\n <ng-content></ng-content>\r\n</span>\r\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-size:14px;font-weight:500;align-items:center;text-decoration:none;will-change:opacity,height;color:rgba(0,0,0,.85)!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s cubic-bezier(0,0,.2,1) 50ms,color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:rgba(0,0,0,.02)}.bb-dashboard-sidebar-item:active{background-color:rgba(0,0,0,.04)}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:active,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:hover{color:#000!important;background-color:rgba(0,0,0,.06)}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
400
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
401
- type: Component,
402
- args: [{
403
- selector: '[bb-dashboard-sidebar-item]',
404
- templateUrl: './dashboard-sidebar-item.component.html',
405
- styleUrls: ['./dashboard-sidebar-item.component.scss'],
406
- changeDetection: ChangeDetectionStrategy.OnPush,
407
- encapsulation: ViewEncapsulation.None,
408
- preserveWhitespaces: false,
409
- host: {
410
- 'class': 'bb-dashboard-sidebar-item',
411
- '[attr.tabindex]': 'attributeTabIndex',
412
- '[attr.aria-hidden]': 'isHidden',
413
- '(click)': 'onClick()'
414
- }
415
- }]
416
- }], ctorParameters: function () { return [{ type: BbDashboardSidebar, decorators: [{
417
- type: Optional
418
- }, {
419
- type: Host
420
- }] }, { type: BbDashboardSidebarGroup, decorators: [{
421
- type: Optional
422
- }, {
423
- type: Host
424
- }] }]; }, propDecorators: { tabIndex: [{
425
- type: Input
361
+ class BbDashboardSidebarItem {
362
+ constructor(_sidebar, _group) {
363
+ this._sidebar = _sidebar;
364
+ this._group = _group;
365
+ // Inputs.
366
+ this.tabIndex = 0;
367
+ }
368
+ onClick() {
369
+ var _a;
370
+ // Try to "open" the sidebar if it exists.
371
+ // This will close it on mobile.
372
+ (_a = this._sidebar) === null || _a === void 0 ? void 0 : _a.open();
373
+ }
374
+ get attributeTabIndex() {
375
+ // Make the items tabindex -1 so it can't
376
+ // be tabbed to when the parent is not visible
377
+ // or the parent is disabled.
378
+ if (this.isHidden) {
379
+ return -1;
380
+ }
381
+ // Else return the specified tabindex.
382
+ return this.tabIndex;
383
+ }
384
+ get isHidden() {
385
+ return !this.isVisible || this.isDisabled;
386
+ }
387
+ get isVisible() {
388
+ return this._group
389
+ ? this._group.isExpanded
390
+ : true;
391
+ }
392
+ get isDisabled() {
393
+ return this._group
394
+ ? this._group.disabled
395
+ : false;
396
+ }
397
+ }
398
+ BbDashboardSidebarItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: BbDashboardSidebar, host: true, optional: true }, { token: BbDashboardSidebarGroup, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
399
+ BbDashboardSidebarItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: BbDashboardSidebarItem, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-size:14px;font-weight:500;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
400
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
401
+ type: Component,
402
+ args: [{
403
+ selector: '[bb-dashboard-sidebar-item]',
404
+ templateUrl: './dashboard-sidebar-item.component.html',
405
+ styleUrls: ['./dashboard-sidebar-item.component.scss'],
406
+ changeDetection: ChangeDetectionStrategy.OnPush,
407
+ encapsulation: ViewEncapsulation.None,
408
+ preserveWhitespaces: false,
409
+ host: {
410
+ 'class': 'bb-dashboard-sidebar-item',
411
+ '[attr.tabindex]': 'attributeTabIndex',
412
+ '[attr.aria-hidden]': 'isHidden',
413
+ '(click)': 'onClick()'
414
+ }
415
+ }]
416
+ }], ctorParameters: function () { return [{ type: BbDashboardSidebar, decorators: [{
417
+ type: Optional
418
+ }, {
419
+ type: Host
420
+ }] }, { type: BbDashboardSidebarGroup, decorators: [{
421
+ type: Optional
422
+ }, {
423
+ type: Host
424
+ }] }]; }, propDecorators: { tabIndex: [{
425
+ type: Input
426
426
  }] } });
427
427
 
428
- const DECLARATIONS_EXPORTS = [
429
- BbDashboard,
430
- BbDashboardHeader,
431
- BbDashboardMenu,
432
- BbDashboardMenuItem,
433
- BbDashboardSidebar,
434
- BbDashboardSidebarGroup,
435
- BbDashboardSidebarItem
436
- ];
437
- class DashboardModule {
438
- }
439
- DashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
440
- DashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: DashboardModule, declarations: [BbDashboard,
441
- BbDashboardHeader,
442
- BbDashboardMenu,
443
- BbDashboardMenuItem,
444
- BbDashboardSidebar,
445
- BbDashboardSidebarGroup,
446
- BbDashboardSidebarItem], imports: [CommonModule, RouterModule, ElementsModule], exports: [BbDashboard,
447
- BbDashboardHeader,
448
- BbDashboardMenu,
449
- BbDashboardMenuItem,
450
- BbDashboardSidebar,
451
- BbDashboardSidebarGroup,
452
- BbDashboardSidebarItem] });
453
- DashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: DashboardModule, imports: [[CommonModule, RouterModule, ElementsModule]] });
454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.1", ngImport: i0, type: DashboardModule, decorators: [{
455
- type: NgModule,
456
- args: [{
457
- imports: [CommonModule, RouterModule, ElementsModule],
458
- declarations: [...DECLARATIONS_EXPORTS],
459
- exports: [...DECLARATIONS_EXPORTS]
460
- }]
428
+ const DECLARATIONS_EXPORTS = [
429
+ BbDashboard,
430
+ BbDashboardHeader,
431
+ BbDashboardMenu,
432
+ BbDashboardMenuItem,
433
+ BbDashboardSidebar,
434
+ BbDashboardSidebarGroup,
435
+ BbDashboardSidebarItem
436
+ ];
437
+ class DashboardModule {
438
+ }
439
+ DashboardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
440
+ DashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: DashboardModule, declarations: [BbDashboard,
441
+ BbDashboardHeader,
442
+ BbDashboardMenu,
443
+ BbDashboardMenuItem,
444
+ BbDashboardSidebar,
445
+ BbDashboardSidebarGroup,
446
+ BbDashboardSidebarItem], imports: [CommonModule, RouterModule, ElementsModule], exports: [BbDashboard,
447
+ BbDashboardHeader,
448
+ BbDashboardMenu,
449
+ BbDashboardMenuItem,
450
+ BbDashboardSidebar,
451
+ BbDashboardSidebarGroup,
452
+ BbDashboardSidebarItem] });
453
+ DashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: DashboardModule, imports: [[CommonModule, RouterModule, ElementsModule]] });
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: DashboardModule, decorators: [{
455
+ type: NgModule,
456
+ args: [{
457
+ imports: [CommonModule, RouterModule, ElementsModule],
458
+ declarations: [...DECLARATIONS_EXPORTS],
459
+ exports: [...DECLARATIONS_EXPORTS]
460
+ }]
461
461
  }] });
462
462
 
463
- /**
464
- * Generated bundle index. Do not edit.
463
+ /**
464
+ * Generated bundle index. Do not edit.
465
465
  */
466
466
 
467
467
  export { BbDashboard, BbDashboardHeader, BbDashboardMenu, BbDashboardMenuItem, BbDashboardSidebar, BbDashboardSidebarGroup, BbDashboardSidebarItem, DashboardModule };