@bravobit/bb-foundation 0.16.5 → 0.20.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 (426) 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/collections/bravobit-bb-foundation-collections.d.ts +5 -5
  25. package/collections/lib/collection.d.ts +43 -43
  26. package/collections/lib/collections.module.d.ts +10 -10
  27. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -34
  28. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -12
  29. package/collections/lib/components/collections.directive.d.ts +17 -17
  30. package/collections/lib/interfaces/collection.interface.d.ts +26 -26
  31. package/collections/lib/providers/api-collection.provider.d.ts +19 -15
  32. package/collections/lib/providers/collection.provider.d.ts +6 -6
  33. package/collections/lib/providers/local-collection.provider.d.ts +8 -8
  34. package/collections/public_api.d.ts +9 -9
  35. package/controls/bravobit-bb-foundation-controls.d.ts +5 -5
  36. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +47 -47
  37. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +18 -18
  38. package/controls/lib/checkbox/checkbox.module.d.ts +9 -9
  39. package/controls/lib/controls.module.d.ts +7 -7
  40. package/controls/public_api.d.ts +4 -4
  41. package/dashboard/bravobit-bb-foundation-dashboard.d.ts +5 -5
  42. package/dashboard/lib/dashboard/dashboard.component.d.ts +19 -19
  43. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +11 -11
  44. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +9 -9
  45. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +11 -11
  46. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +21 -21
  47. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +27 -27
  48. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +16 -16
  49. package/dashboard/lib/dashboard.module.d.ts +16 -16
  50. package/dashboard/public_api.d.ts +8 -8
  51. package/dialog/bravobit-bb-foundation-dialog.d.ts +5 -5
  52. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +5 -5
  53. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +16 -16
  54. package/dialog/lib/dialog-container/dialog-container.component.d.ts +24 -24
  55. package/dialog/lib/dialog-header/dialog-header.component.d.ts +9 -9
  56. package/dialog/lib/dialog-link/dialog-link.component.d.ts +5 -5
  57. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +12 -12
  58. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +22 -22
  59. package/dialog/lib/dialog.injector.d.ts +8 -8
  60. package/dialog/lib/dialog.insertion.d.ts +8 -8
  61. package/dialog/lib/dialog.interfaces.d.ts +3 -3
  62. package/dialog/lib/dialog.module.d.ts +19 -19
  63. package/dialog/lib/dialog.ref.d.ts +8 -8
  64. package/dialog/lib/dialog.service.d.ts +19 -19
  65. package/dialog/public_api.d.ts +9 -9
  66. package/elements/bravobit-bb-foundation-elements.d.ts +5 -5
  67. package/elements/lib/avatar/avatar.component.d.ts +25 -25
  68. package/elements/lib/button/button.component.d.ts +23 -23
  69. package/elements/lib/checkbox/checkbox.component.d.ts +27 -27
  70. package/elements/lib/date-picker/date-picker.component.d.ts +69 -69
  71. package/elements/lib/directives/addon.directive.d.ts +9 -9
  72. package/elements/lib/directives/autosize.directive.d.ts +18 -18
  73. package/elements/lib/directives/focus-trap.directive.d.ts +17 -17
  74. package/elements/lib/directives/focus.directive.d.ts +14 -14
  75. package/elements/lib/directives/form-submit.directive.d.ts +17 -17
  76. package/elements/lib/directives/input.directive.d.ts +38 -38
  77. package/elements/lib/directives/template.directive.d.ts +10 -10
  78. package/elements/lib/dropdown/dropdown.component.d.ts +21 -21
  79. package/elements/lib/elements.interfaces.d.ts +25 -25
  80. package/elements/lib/elements.module.d.ts +116 -116
  81. package/elements/lib/file-picker/file-picker.component.d.ts +49 -49
  82. package/elements/lib/form-control/form-control.component.d.ts +21 -21
  83. package/elements/lib/form-error/form-error.component.d.ts +29 -29
  84. package/elements/lib/form-group/form-group.component.d.ts +10 -10
  85. package/elements/lib/icon/icon.component.d.ts +22 -22
  86. package/elements/lib/image-picker/image-picker.component.d.ts +38 -38
  87. package/elements/lib/pipes/file-image.pipe.d.ts +13 -13
  88. package/elements/lib/pipes/file-size.pipe.d.ts +8 -8
  89. package/elements/lib/pipes/relative-time.pipe.d.ts +19 -19
  90. package/elements/lib/spinner/spinner.component.d.ts +12 -12
  91. package/elements/lib/tag/tag.component.d.ts +7 -7
  92. package/elements/public_api.d.ts +25 -25
  93. package/esm2020/auth/bravobit-bb-foundation-auth.mjs +4 -4
  94. package/esm2020/auth/lib/auth.interceptor.mjs +93 -94
  95. package/esm2020/auth/lib/auth.module.mjs +54 -54
  96. package/esm2020/auth/lib/auth.service.mjs +281 -276
  97. package/esm2020/auth/lib/auth.session.mjs +131 -131
  98. package/esm2020/auth/lib/directives/authenticated.directive.mjs +31 -31
  99. package/esm2020/auth/lib/directives/permission.directive.mjs +80 -80
  100. package/esm2020/auth/lib/directives/role.directive.mjs +37 -37
  101. package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -34
  102. package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -35
  103. package/esm2020/auth/lib/helpers/jwt.helper.mjs +69 -69
  104. package/esm2020/auth/lib/helpers/mapper.helper.mjs +35 -35
  105. package/esm2020/auth/lib/interfaces/config.interface.mjs +3 -3
  106. package/esm2020/auth/lib/interfaces/mapper.interface.mjs +2 -2
  107. package/esm2020/auth/lib/interfaces/provider.interface.mjs +2 -2
  108. package/esm2020/auth/lib/interfaces/token.interface.mjs +2 -2
  109. package/esm2020/auth/lib/permissions.service.mjs +56 -56
  110. package/esm2020/auth/lib/providers/email.provider.mjs +25 -25
  111. package/esm2020/auth/lib/providers/verify.provider.mjs +19 -19
  112. package/esm2020/auth/lib/tokens/use-authorization.token.mjs +3 -3
  113. package/esm2020/auth/public_api.mjs +19 -19
  114. package/esm2020/bravobit-bb-foundation.mjs +4 -4
  115. package/esm2020/collections/bravobit-bb-foundation-collections.mjs +4 -4
  116. package/esm2020/collections/lib/collection.mjs +102 -102
  117. package/esm2020/collections/lib/collections.module.mjs +54 -54
  118. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -123
  119. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -31
  120. package/esm2020/collections/lib/components/collections.directive.mjs +43 -43
  121. package/esm2020/collections/lib/interfaces/collection.interface.mjs +2 -2
  122. package/esm2020/collections/lib/providers/api-collection.provider.mjs +71 -71
  123. package/esm2020/collections/lib/providers/collection.provider.mjs +13 -13
  124. package/esm2020/collections/lib/providers/local-collection.provider.mjs +16 -16
  125. package/esm2020/collections/public_api.mjs +10 -10
  126. package/esm2020/controls/bravobit-bb-foundation-controls.mjs +4 -4
  127. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +153 -153
  128. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +48 -48
  129. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -19
  130. package/esm2020/controls/lib/controls.module.mjs +16 -16
  131. package/esm2020/controls/public_api.mjs +5 -5
  132. package/esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs +4 -4
  133. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -56
  134. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -30
  135. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -31
  136. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -29
  137. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -75
  138. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -99
  139. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -62
  140. package/esm2020/dashboard/lib/dashboard.module.mjs +47 -47
  141. package/esm2020/dashboard/public_api.mjs +9 -9
  142. package/esm2020/dialog/bravobit-bb-foundation-dialog.mjs +4 -4
  143. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -12
  144. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -37
  145. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +153 -153
  146. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -25
  147. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -11
  148. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -46
  149. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -134
  150. package/esm2020/dialog/lib/dialog.injector.mjs +18 -18
  151. package/esm2020/dialog/lib/dialog.insertion.mjs +16 -16
  152. package/esm2020/dialog/lib/dialog.interfaces.mjs +3 -3
  153. package/esm2020/dialog/lib/dialog.module.mjs +70 -70
  154. package/esm2020/dialog/lib/dialog.ref.mjs +22 -22
  155. package/esm2020/dialog/lib/dialog.service.mjs +77 -77
  156. package/esm2020/dialog/public_api.mjs +10 -10
  157. package/esm2020/elements/bravobit-bb-foundation-elements.mjs +4 -4
  158. package/esm2020/elements/lib/avatar/avatar.component.mjs +145 -145
  159. package/esm2020/elements/lib/button/button.component.mjs +61 -61
  160. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -73
  161. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -304
  162. package/esm2020/elements/lib/directives/addon.directive.mjs +29 -29
  163. package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -72
  164. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +77 -77
  165. package/esm2020/elements/lib/directives/focus.directive.mjs +39 -39
  166. package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -50
  167. package/esm2020/elements/lib/directives/input.directive.mjs +136 -136
  168. package/esm2020/elements/lib/directives/template.directive.mjs +28 -28
  169. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -100
  170. package/esm2020/elements/lib/elements.interfaces.mjs +4 -4
  171. package/esm2020/elements/lib/elements.module.mjs +177 -177
  172. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -236
  173. package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -49
  174. package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -108
  175. package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -18
  176. package/esm2020/elements/lib/icon/icon.component.mjs +102 -102
  177. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -106
  178. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -42
  179. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +28 -28
  180. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -94
  181. package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -25
  182. package/esm2020/elements/lib/tag/tag.component.mjs +18 -18
  183. package/esm2020/elements/public_api.mjs +26 -26
  184. package/esm2020/http/bravobit-bb-foundation-http.mjs +4 -4
  185. package/esm2020/http/lib/classes/http.config.mjs +29 -29
  186. package/esm2020/http/lib/classes/http.error.mjs +20 -20
  187. package/esm2020/http/lib/http.interfaces.mjs +2 -2
  188. package/esm2020/http/lib/http.module.mjs +43 -43
  189. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -50
  190. package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -32
  191. package/esm2020/http/public_api.mjs +7 -7
  192. package/esm2020/lib/core/miscellaneous/regex.mjs +5 -5
  193. package/esm2020/lib/core/miscellaneous/validator.mjs +85 -85
  194. package/esm2020/lib/core/mixins/can-disable.mjs +16 -16
  195. package/esm2020/lib/core/mixins/can-hide-errors.mjs +16 -16
  196. package/esm2020/lib/core/mixins/can-load.mjs +16 -16
  197. package/esm2020/lib/core/mixins/constructor.mjs +2 -2
  198. package/esm2020/lib/core/mixins/has-error.mjs +16 -16
  199. package/esm2020/lib/core/mixins/is-focused.mjs +16 -16
  200. package/esm2020/lib/core/mixins/is-grouped.mjs +16 -16
  201. package/esm2020/lib/core/mixins/is-readonly.mjs +16 -16
  202. package/esm2020/lib/core/mixins/is-required.mjs +16 -16
  203. package/esm2020/lib/core/services/clipboard.service.mjs +70 -70
  204. package/esm2020/lib/core/services/exif.service.mjs +163 -163
  205. package/esm2020/lib/core/services/file-loader.service.mjs +87 -87
  206. package/esm2020/lib/core/services/image-converter.service.mjs +123 -123
  207. package/esm2020/lib/core/services/languages.service.mjs +74 -74
  208. package/esm2020/lib/core/services/network.service.mjs +55 -55
  209. package/esm2020/lib/core/services/patch.service.mjs +63 -63
  210. package/esm2020/lib/core/services/platform.service.mjs +42 -42
  211. package/esm2020/lib/core/tokens/accept-language.token.mjs +3 -3
  212. package/esm2020/lib/core/tokens/base-url.token.mjs +3 -3
  213. package/esm2020/lib/core/tokens/cookie.token.mjs +3 -3
  214. package/esm2020/lib/core/tokens/location.token.mjs +6 -6
  215. package/esm2020/lib/core/tokens/navigator.token.mjs +6 -6
  216. package/esm2020/lib/core/tokens/window.token.mjs +12 -12
  217. package/esm2020/localize/bravobit-bb-foundation-localize.mjs +4 -4
  218. package/esm2020/localize/lib/functions/date.function.mjs +18 -18
  219. package/esm2020/localize/lib/functions/lowercase.function.mjs +13 -13
  220. package/esm2020/localize/lib/functions/uppercase.function.mjs +13 -13
  221. package/esm2020/localize/lib/handlers/missing.handler.mjs +15 -17
  222. package/esm2020/localize/lib/interfaces/config.interfaces.mjs +7 -10
  223. package/esm2020/localize/lib/interfaces/functions.interfaces.mjs +8 -8
  224. package/esm2020/localize/lib/interfaces/handlers.interfaces.mjs +2 -2
  225. package/esm2020/localize/lib/interfaces/options.interfaces.mjs +6 -6
  226. package/esm2020/localize/lib/localizations/dutch.localization.mjs +45 -53
  227. package/esm2020/localize/lib/localizations/english.localization.mjs +45 -53
  228. package/esm2020/localize/lib/localize.dictionary.mjs +26 -135
  229. package/esm2020/localize/lib/localize.module.mjs +71 -72
  230. package/esm2020/localize/lib/localize.pipe.mjs +49 -49
  231. package/esm2020/localize/lib/localize.service.mjs +205 -280
  232. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -88
  233. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +28 -28
  234. package/esm2020/localize/lib/views/localize-template.directive.mjs +21 -21
  235. package/esm2020/localize/public_api.mjs +17 -18
  236. package/esm2020/notifications/bravobit-bb-foundation-notifications.mjs +4 -4
  237. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -100
  238. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -47
  239. package/esm2020/notifications/lib/notifications.animations.mjs +28 -28
  240. package/esm2020/notifications/lib/notifications.injector.mjs +18 -18
  241. package/esm2020/notifications/lib/notifications.interfaces.mjs +20 -20
  242. package/esm2020/notifications/lib/notifications.module.mjs +30 -30
  243. package/esm2020/notifications/lib/notifications.service.mjs +145 -145
  244. package/esm2020/notifications/public_api.mjs +4 -4
  245. package/esm2020/public_api.mjs +29 -29
  246. package/esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs +4 -4
  247. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -185
  248. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -90
  249. package/esm2020/recaptcha/lib/recaptcha.interface.mjs +3 -3
  250. package/esm2020/recaptcha/lib/recaptcha.module.mjs +27 -27
  251. package/esm2020/recaptcha/public_api.mjs +5 -5
  252. package/esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs +4 -4
  253. package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -10
  254. package/esm2020/rxjs/lib/operators/filter-nil.operator.mjs +5 -5
  255. package/esm2020/rxjs/public_api.mjs +3 -3
  256. package/esm2020/storage/bravobit-bb-foundation-storage.mjs +4 -4
  257. package/esm2020/storage/lib/interfaces/attributes.interface.mjs +2 -2
  258. package/esm2020/storage/lib/interfaces/memory.interface.mjs +2 -2
  259. package/esm2020/storage/lib/interfaces/strategy.interface.mjs +2 -2
  260. package/esm2020/storage/lib/storage.service.mjs +109 -109
  261. package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -142
  262. package/esm2020/storage/lib/strategies/memory-storage.strategy.mjs +56 -56
  263. package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -102
  264. package/esm2020/storage/public_api.mjs +8 -8
  265. package/esm2020/table/bravobit-bb-foundation-table.mjs +4 -4
  266. package/esm2020/table/lib/components/table/table.component.mjs +191 -191
  267. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -11
  268. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -131
  269. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -136
  270. package/esm2020/table/lib/data/datasource.data.mjs +32 -32
  271. package/esm2020/table/lib/data/generic.data.mjs +72 -72
  272. package/esm2020/table/lib/interfaces/datasource.interface.mjs +2 -2
  273. package/esm2020/table/lib/interfaces/table.interfaces.mjs +2 -2
  274. package/esm2020/table/lib/table.module.mjs +42 -42
  275. package/esm2020/table/public_api.mjs +10 -10
  276. package/fesm2015/bravobit-bb-foundation-auth.mjs +930 -926
  277. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  278. package/fesm2015/bravobit-bb-foundation-collections.mjs +423 -423
  279. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  280. package/fesm2015/bravobit-bb-foundation-controls.mjs +216 -216
  281. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  282. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +382 -382
  283. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  284. package/fesm2015/bravobit-bb-foundation-dialog.mjs +542 -542
  285. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  286. package/fesm2015/bravobit-bb-foundation-elements.mjs +1971 -1971
  287. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  288. package/fesm2015/bravobit-bb-foundation-http.mjs +156 -156
  289. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  290. package/fesm2015/bravobit-bb-foundation-localize.mjs +611 -812
  291. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  292. package/fesm2015/bravobit-bb-foundation-notifications.mjs +348 -348
  293. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  294. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +290 -290
  295. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  296. package/fesm2015/bravobit-bb-foundation-rxjs.mjs +7 -7
  297. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  298. package/fesm2015/bravobit-bb-foundation-storage.mjs +401 -401
  299. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  300. package/fesm2015/bravobit-bb-foundation-table.mjs +571 -571
  301. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
  302. package/fesm2015/bravobit-bb-foundation.mjs +860 -860
  303. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
  304. package/fesm2020/bravobit-bb-foundation-auth.mjs +882 -878
  305. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  306. package/fesm2020/bravobit-bb-foundation-collections.mjs +413 -413
  307. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  308. package/fesm2020/bravobit-bb-foundation-controls.mjs +214 -214
  309. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  310. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +370 -370
  311. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  312. package/fesm2020/bravobit-bb-foundation-dialog.mjs +541 -541
  313. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  314. package/fesm2020/bravobit-bb-foundation-elements.mjs +1928 -1928
  315. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  316. package/fesm2020/bravobit-bb-foundation-http.mjs +148 -148
  317. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  318. package/fesm2020/bravobit-bb-foundation-localize.mjs +590 -798
  319. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  320. package/fesm2020/bravobit-bb-foundation-notifications.mjs +346 -346
  321. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  322. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +280 -280
  323. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  324. package/fesm2020/bravobit-bb-foundation-rxjs.mjs +10 -10
  325. package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  326. package/fesm2020/bravobit-bb-foundation-storage.mjs +396 -396
  327. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  328. package/fesm2020/bravobit-bb-foundation-table.mjs +560 -560
  329. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
  330. package/fesm2020/bravobit-bb-foundation.mjs +832 -832
  331. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
  332. package/http/bravobit-bb-foundation-http.d.ts +5 -5
  333. package/http/lib/classes/http.config.d.ts +9 -9
  334. package/http/lib/classes/http.error.d.ts +7 -7
  335. package/http/lib/http.interfaces.d.ts +12 -12
  336. package/http/lib/http.module.d.ts +15 -15
  337. package/http/lib/interceptors/base-url.interceptor.d.ts +15 -15
  338. package/http/lib/interceptors/error.interceptor.d.ts +11 -11
  339. package/http/public_api.d.ts +6 -6
  340. package/lib/core/miscellaneous/regex.d.ts +4 -4
  341. package/lib/core/miscellaneous/validator.d.ts +13 -13
  342. package/lib/core/mixins/can-disable.d.ts +6 -6
  343. package/lib/core/mixins/can-hide-errors.d.ts +6 -6
  344. package/lib/core/mixins/can-load.d.ts +6 -6
  345. package/lib/core/mixins/constructor.d.ts +1 -1
  346. package/lib/core/mixins/has-error.d.ts +6 -6
  347. package/lib/core/mixins/is-focused.d.ts +6 -6
  348. package/lib/core/mixins/is-grouped.d.ts +6 -6
  349. package/lib/core/mixins/is-readonly.d.ts +6 -6
  350. package/lib/core/mixins/is-required.d.ts +6 -6
  351. package/lib/core/services/clipboard.service.d.ts +18 -18
  352. package/lib/core/services/exif.service.d.ts +15 -15
  353. package/lib/core/services/file-loader.service.d.ts +13 -13
  354. package/lib/core/services/image-converter.service.d.ts +21 -21
  355. package/lib/core/services/languages.service.d.ts +16 -16
  356. package/lib/core/services/network.service.d.ts +14 -14
  357. package/lib/core/services/patch.service.d.ts +16 -16
  358. package/lib/core/services/platform.service.d.ts +18 -18
  359. package/lib/core/tokens/accept-language.token.d.ts +2 -2
  360. package/lib/core/tokens/base-url.token.d.ts +2 -2
  361. package/lib/core/tokens/cookie.token.d.ts +2 -2
  362. package/lib/core/tokens/location.token.d.ts +2 -2
  363. package/lib/core/tokens/navigator.token.d.ts +2 -2
  364. package/lib/core/tokens/window.token.d.ts +2 -2
  365. package/localize/bravobit-bb-foundation-localize.d.ts +5 -5
  366. package/localize/lib/functions/date.function.d.ts +5 -5
  367. package/localize/lib/functions/lowercase.function.d.ts +5 -5
  368. package/localize/lib/functions/uppercase.function.d.ts +5 -5
  369. package/localize/lib/handlers/missing.handler.d.ts +6 -6
  370. package/localize/lib/interfaces/config.interfaces.d.ts +18 -9
  371. package/localize/lib/interfaces/functions.interfaces.d.ts +9 -9
  372. package/localize/lib/interfaces/handlers.interfaces.d.ts +6 -6
  373. package/localize/lib/interfaces/options.interfaces.d.ts +10 -10
  374. package/localize/lib/localizations/dutch.localization.d.ts +44 -51
  375. package/localize/lib/localizations/english.localization.d.ts +44 -51
  376. package/localize/lib/localize.dictionary.d.ts +7 -24
  377. package/localize/lib/localize.module.d.ts +17 -18
  378. package/localize/lib/localize.pipe.d.ts +12 -12
  379. package/localize/lib/localize.service.d.ts +40 -52
  380. package/localize/lib/views/localize-string/localize-string.component.d.ts +23 -23
  381. package/localize/lib/views/localize-template-or-string.directive.d.ts +10 -10
  382. package/localize/lib/views/localize-template.directive.d.ts +9 -9
  383. package/localize/public_api.d.ts +16 -17
  384. package/notifications/bravobit-bb-foundation-notifications.d.ts +5 -5
  385. package/notifications/lib/notifications-item/notifications-item.component.d.ts +34 -34
  386. package/notifications/lib/notifications-list/notifications-list.component.d.ts +16 -16
  387. package/notifications/lib/notifications.animations.d.ts +1 -1
  388. package/notifications/lib/notifications.injector.d.ts +8 -8
  389. package/notifications/lib/notifications.interfaces.d.ts +49 -49
  390. package/notifications/lib/notifications.module.d.ts +13 -13
  391. package/notifications/lib/notifications.service.d.ts +34 -34
  392. package/notifications/public_api.d.ts +3 -3
  393. package/package.json +6 -6
  394. package/public_api.d.ts +25 -25
  395. package/recaptcha/bravobit-bb-foundation-recaptcha.d.ts +5 -5
  396. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +47 -47
  397. package/recaptcha/lib/recaptcha-loader.service.d.ts +22 -22
  398. package/recaptcha/lib/recaptcha.interface.d.ts +14 -14
  399. package/recaptcha/lib/recaptcha.module.d.ts +10 -10
  400. package/recaptcha/public_api.d.ts +4 -4
  401. package/rxjs/bravobit-bb-foundation-rxjs.d.ts +5 -5
  402. package/rxjs/lib/operators/combine-latest-map.operator.d.ts +8 -8
  403. package/rxjs/lib/operators/filter-nil.operator.d.ts +1 -1
  404. package/rxjs/public_api.d.ts +2 -2
  405. package/storage/bravobit-bb-foundation-storage.d.ts +5 -5
  406. package/storage/lib/interfaces/attributes.interface.d.ts +13 -13
  407. package/storage/lib/interfaces/memory.interface.d.ts +7 -7
  408. package/storage/lib/interfaces/strategy.interface.d.ts +17 -17
  409. package/storage/lib/storage.service.d.ts +26 -26
  410. package/storage/lib/strategies/cookie-storage.strategy.d.ts +20 -20
  411. package/storage/lib/strategies/memory-storage.strategy.d.ts +11 -11
  412. package/storage/lib/strategies/polyfill-storage.strategy.d.ts +15 -15
  413. package/storage/public_api.d.ts +7 -7
  414. package/table/bravobit-bb-foundation-table.d.ts +5 -5
  415. package/table/lib/components/table/table.component.d.ts +56 -56
  416. package/table/lib/components/table-cell/table-cell.component.d.ts +5 -5
  417. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +29 -29
  418. package/table/lib/components/table-pager/table-pager.component.d.ts +41 -41
  419. package/table/lib/data/datasource.data.d.ts +14 -14
  420. package/table/lib/data/generic.data.d.ts +23 -23
  421. package/table/lib/interfaces/datasource.interface.d.ts +17 -17
  422. package/table/lib/interfaces/table.interfaces.d.ts +1 -1
  423. package/table/lib/table.module.d.ts +14 -14
  424. package/table/public_api.d.ts +9 -9
  425. package/esm2020/localize/lib/interfaces/dictionary.interfaces.mjs +0 -8
  426. package/localize/lib/interfaces/dictionary.interfaces.d.ts +0 -12
