@bravobit/bb-foundation 0.14.2 → 0.15.1

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