@@ -11,573 +11,573 @@ import { BbButton, ElementsModule } from '@bravobit/bb-foundation/elements';
11
11
  import * as i8 from '@bravobit/bb-foundation/localize';
12
12
  import { LocalizeModule } from '@bravobit/bb-foundation/localize';
13
13
 
14
- class BbDialogRef {
15
- constructor() {
16
- // Data.
17
- this._afterClosed$ = new Subject();
18
- this._overlayClicked$ = new Subject();
19
- }
20
- get afterClosed() {
21
- return this._afterClosed$.pipe(take(1));
22
- }
23
- get overlayClicked() {
24
- return this._overlayClicked$.pipe(take(1));
25
- }
26
- onOverlayClicked() {
27
- this._overlayClicked$.next();
28
- }
29
- close(result) {
30
- this._afterClosed$.next(result);
31
- }
14
+ class BbDialogRef {
15
+ constructor() {
16
+ // Data.
17
+ this._afterClosed$ = new Subject();
18
+ this._overlayClicked$ = new Subject();
19
+ }
20
+ get afterClosed() {
21
+ return this._afterClosed$.pipe(take(1));
22
+ }
23
+ get overlayClicked() {
24
+ return this._overlayClicked$.pipe(take(1));
25
+ }
26
+ onOverlayClicked() {
27
+ this._overlayClicked$.next();
28
+ }
29
+ close(result) {
30
+ this._afterClosed$.next(result);
31
+ }
32
32
  }
33
33
 
34
- class BbDialogConfig {
34
+ class BbDialogConfig {
35
35
  }
36
36
 
37
- class BbDialogOverlay {
38
- constructor(_elementRef, _changeDetection) {
39
- this._elementRef = _elementRef;
40
- this._changeDetection = _changeDetection;
41
- // Inputs.
42
- this.animations = true;
43
- // Outputs.
44
- this.closeRequested = new EventEmitter();
45
- // State.
46
- this._state = 'open';
47
- this._closed$ = new Subject();
48
- }
49
- get state() {
50
- return this.animations
51
- ? this._state
52
- : 'none';
53
- }
54
- ngAfterViewInit() {
55
- this.listenForClicks();
56
- }
57
- ngOnDestroy() {
58
- this._subscription?.unsubscribe();
59
- }
60
- onKeyEvent(event) {
61
- if (event.key === 'Escape') {
62
- this.closeRequested.emit();
63
- }
64
- }
65
- onAnimationDone(event) {
66
- // Check if the dialog is being destroyed.
67
- if (!['close', 'none'].includes(event.toState)) {
68
- return;
69
- }
70
- this._closed$.next();
71
- this._closed$.complete();
72
- }
73
- close() {
74
- // We need change detection to run
75
- // here else it won't close in all scenario's.
76
- this._state = 'close';
77
- this._changeDetection.markForCheck();
78
- // Listen for the closed trigger.
79
- const observable$ = this._closed$.pipe(take(1));
80
- return lastValueFrom(observable$);
81
- }
82
- listenForClicks() {
83
- if (!this._elementRef || !this._elementRef.nativeElement) {
84
- return;
85
- }
86
- const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');
87
- const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');
88
- const start$ = race([mouseDown$, touchStart$]);
89
- const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');
90
- const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');
91
- const end$ = race([mouseUp$, touchEnd$]);
92
- this._subscription = start$.pipe(switchMap(() => end$)).subscribe(() => {
93
- this.closeRequested.next();
94
- });
95
- }
96
- }
97
- BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
- BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogOverlay, selector: "bb-dialog-overlay", inputs: { animations: "animations" }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [
99
- trigger('bbDialogAnimation', [
100
- transition('* => none', []),
101
- transition(':enter, * => open', [
102
- group([
103
- query('.bb-dialog-overlay-backdrop', [
104
- style({ opacity: 0 }),
105
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 }))
106
- ]),
107
- query('.bb-dialog-modal', [
108
- style({ transform: 'scale(0.95)' }),
109
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scale(1)' }))
110
- ])
111
- ])
112
- ]),
113
- transition(':leave, * => close', [
114
- group([
115
- query('.bb-dialog-overlay-backdrop', [
116
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))
117
- ]),
118
- query('.bb-dialog-modal', [
119
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0, transform: 'scale(0.95)' }))
120
- ])
121
- ])
122
- ])
123
- ])
124
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogOverlay, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-overlay', '[@bbDialogAnimation]': 'state' }, animations: [
128
- trigger('bbDialogAnimation', [
129
- transition('* => none', []),
130
- transition(':enter, * => open', [
131
- group([
132
- query('.bb-dialog-overlay-backdrop', [
133
- style({ opacity: 0 }),
134
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 }))
135
- ]),
136
- query('.bb-dialog-modal', [
137
- style({ transform: 'scale(0.95)' }),
138
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scale(1)' }))
139
- ])
140
- ])
141
- ]),
142
- transition(':leave, * => close', [
143
- group([
144
- query('.bb-dialog-overlay-backdrop', [
145
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))
146
- ]),
147
- query('.bb-dialog-modal', [
148
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0, transform: 'scale(0.95)' }))
149
- ])
150
- ])
151
- ])
152
- ])
153
- ], template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"] }]
154
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animations: [{
155
- type: Input
156
- }], closeRequested: [{
157
- type: Output
158
- }], onKeyEvent: [{
159
- type: HostListener,
160
- args: ['window:keyup', ['$event']]
161
- }], onAnimationDone: [{
162
- type: HostListener,
163
- args: ['@bbDialogAnimation.done', ['$event']]
37
+ class BbDialogOverlay {
38
+ constructor(_elementRef, _changeDetection) {
39
+ this._elementRef = _elementRef;
40
+ this._changeDetection = _changeDetection;
41
+ // Inputs.
42
+ this.animations = true;
43
+ // Outputs.
44
+ this.closeRequested = new EventEmitter();
45
+ // State.
46
+ this._state = 'open';
47
+ this._closed$ = new Subject();
48
+ }
49
+ get state() {
50
+ return this.animations
51
+ ? this._state
52
+ : 'none';
53
+ }
54
+ ngAfterViewInit() {
55
+ this.listenForClicks();
56
+ }
57
+ ngOnDestroy() {
58
+ this._subscription?.unsubscribe();
59
+ }
60
+ onKeyEvent(event) {
61
+ if (event.key === 'Escape') {
62
+ this.closeRequested.emit();
63
+ }
64
+ }
65
+ onAnimationDone(event) {
66
+ // Check if the dialog is being destroyed.
67
+ if (!['close', 'none'].includes(event.toState)) {
68
+ return;
69
+ }
70
+ this._closed$.next();
71
+ this._closed$.complete();
72
+ }
73
+ close() {
74
+ // We need change detection to run
75
+ // here else it won't close in all scenario's.
76
+ this._state = 'close';
77
+ this._changeDetection.markForCheck();
78
+ // Listen for the closed trigger.
79
+ const observable$ = this._closed$.pipe(take(1));
80
+ return lastValueFrom(observable$);
81
+ }
82
+ listenForClicks() {
83
+ if (!this._elementRef || !this._elementRef.nativeElement) {
84
+ return;
85
+ }
86
+ const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');
87
+ const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');
88
+ const start$ = race([mouseDown$, touchStart$]);
89
+ const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');
90
+ const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');
91
+ const end$ = race([mouseUp$, touchEnd$]);
92
+ this._subscription = start$.pipe(switchMap(() => end$)).subscribe(() => {
93
+ this.closeRequested.next();
94
+ });
95
+ }
96
+ }
97
+ BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
+ BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogOverlay, selector: "bb-dialog-overlay", inputs: { animations: "animations" }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\r\n\r\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\r\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [
99
+ trigger('bbDialogAnimation', [
100
+ transition('* => none', []),
101
+ transition(':enter, * => open', [
102
+ group([
103
+ query('.bb-dialog-overlay-backdrop', [
104
+ style({ opacity: 0 }),
105
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 }))
106
+ ]),
107
+ query('.bb-dialog-modal', [
108
+ style({ transform: 'scale(0.95)' }),
109
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scale(1)' }))
110
+ ])
111
+ ])
112
+ ]),
113
+ transition(':leave, * => close', [
114
+ group([
115
+ query('.bb-dialog-overlay-backdrop', [
116
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))
117
+ ]),
118
+ query('.bb-dialog-modal', [
119
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0, transform: 'scale(0.95)' }))
120
+ ])
121
+ ])
122
+ ])
123
+ ])
124
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogOverlay, decorators: [{
126
+ type: Component,
127
+ args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-overlay', '[@bbDialogAnimation]': 'state' }, animations: [
128
+ trigger('bbDialogAnimation', [
129
+ transition('* => none', []),
130
+ transition(':enter, * => open', [
131
+ group([
132
+ query('.bb-dialog-overlay-backdrop', [
133
+ style({ opacity: 0 }),
134
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 }))
135
+ ]),
136
+ query('.bb-dialog-modal', [
137
+ style({ transform: 'scale(0.95)' }),
138
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'scale(1)' }))
139
+ ])
140
+ ])
141
+ ]),
142
+ transition(':leave, * => close', [
143
+ group([
144
+ query('.bb-dialog-overlay-backdrop', [
145
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 }))
146
+ ]),
147
+ query('.bb-dialog-modal', [
148
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0, transform: 'scale(0.95)' }))
149
+ ])
150
+ ])
151
+ ])
152
+ ])
153
+ ], template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\r\n\r\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\r\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"] }]
154
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { animations: [{
155
+ type: Input
156
+ }], closeRequested: [{
157
+ type: Output
158
+ }], onKeyEvent: [{
159
+ type: HostListener,
160
+ args: ['window:keyup', ['$event']]
161
+ }], onAnimationDone: [{
162
+ type: HostListener,
163
+ args: ['@bbDialogAnimation.done', ['$event']]
164
164
  }] } });
165
165
 
166
- class BbDialogModal {
167
- constructor(_patch) {
168
- this._patch = _patch;
169
- // Styling.
170
- this.maxWidth = '420px';
171
- }
172
- onOverlayClickedEvent(event) {
173
- event.stopPropagation();
174
- }
175
- ngOnInit() {
176
- this._patch.mobileVerticalHeight();
177
- }
178
- }
179
- BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }], target: i0.ɵɵFactoryTarget.Component });
180
- BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogModal, decorators: [{
182
- type: Component,
183
- args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
184
- 'class': 'bb-dialog-modal',
185
- 'role': 'dialog'
186
- }, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"] }]
187
- }], ctorParameters: function () { return [{ type: i1.Patch }]; }, propDecorators: { maxWidth: [{
188
- type: HostBinding,
189
- args: ['style.max-width']
190
- }, {
191
- type: Input
192
- }], onOverlayClickedEvent: [{
193
- type: HostListener,
194
- args: ['click', ['$event']]
195
- }, {
196
- type: HostListener,
197
- args: ['touchstart', ['$event']]
198
- }, {
199
- type: HostListener,
200
- args: ['touchend', ['$event']]
201
- }, {
202
- type: HostListener,
203
- args: ['mouseup', ['$event']]
204
- }, {
205
- type: HostListener,
206
- args: ['mousedown', ['$event']]
166
+ class BbDialogModal {
167
+ constructor(_patch) {
168
+ this._patch = _patch;
169
+ // Styling.
170
+ this.maxWidth = '420px';
171
+ }
172
+ onOverlayClickedEvent(event) {
173
+ event.stopPropagation();
174
+ }
175
+ ngOnInit() {
176
+ this._patch.mobileVerticalHeight();
177
+ }
178
+ }
179
+ BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }], target: i0.ɵɵFactoryTarget.Component });
180
+ BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\r\n\r\n</ng-content>\r\n\r\n<div class=\"bb-dialog-modal-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-content select=\"[bb-dialog-actions]\">\r\n\r\n</ng-content>\r\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogModal, decorators: [{
182
+ type: Component,
183
+ args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
184
+ 'class': 'bb-dialog-modal',
185
+ 'role': 'dialog'
186
+ }, template: "<ng-content select=\"[bb-dialog-header]\">\r\n\r\n</ng-content>\r\n\r\n<div class=\"bb-dialog-modal-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-content select=\"[bb-dialog-actions]\">\r\n\r\n</ng-content>\r\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"] }]
187
+ }], ctorParameters: function () { return [{ type: i1.Patch }]; }, propDecorators: { maxWidth: [{
188
+ type: HostBinding,
189
+ args: ['style.max-width']
190
+ }, {
191
+ type: Input
192
+ }], onOverlayClickedEvent: [{
193
+ type: HostListener,
194
+ args: ['click', ['$event']]
195
+ }, {
196
+ type: HostListener,
197
+ args: ['touchstart', ['$event']]
198
+ }, {
199
+ type: HostListener,
200
+ args: ['touchend', ['$event']]
201
+ }, {
202
+ type: HostListener,
203
+ args: ['mouseup', ['$event']]
204
+ }, {
205
+ type: HostListener,
206
+ args: ['mousedown', ['$event']]
207
207
  }] } });
208
208
 
209
- class BbDialogHeader {
210
- constructor() {
211
- // Inputs.
212
- this.iconName = null;
213
- this.iconColor = 'black';
214
- // Outputs.
215
- this.closeRequested = new EventEmitter();
216
- }
217
- }
218
- BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
219
- BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: { iconName: "iconName", iconColor: "iconColor" }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div *ngIf=\"iconName as icon\"\n [style.color]=\"iconColor\"\n class=\"bb-dialog-header-icon\">\n <i class=\"material-icons\">{{ icon }}</i>\n </div>\n\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observers?.length > 0\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogHeader, decorators: [{
221
- type: Component,
222
- args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-header' }, template: "<div class=\"bb-dialog-header-row\">\n <div *ngIf=\"iconName as icon\"\n [style.color]=\"iconColor\"\n class=\"bb-dialog-header-icon\">\n <i class=\"material-icons\">{{ icon }}</i>\n </div>\n\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observers?.length > 0\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"] }]
223
- }], propDecorators: { iconName: [{
224
- type: Input
225
- }], iconColor: [{
226
- type: Input
227
- }], closeRequested: [{
228
- type: Output
209
+ class BbDialogHeader {
210
+ constructor() {
211
+ // Inputs.
212
+ this.iconName = null;
213
+ this.iconColor = 'black';
214
+ // Outputs.
215
+ this.closeRequested = new EventEmitter();
216
+ }
217
+ }
218
+ BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
219
+ BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: { iconName: "iconName", iconColor: "iconColor" }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\r\n <div *ngIf=\"iconName as icon\"\r\n [style.color]=\"iconColor\"\r\n class=\"bb-dialog-header-icon\">\r\n <i class=\"material-icons\">{{ icon }}</i>\r\n </div>\r\n\r\n <div class=\"bb-dialog-header-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <button *ngIf=\"closeRequested?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogHeader, decorators: [{
221
+ type: Component,
222
+ args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-header' }, template: "<div class=\"bb-dialog-header-row\">\r\n <div *ngIf=\"iconName as icon\"\r\n [style.color]=\"iconColor\"\r\n class=\"bb-dialog-header-icon\">\r\n <i class=\"material-icons\">{{ icon }}</i>\r\n </div>\r\n\r\n <div class=\"bb-dialog-header-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <button *ngIf=\"closeRequested?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"] }]
223
+ }], propDecorators: { iconName: [{
224
+ type: Input
225
+ }], iconColor: [{
226
+ type: Input
227
+ }], closeRequested: [{
228
+ type: Output
229
229
  }] } });
230
230
 
231
- class BbDialogLink {
232
- }
233
- BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
- BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogLink, decorators: [{
236
- type: Component,
237
- args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-link' }, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"] }]
231
+ class BbDialogLink {
232
+ }
233
+ BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
+ BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogLink, decorators: [{
236
+ type: Component,
237
+ args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-link' }, template: "<ng-content></ng-content>\r\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"] }]
238
238
  }] });
239
239
 
240
- class BbDialogActions {
241
- }
242
- BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
- BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], components: [{ type: i6.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogActions, decorators: [{
245
- type: Component,
246
- args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-actions' }, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"] }]
240
+ class BbDialogActions {
241
+ }
242
+ BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
+ BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], components: [{ type: i6.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogActions, decorators: [{
245
+ type: Component,
246
+ args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-actions' }, template: "<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"] }]
247
247
  }] });
248
248
 
249
- class BbDialogInsertion {
250
- constructor(viewContainerRef) {
251
- this.viewContainerRef = viewContainerRef;
252
- }
253
- }
254
- BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
255
- BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogInsertion, decorators: [{
257
- type: Directive,
258
- args: [{
259
- selector: '[bbDialogInsertion]'
260
- }]
249
+ class BbDialogInsertion {
250
+ constructor(viewContainerRef) {
251
+ this.viewContainerRef = viewContainerRef;
252
+ }
253
+ }
254
+ BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
255
+ BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogInsertion, decorators: [{
257
+ type: Directive,
258
+ args: [{
259
+ selector: '[bbDialogInsertion]'
260
+ }]
261
261
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } });
262
262
 
263
- class BbDialogContainer {
264
- constructor(_elementRef, _changeDetection, _componentFactoryResolver) {
265
- this._elementRef = _elementRef;
266
- this._changeDetection = _changeDetection;
267
- this._componentFactoryResolver = _componentFactoryResolver;
268
- // Data.
269
- this.componentRef = null;
270
- this.childComponentType = null;
271
- // State.
272
- this.overlayClicked$ = new Subject();
273
- }
274
- get onOverlayClicked() {
275
- return this.overlayClicked$.pipe(take(1));
276
- }
277
- ngAfterViewInit() {
278
- // Load the child component.
279
- this.loadChildComponent(this.childComponentType);
280
- // Listen for mouse click on the dialog container.
281
- this.listenForClicks();
282
- // Detect changes to notify change detection.
283
- this._changeDetection.detectChanges();
284
- }
285
- ngOnDestroy() {
286
- this._subscription && this._subscription.unsubscribe();
287
- }
288
- onAnimationDone(event) {
289
- // Check if the dialog is being destroyed.
290
- if (event.toState !== 'void') {
291
- return;
292
- }
293
- // Destroy the ref if it exists.
294
- this.componentRef && this.componentRef.destroy();
295
- }
296
- listenForClicks() {
297
- if (!this._elementRef || !this._elementRef.nativeElement) {
298
- return;
299
- }
300
- const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');
301
- const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');
302
- const start$ = race([mouseDown$, touchStart$]);
303
- const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');
304
- const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');
305
- const end$ = race([mouseUp$, touchEnd$]);
306
- this._subscription = start$.pipe(switchMap(() => end$)).subscribe(() => {
307
- this.overlayClicked$.next();
308
- });
309
- }
310
- loadChildComponent(componentType) {
311
- // Resolve the component.
312
- const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);
313
- // Get the view container ref and clear it.
314
- const viewContainerRef = this.insertion.viewContainerRef;
315
- viewContainerRef.clear();
316
- // Create an instance of the component.
317
- this.componentRef = viewContainerRef.createComponent(componentFactory);
318
- }
319
- }
320
- BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
321
- BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\">\n</div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion>\n </ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"], directives: [{ type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [
322
- trigger('bbDialogAnimation', [
323
- transition(':enter', [
324
- group([
325
- query('.bb-dialog-container-backdrop', [
326
- style({
327
- opacity: 0
328
- }),
329
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
330
- opacity: 1
331
- }))
332
- ]),
333
- query('.bb-dialog-container-component', [
334
- style({
335
- transform: 'scale(0.95)'
336
- }),
337
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
338
- transform: 'scale(1)'
339
- }))
340
- ])
341
- ])
342
- ]),
343
- transition(':leave', [
344
- group([
345
- query('.bb-dialog-container-backdrop', [
346
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
347
- opacity: 0
348
- }))
349
- ]),
350
- query('.bb-dialog-container-component', [
351
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
352
- opacity: 0,
353
- transform: 'scale(0.95)'
354
- }))
355
- ])
356
- ])
357
- ])
358
- ])
359
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogContainer, decorators: [{
361
- type: Component,
362
- args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-container', '[@bbDialogAnimation]': 'true' }, preserveWhitespaces: false, animations: [
363
- trigger('bbDialogAnimation', [
364
- transition(':enter', [
365
- group([
366
- query('.bb-dialog-container-backdrop', [
367
- style({
368
- opacity: 0
369
- }),
370
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
371
- opacity: 1
372
- }))
373
- ]),
374
- query('.bb-dialog-container-component', [
375
- style({
376
- transform: 'scale(0.95)'
377
- }),
378
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
379
- transform: 'scale(1)'
380
- }))
381
- ])
382
- ])
383
- ]),
384
- transition(':leave', [
385
- group([
386
- query('.bb-dialog-container-backdrop', [
387
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
388
- opacity: 0
389
- }))
390
- ]),
391
- query('.bb-dialog-container-component', [
392
- animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
393
- opacity: 0,
394
- transform: 'scale(0.95)'
395
- }))
396
- ])
397
- ])
398
- ])
399
- ])
400
- ], template: "<div class=\"bb-dialog-container-backdrop\">\n</div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion>\n </ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"] }]
401
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { insertion: [{
402
- type: ViewChild,
403
- args: [BbDialogInsertion, { static: true }]
404
- }], onAnimationDone: [{
405
- type: HostListener,
406
- args: ['@bbDialogAnimation.done', ['$event']]
263
+ class BbDialogContainer {
264
+ constructor(_elementRef, _changeDetection, _componentFactoryResolver) {
265
+ this._elementRef = _elementRef;
266
+ this._changeDetection = _changeDetection;
267
+ this._componentFactoryResolver = _componentFactoryResolver;
268
+ // Data.
269
+ this.componentRef = null;
270
+ this.childComponentType = null;
271
+ // State.
272
+ this.overlayClicked$ = new Subject();
273
+ }
274
+ get onOverlayClicked() {
275
+ return this.overlayClicked$.pipe(take(1));
276
+ }
277
+ ngAfterViewInit() {
278
+ // Load the child component.
279
+ this.loadChildComponent(this.childComponentType);
280
+ // Listen for mouse click on the dialog container.
281
+ this.listenForClicks();
282
+ // Detect changes to notify change detection.
283
+ this._changeDetection.detectChanges();
284
+ }
285
+ ngOnDestroy() {
286
+ this._subscription && this._subscription.unsubscribe();
287
+ }
288
+ onAnimationDone(event) {
289
+ // Check if the dialog is being destroyed.
290
+ if (event.toState !== 'void') {
291
+ return;
292
+ }
293
+ // Destroy the ref if it exists.
294
+ this.componentRef && this.componentRef.destroy();
295
+ }
296
+ listenForClicks() {
297
+ if (!this._elementRef || !this._elementRef.nativeElement) {
298
+ return;
299
+ }
300
+ const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');
301
+ const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');
302
+ const start$ = race([mouseDown$, touchStart$]);
303
+ const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');
304
+ const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');
305
+ const end$ = race([mouseUp$, touchEnd$]);
306
+ this._subscription = start$.pipe(switchMap(() => end$)).subscribe(() => {
307
+ this.overlayClicked$.next();
308
+ });
309
+ }
310
+ loadChildComponent(componentType) {
311
+ // Resolve the component.
312
+ const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);
313
+ // Get the view container ref and clear it.
314
+ const viewContainerRef = this.insertion.viewContainerRef;
315
+ viewContainerRef.clear();
316
+ // Create an instance of the component.
317
+ this.componentRef = viewContainerRef.createComponent(componentFactory);
318
+ }
319
+ }
320
+ BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
321
+ BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\">\r\n</div>\r\n\r\n<div class=\"bb-dialog-container-component\">\r\n <ng-container bbDialogInsertion>\r\n </ng-container>\r\n</div>\r\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"], directives: [{ type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [
322
+ trigger('bbDialogAnimation', [
323
+ transition(':enter', [
324
+ group([
325
+ query('.bb-dialog-container-backdrop', [
326
+ style({
327
+ opacity: 0
328
+ }),
329
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
330
+ opacity: 1
331
+ }))
332
+ ]),
333
+ query('.bb-dialog-container-component', [
334
+ style({
335
+ transform: 'scale(0.95)'
336
+ }),
337
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
338
+ transform: 'scale(1)'
339
+ }))
340
+ ])
341
+ ])
342
+ ]),
343
+ transition(':leave', [
344
+ group([
345
+ query('.bb-dialog-container-backdrop', [
346
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
347
+ opacity: 0
348
+ }))
349
+ ]),
350
+ query('.bb-dialog-container-component', [
351
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
352
+ opacity: 0,
353
+ transform: 'scale(0.95)'
354
+ }))
355
+ ])
356
+ ])
357
+ ])
358
+ ])
359
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogContainer, decorators: [{
361
+ type: Component,
362
+ args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-container', '[@bbDialogAnimation]': 'true' }, preserveWhitespaces: false, animations: [
363
+ trigger('bbDialogAnimation', [
364
+ transition(':enter', [
365
+ group([
366
+ query('.bb-dialog-container-backdrop', [
367
+ style({
368
+ opacity: 0
369
+ }),
370
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
371
+ opacity: 1
372
+ }))
373
+ ]),
374
+ query('.bb-dialog-container-component', [
375
+ style({
376
+ transform: 'scale(0.95)'
377
+ }),
378
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
379
+ transform: 'scale(1)'
380
+ }))
381
+ ])
382
+ ])
383
+ ]),
384
+ transition(':leave', [
385
+ group([
386
+ query('.bb-dialog-container-backdrop', [
387
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
388
+ opacity: 0
389
+ }))
390
+ ]),
391
+ query('.bb-dialog-container-component', [
392
+ animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({
393
+ opacity: 0,
394
+ transform: 'scale(0.95)'
395
+ }))
396
+ ])
397
+ ])
398
+ ])
399
+ ])
400
+ ], template: "<div class=\"bb-dialog-container-backdrop\">\r\n</div>\r\n\r\n<div class=\"bb-dialog-container-component\">\r\n <ng-container bbDialogInsertion>\r\n </ng-container>\r\n</div>\r\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"] }]
401
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { insertion: [{
402
+ type: ViewChild,
403
+ args: [BbDialogInsertion, { static: true }]
404
+ }], onAnimationDone: [{
405
+ type: HostListener,
406
+ args: ['@bbDialogAnimation.done', ['$event']]
407
407
  }] } });
408
408
 
409
- let nextUniqueId = 0;
410
- class BbDialogConfirm {
411
- constructor(config, dialogRef) {
412
- this.config = config;
413
- this.dialogRef = dialogRef;
414
- // Id.
415
- this.dialogId = `bb-dialog-confirm-${nextUniqueId++}`;
416
- }
417
- ngAfterViewInit() {
418
- // Initial focus the button.
419
- this.confirmButton.focus();
420
- }
421
- onClose(result) {
422
- this.dialogRef.close(result);
423
- }
424
- }
425
- BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
426
- BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.5", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"config?.data?.title as title\"\n [id]=\"dialogId\">\n {{ title | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p>\n {{ config?.data?.description | bbLocalize:{optional: true} }}\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonText | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonText | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}\n"], components: [{ type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["iconName", "iconColor"], outputs: ["closeRequested"] }, { type: BbDialogActions, selector: "[bb-dialog-actions]" }, { type: i6.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }], directives: [{ type: i6.BbFocusTrap, selector: "[bbFocusTrap]" }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "bbLocalize": i8.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: BbDialogConfirm, decorators: [{
428
- type: Component,
429
- args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"config?.data?.title as title\"\n [id]=\"dialogId\">\n {{ title | bbLocalize:{optional: true} }}\n </h1>\n </header>\n\n <p>\n {{ config?.data?.description | bbLocalize:{optional: true} }}\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonText | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\"\n class=\"destructive\">\n {{ confirmButtonText | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}\n"] }]
430
- }], ctorParameters: function () { return [{ type: BbDialogConfig }, { type: BbDialogRef }]; }, propDecorators: { confirmButton: [{
431
- type: ViewChild,
432
- args: ['confirm', { read: BbButton }]
409
+ let nextUniqueId = 0;
410
+ class BbDialogConfirm {
411
+ constructor(config, dialogRef) {
412
+ this.config = config;
413
+ this.dialogRef = dialogRef;
414
+ // Id.
415
+ this.dialogId = `bb-dialog-confirm-${nextUniqueId++}`;
416
+ }
417
+ ngAfterViewInit() {
418
+ // Initial focus the button.
419
+ this.confirmButton.focus();
420
+ }
421
+ onClose(result) {
422
+ this.dialogRef.close(result);
423
+ }
424
+ }
425
+ BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
426
+ BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\r\n bb-dialog-modal\r\n bbFocusTrap>\r\n <header bb-dialog-header>\r\n <h1 *ngIf=\"config?.data?.title as title\"\r\n [id]=\"dialogId\">\r\n {{ title | bbLocalize:{optional: true} }}\r\n </h1>\r\n </header>\r\n\r\n <p>\r\n {{ config?.data?.description | bbLocalize:{optional: true} }}\r\n </p>\r\n\r\n <footer bb-dialog-actions>\r\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\r\n (click)=\"onClose(false)\"\r\n bb-button\r\n type=\"button\">\r\n {{ cancelButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n <button #confirm\r\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\r\n (click)=\"onClose(true)\"\r\n bb-button\r\n type=\"button\"\r\n class=\"destructive\">\r\n {{ confirmButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n </footer>\r\n</div>\r\n", styles: [".bb-dialog-confirm{display:block}\n"], components: [{ type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["iconName", "iconColor"], outputs: ["closeRequested"] }, { type: BbDialogActions, selector: "[bb-dialog-actions]" }, { type: i6.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }], directives: [{ type: i6.BbFocusTrap, selector: "[bbFocusTrap]" }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "bbLocalize": i8.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogConfirm, decorators: [{
428
+ type: Component,
429
+ args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\r\n bb-dialog-modal\r\n bbFocusTrap>\r\n <header bb-dialog-header>\r\n <h1 *ngIf=\"config?.data?.title as title\"\r\n [id]=\"dialogId\">\r\n {{ title | bbLocalize:{optional: true} }}\r\n </h1>\r\n </header>\r\n\r\n <p>\r\n {{ config?.data?.description | bbLocalize:{optional: true} }}\r\n </p>\r\n\r\n <footer bb-dialog-actions>\r\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\r\n (click)=\"onClose(false)\"\r\n bb-button\r\n type=\"button\">\r\n {{ cancelButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n <button #confirm\r\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\r\n (click)=\"onClose(true)\"\r\n bb-button\r\n type=\"button\"\r\n class=\"destructive\">\r\n {{ confirmButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n </footer>\r\n</div>\r\n", styles: [".bb-dialog-confirm{display:block}\n"] }]
430
+ }], ctorParameters: function () { return [{ type: BbDialogConfig }, { type: BbDialogRef }]; }, propDecorators: { confirmButton: [{
431
+ type: ViewChild,
432
+ args: ['confirm', { read: BbButton }]
433
433
  }] } });
434
434
 
435
- class BbDialogInjector {
436
- constructor(_parentInjector, _additionalTokens) {
437
- this._parentInjector = _parentInjector;
438
- this._additionalTokens = _additionalTokens;
439
- }
440
- get(token, notFoundValue) {
441
- // First check if the additional token
442
- // contains the token.
443
- const value = this._additionalTokens.get(token);
444
- // If that value exists return it.
445
- if (value) {
446
- return value;
447
- }
448
- // Else query the parent injector.
449
- return this._parentInjector.get(token, notFoundValue);
450
- }
435
+ class BbDialogInjector {
436
+ constructor(_parentInjector, _additionalTokens) {
437
+ this._parentInjector = _parentInjector;
438
+ this._additionalTokens = _additionalTokens;
439
+ }
440
+ get(token, notFoundValue) {
441
+ // First check if the additional token
442
+ // contains the token.
443
+ const value = this._additionalTokens.get(token);
444
+ // If that value exists return it.
445
+ if (value) {
446
+ return value;
447
+ }
448
+ // Else query the parent injector.
449
+ return this._parentInjector.get(token, notFoundValue);
450
+ }
451
451
  }
452
452
 
453
- class Dialog {
454
- constructor(_injector, _applicationRef, _componentFactoryResolver) {
455
- this._injector = _injector;
456
- this._applicationRef = _applicationRef;
457
- this._componentFactoryResolver = _componentFactoryResolver;
458
- }
459
- open(componentType, config) {
460
- return this.createDialog(componentType, config);
461
- }
462
- confirm(title, description, options = {}) {
463
- return this.open(BbDialogConfirm, {
464
- data: {
465
- title,
466
- description,
467
- cancelButtonText: options.cancelButtonText || 'dialog.default_cancel_button',
468
- confirmButtonText: options.confirmButtonText || 'dialog.default_confirm_button'
469
- }
470
- });
471
- }
472
- createDialog(componentType, config) {
473
- // Create a reference.
474
- const dialogRef = new BbDialogRef();
475
- // Create a map with the config.
476
- const map = new WeakMap();
477
- map.set(BbDialogConfig, config);
478
- map.set(BbDialogRef, dialogRef);
479
- // Create a custom injector.
480
- const dialogInjector = new BbDialogInjector(this._injector, map);
481
- // Resolve the dialog component reference.
482
- const dialogComponentRef = this._componentFactoryResolver
483
- .resolveComponentFactory(BbDialogContainer)
484
- .create(dialogInjector);
485
- // Attach the host view to the application.
486
- this._applicationRef.attachView(dialogComponentRef.hostView);
487
- try {
488
- // Remove the current focus.
489
- const activeElement = document.activeElement;
490
- activeElement.blur();
491
- // Append the element to the DOM.
492
- document.body.appendChild(dialogComponentRef.location.nativeElement);
493
- }
494
- catch {
495
- // Don't do anything, because it must've failed.
496
- }
497
- // Set the child component type on the component.
498
- dialogComponentRef.instance.childComponentType = componentType;
499
- dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());
500
- // Listen for close events.
501
- dialogRef.afterClosed.subscribe(() => this.deleteDialog(dialogComponentRef));
502
- // Return the reference.
503
- return dialogRef;
504
- }
505
- deleteDialog(dialogComponentRef) {
506
- // Only continue if the dialog component ref exists.
507
- if (!dialogComponentRef) {
508
- return;
509
- }
510
- // Detach the dialog.
511
- this._applicationRef.detachView(dialogComponentRef.hostView);
512
- // Destroy the dialog.
513
- dialogComponentRef.destroy();
514
- dialogComponentRef = null;
515
- }
516
- }
517
- Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
518
- Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: Dialog });
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: Dialog, decorators: [{
520
- type: Injectable
453
+ class Dialog {
454
+ constructor(_injector, _applicationRef, _componentFactoryResolver) {
455
+ this._injector = _injector;
456
+ this._applicationRef = _applicationRef;
457
+ this._componentFactoryResolver = _componentFactoryResolver;
458
+ }
459
+ open(componentType, config) {
460
+ return this.createDialog(componentType, config);
461
+ }
462
+ confirm(title, description, options = {}) {
463
+ return this.open(BbDialogConfirm, {
464
+ data: {
465
+ title,
466
+ description,
467
+ cancelButtonText: options.cancelButtonText || 'dialog.default_cancel_button',
468
+ confirmButtonText: options.confirmButtonText || 'dialog.default_confirm_button'
469
+ }
470
+ });
471
+ }
472
+ createDialog(componentType, config) {
473
+ // Create a reference.
474
+ const dialogRef = new BbDialogRef();
475
+ // Create a map with the config.
476
+ const map = new WeakMap();
477
+ map.set(BbDialogConfig, config);
478
+ map.set(BbDialogRef, dialogRef);
479
+ // Create a custom injector.
480
+ const dialogInjector = new BbDialogInjector(this._injector, map);
481
+ // Resolve the dialog component reference.
482
+ const dialogComponentRef = this._componentFactoryResolver
483
+ .resolveComponentFactory(BbDialogContainer)
484
+ .create(dialogInjector);
485
+ // Attach the host view to the application.
486
+ this._applicationRef.attachView(dialogComponentRef.hostView);
487
+ try {
488
+ // Remove the current focus.
489
+ const activeElement = document.activeElement;
490
+ activeElement.blur();
491
+ // Append the element to the DOM.
492
+ document.body.appendChild(dialogComponentRef.location.nativeElement);
493
+ }
494
+ catch {
495
+ // Don't do anything, because it must've failed.
496
+ }
497
+ // Set the child component type on the component.
498
+ dialogComponentRef.instance.childComponentType = componentType;
499
+ dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());
500
+ // Listen for close events.
501
+ dialogRef.afterClosed.subscribe(() => this.deleteDialog(dialogComponentRef));
502
+ // Return the reference.
503
+ return dialogRef;
504
+ }
505
+ deleteDialog(dialogComponentRef) {
506
+ // Only continue if the dialog component ref exists.
507
+ if (!dialogComponentRef) {
508
+ return;
509
+ }
510
+ // Detach the dialog.
511
+ this._applicationRef.detachView(dialogComponentRef.hostView);
512
+ // Destroy the dialog.
513
+ dialogComponentRef.destroy();
514
+ dialogComponentRef = null;
515
+ }
516
+ }
517
+ Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
518
+ Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog });
519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog, decorators: [{
520
+ type: Injectable
521
521
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }]; } });
522
522
 
523
- class DialogModule {
524
- static forRoot() {
525
- return {
526
- ngModule: DialogModule,
527
- providers: [Dialog]
528
- };
529
- }
530
- }
531
- DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
532
- DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
533
- BbDialogOverlay,
534
- BbDialogModal,
535
- BbDialogHeader,
536
- BbDialogLink,
537
- BbDialogActions,
538
- BbDialogConfirm,
539
- BbDialogInsertion], imports: [CommonModule,
540
- LocalizeModule,
541
- ElementsModule], exports: [BbDialogOverlay,
542
- BbDialogModal,
543
- BbDialogHeader,
544
- BbDialogLink,
545
- BbDialogActions] });
546
- DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DialogModule, imports: [[
547
- CommonModule,
548
- LocalizeModule,
549
- ElementsModule
550
- ]] });
551
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: DialogModule, decorators: [{
552
- type: NgModule,
553
- args: [{
554
- imports: [
555
- CommonModule,
556
- LocalizeModule,
557
- ElementsModule
558
- ],
559
- declarations: [
560
- BbDialogContainer,
561
- BbDialogOverlay,
562
- BbDialogModal,
563
- BbDialogHeader,
564
- BbDialogLink,
565
- BbDialogActions,
566
- BbDialogConfirm,
567
- BbDialogInsertion
568
- ],
569
- exports: [
570
- BbDialogOverlay,
571
- BbDialogModal,
572
- BbDialogHeader,
573
- BbDialogLink,
574
- BbDialogActions
575
- ]
576
- }]
523
+ class DialogModule {
524
+ static forRoot() {
525
+ return {
526
+ ngModule: DialogModule,
527
+ providers: [Dialog]
528
+ };
529
+ }
530
+ }
531
+ DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
532
+ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
533
+ BbDialogOverlay,
534
+ BbDialogModal,
535
+ BbDialogHeader,
536
+ BbDialogLink,
537
+ BbDialogActions,
538
+ BbDialogConfirm,
539
+ BbDialogInsertion], imports: [CommonModule,
540
+ LocalizeModule,
541
+ ElementsModule], exports: [BbDialogOverlay,
542
+ BbDialogModal,
543
+ BbDialogHeader,
544
+ BbDialogLink,
545
+ BbDialogActions] });
546
+ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, imports: [[
547
+ CommonModule,
548
+ LocalizeModule,
549
+ ElementsModule
550
+ ]] });
551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, decorators: [{
552
+ type: NgModule,
553
+ args: [{
554
+ imports: [
555
+ CommonModule,
556
+ LocalizeModule,
557
+ ElementsModule
558
+ ],
559
+ declarations: [
560
+ BbDialogContainer,
561
+ BbDialogOverlay,
562
+ BbDialogModal,
563
+ BbDialogHeader,
564
+ BbDialogLink,
565
+ BbDialogActions,
566
+ BbDialogConfirm,
567
+ BbDialogInsertion
568
+ ],
569
+ exports: [
570
+ BbDialogOverlay,
571
+ BbDialogModal,
572
+ BbDialogHeader,
573
+ BbDialogLink,
574
+ BbDialogActions
575
+ ]
576
+ }]
577
577
  }] });
578
578
 
579
- /**
580
- * Generated bundle index. Do not edit.
579
+ /**
580
+ * Generated bundle index. Do not edit.
581
581
  */
582
582
 
583
583
  export { BbDialogActions, BbDialogConfig, BbDialogHeader, BbDialogLink, BbDialogModal, BbDialogOverlay, BbDialogRef, Dialog, DialogModule };