@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
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-dialog.js","sources":["../../../projects/bb-foundation/dialog/src/lib/dialog.ref.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.interfaces.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.insertion.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.module.ts","../../../projects/bb-foundation/dialog/src/bravobit-bb-foundation-dialog.ts"],"sourcesContent":["import {take} from 'rxjs/operators';\r\nimport {Subject} from 'rxjs';\r\n\r\nexport class BbDialogRef<T = any> {\r\n\r\n // Data.\r\n private readonly _afterClosed$ = new Subject<T>();\r\n private readonly _overlayClicked$ = new Subject<void>();\r\n\r\n get afterClosed() {\r\n return this._afterClosed$.pipe(\r\n take(1)\r\n );\r\n }\r\n\r\n get overlayClicked() {\r\n return this._overlayClicked$.pipe(\r\n take(1)\r\n );\r\n }\r\n\r\n onOverlayClicked() {\r\n this._overlayClicked$.next();\r\n }\r\n\r\n close(result?: T) {\r\n this._afterClosed$.next(result);\r\n }\r\n\r\n}\r\n","export class BbDialogConfig<T = any> {\r\n data?: T;\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, AnimationEvent, group, query, style, transition, trigger} from '@angular/animations';\r\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\r\nimport {switchMap, take} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bb-dialog-overlay',\r\n templateUrl: './dialog-overlay.component.html',\r\n styleUrls: ['./dialog-overlay.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {'class': 'bb-dialog-overlay', '[@bbDialogAnimation]': 'state'},\r\n animations: [\r\n trigger('bbDialogAnimation', [\r\n transition('* => none', []),\r\n transition(':enter, * => open', [\r\n group([\r\n query('.bb-dialog-overlay-backdrop', [\r\n style({opacity: 0}),\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\r\n ]),\r\n query('.bb-dialog-modal', [\r\n style({transform: 'scale(0.95)'}),\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({transform: 'scale(1)'}))\r\n ])\r\n ])\r\n ]),\r\n transition(':leave, * => close', [\r\n group([\r\n query('.bb-dialog-overlay-backdrop', [\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\r\n ]),\r\n query('.bb-dialog-modal', [\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.95)'}))\r\n ])\r\n ])\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class BbDialogOverlay implements AfterViewInit, OnDestroy {\r\n\r\n // Inputs.\r\n @Input() animations: boolean = true;\r\n\r\n // Outputs.\r\n @Output() closeRequested = new EventEmitter<void>();\r\n\r\n // State.\r\n private _state: 'open' | 'close' = 'open';\r\n private _closed$ = new Subject<void>();\r\n\r\n // Subscriptions.\r\n private _subscription: Subscription;\r\n\r\n get state() {\r\n return this.animations\r\n ? this._state\r\n : 'none';\r\n }\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _changeDetection: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.listenForClicks();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscription?.unsubscribe();\r\n }\r\n\r\n @HostListener('window:keyup', ['$event'])\r\n onKeyEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.closeRequested.emit();\r\n }\r\n }\r\n\r\n @HostListener('@bbDialogAnimation.done', ['$event'])\r\n onAnimationDone(event: AnimationEvent) {\r\n // Check if the dialog is being destroyed.\r\n if (!['close', 'none'].includes(event.toState)) {\r\n return;\r\n }\r\n\r\n this._closed$.next();\r\n this._closed$.complete();\r\n }\r\n\r\n close() {\r\n // We need change detection to run\r\n // here else it won't close in all scenario's.\r\n this._state = 'close';\r\n this._changeDetection.markForCheck();\r\n\r\n // Listen for the closed trigger.\r\n return this._closed$.pipe(take(1)).toPromise();\r\n }\r\n\r\n private listenForClicks() {\r\n if (!this._elementRef || !this._elementRef.nativeElement) {\r\n return;\r\n }\r\n\r\n const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');\r\n const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');\r\n const start$ = race([mouseDown$, touchStart$]);\r\n\r\n const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');\r\n const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');\r\n const end$ = race([mouseUp$, touchEnd$]);\r\n\r\n this._subscription = start$.pipe(\r\n switchMap(() => end$)\r\n ).subscribe(() => {\r\n this.closeRequested.next();\r\n });\r\n }\r\n\r\n}\r\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\r\n\r\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\r\n","import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Patch} from '@bravobit/bb-foundation';\r\n\r\n@Component({\r\n selector: '[bb-dialog-modal]',\r\n templateUrl: './dialog-modal.component.html',\r\n styleUrls: ['./dialog-modal.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {\r\n 'class': 'bb-dialog-modal',\r\n 'role': 'dialog'\r\n }\r\n})\r\nexport class BbDialogModal implements OnInit {\r\n\r\n // Styling.\r\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\r\n\r\n @HostListener('click', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n @HostListener('touchend', ['$event'])\r\n @HostListener('mouseup', ['$event'])\r\n @HostListener('mousedown', ['$event'])\r\n onOverlayClickedEvent(event: MouseEvent) {\r\n event.stopPropagation();\r\n }\r\n\r\n constructor(private _patch: Patch) {\r\n }\r\n\r\n ngOnInit() {\r\n this._patch.mobileVerticalHeight();\r\n }\r\n\r\n}\r\n","<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","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: '[bb-dialog-header]',\r\n templateUrl: './dialog-header.component.html',\r\n styleUrls: ['./dialog-header.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {'class': 'bb-dialog-header'}\r\n})\r\nexport class BbDialogHeader {\r\n\r\n // Inputs.\r\n @Input() iconName: string | null = null;\r\n @Input() iconColor: string = 'black';\r\n\r\n // Outputs.\r\n @Output() closeRequested = new EventEmitter<void>();\r\n\r\n}\r\n","<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","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: '[bb-dialog-link]',\r\n templateUrl: './dialog-link.component.html',\r\n styleUrls: ['./dialog-link.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {'class': 'bb-dialog-link'}\r\n})\r\nexport class BbDialogLink {\r\n}\r\n","<ng-content></ng-content>\r\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\r\n\r\n@Component({\r\n selector: '[bb-dialog-actions]',\r\n templateUrl: './dialog-actions.component.html',\r\n styleUrls: ['./dialog-actions.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {'class': 'bb-dialog-actions'}\r\n})\r\nexport class BbDialogActions {\r\n}\r\n","<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n","import {Directive, ViewContainerRef} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[bbDialogInsertion]'\r\n})\r\nexport class BbDialogInsertion {\r\n\r\n constructor(public viewContainerRef: ViewContainerRef) {\r\n }\r\n\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n ElementRef,\r\n HostListener,\r\n Type,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, AnimationEvent, group, query, style, transition, trigger} from '@angular/animations';\r\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\r\nimport {BbDialogInsertion} from '../dialog.insertion';\r\nimport {switchMap, take} from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'bb-dialog-container',\r\n templateUrl: './dialog-container.component.html',\r\n styleUrls: ['./dialog-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: {'class': 'bb-dialog-container', '[@bbDialogAnimation]': 'true'},\r\n preserveWhitespaces: false,\r\n animations: [\r\n trigger('bbDialogAnimation', [\r\n transition(':enter', [\r\n group([\r\n query('.bb-dialog-container-backdrop', [\r\n style({\r\n opacity: 0\r\n }),\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\r\n opacity: 1\r\n }))\r\n ]),\r\n query('.bb-dialog-container-component', [\r\n style({\r\n transform: 'scale(0.95)'\r\n }),\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\r\n transform: 'scale(1)'\r\n }))\r\n ])\r\n ])\r\n ]),\r\n transition(':leave', [\r\n group([\r\n query('.bb-dialog-container-backdrop', [\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\r\n opacity: 0\r\n }))\r\n ]),\r\n query('.bb-dialog-container-component', [\r\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\r\n opacity: 0,\r\n transform: 'scale(0.95)'\r\n }))\r\n ])\r\n ])\r\n ])\r\n ])\r\n ]\r\n})\r\nexport class BbDialogContainer implements AfterViewInit {\r\n\r\n // Views.\r\n @ViewChild(BbDialogInsertion, {static: true}) insertion: BbDialogInsertion;\r\n\r\n // Data.\r\n componentRef: ComponentRef<any> | null = null;\r\n childComponentType: Type<any> | null = null;\r\n\r\n // State.\r\n overlayClicked$ = new Subject<void>();\r\n\r\n // Subscription.\r\n private _subscription: Subscription;\r\n\r\n get onOverlayClicked() {\r\n return this.overlayClicked$.pipe(\r\n take(1)\r\n );\r\n }\r\n\r\n constructor(private _elementRef: ElementRef,\r\n private _changeDetection: ChangeDetectorRef,\r\n private _componentFactoryResolver: ComponentFactoryResolver) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Load the child component.\r\n this.loadChildComponent(this.childComponentType);\r\n\r\n // Listen for mouse click on the dialog container.\r\n this.listenForClicks();\r\n\r\n // Detect changes to notify change detection.\r\n this._changeDetection.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscription && this._subscription.unsubscribe();\r\n }\r\n\r\n @HostListener('@bbDialogAnimation.done', ['$event'])\r\n onAnimationDone(event: AnimationEvent) {\r\n // Check if the dialog is being destroyed.\r\n if (event.toState !== 'void') {\r\n return;\r\n }\r\n\r\n // Destroy the ref if it exists.\r\n this.componentRef && this.componentRef.destroy();\r\n }\r\n\r\n private listenForClicks() {\r\n if (!this._elementRef || !this._elementRef.nativeElement) {\r\n return;\r\n }\r\n\r\n const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');\r\n const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');\r\n const start$ = race([mouseDown$, touchStart$]);\r\n\r\n const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');\r\n const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');\r\n const end$ = race([mouseUp$, touchEnd$]);\r\n\r\n this._subscription = start$.pipe(\r\n switchMap(() => end$)\r\n ).subscribe(() => {\r\n this.overlayClicked$.next();\r\n });\r\n }\r\n\r\n private loadChildComponent(componentType: Type<any>) {\r\n // Resolve the component.\r\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);\r\n\r\n // Get the view container ref and clear it.\r\n const viewContainerRef = this.insertion.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n // Create an instance of the component.\r\n this.componentRef = viewContainerRef.createComponent(componentFactory);\r\n }\r\n\r\n}\r\n","<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","import {AfterViewInit, ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\r\nimport {BbButton} from '@bravobit/bb-foundation/elements';\r\nimport {BbDialogConfig} from '../dialog.interfaces';\r\nimport {BbDialogRef} from '../dialog.ref';\r\n\r\nlet nextUniqueId = 0;\r\n\r\n@Component({\r\n selector: 'bb-dialog-confirm',\r\n templateUrl: './dialog-confirm.component.html',\r\n styleUrls: ['./dialog-confirm.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n preserveWhitespaces: false,\r\n host: {'class': 'bb-dialog-confirm'}\r\n})\r\nexport class BbDialogConfirm implements AfterViewInit {\r\n\r\n // Views.\r\n @ViewChild('confirm', { read: BbButton }) confirmButton: BbButton;\r\n\r\n // Id.\r\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\r\n\r\n constructor(public config: BbDialogConfig,\r\n public dialogRef: BbDialogRef<boolean>) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Initial focus the button.\r\n this.confirmButton.focus();\r\n }\r\n\r\n onClose(result: boolean) {\r\n this.dialogRef.close(result);\r\n }\r\n}\r\n","<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","import {InjectionToken, Injector, Type} from '@angular/core';\r\n\r\nexport class BbDialogInjector implements Injector {\r\n\r\n constructor(private _parentInjector: Injector,\r\n private _additionalTokens: WeakMap<any, any>) {\r\n }\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\r\n get(token: any, notFoundValue?: any);\r\n get(token: any, notFoundValue?: any) {\r\n // First check if the additional token\r\n // contains the token.\r\n const value = this._additionalTokens.get(token);\r\n\r\n // If that value exists return it.\r\n if (value) {\r\n return value;\r\n }\r\n\r\n // Else query the parent injector.\r\n return this._parentInjector.get<any>(token, notFoundValue);\r\n }\r\n\r\n}\r\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type} from '@angular/core';\r\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\r\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\r\nimport {BbDialogInjector} from './dialog.injector';\r\nimport {BbDialogConfig} from './dialog.interfaces';\r\nimport {BbDialogRef} from './dialog.ref';\r\n\r\n@Injectable()\r\nexport class Dialog {\r\n\r\n constructor(private _injector: Injector,\r\n private _applicationRef: ApplicationRef,\r\n private _componentFactoryResolver: ComponentFactoryResolver) {\r\n }\r\n\r\n open<T = any>(componentType: Type<any>, config: BbDialogConfig) {\r\n return this.createDialog<T>(componentType, config);\r\n }\r\n\r\n confirm(title: string, description: string, options: { cancelButtonText?: string, confirmButtonText?: string } = {}) {\r\n return this.open<boolean>(BbDialogConfirm, {\r\n data: {\r\n title,\r\n description,\r\n cancelButtonText: options.cancelButtonText || 'dialog.default_cancel_button',\r\n confirmButtonText: options.confirmButtonText || 'dialog.default_confirm_button'\r\n }\r\n });\r\n }\r\n\r\n private createDialog<T = any>(componentType: Type<any>, config: BbDialogConfig) {\r\n // Create a reference.\r\n const dialogRef = new BbDialogRef<T>();\r\n\r\n // Create a map with the config.\r\n const map = new WeakMap();\r\n map.set(BbDialogConfig, config);\r\n map.set(BbDialogRef, dialogRef);\r\n\r\n // Create a custom injector.\r\n const dialogInjector = new BbDialogInjector(this._injector, map);\r\n\r\n // Resolve the dialog component reference.\r\n const dialogComponentRef = this._componentFactoryResolver\r\n .resolveComponentFactory(BbDialogContainer)\r\n .create(dialogInjector);\r\n\r\n // Attach the host view to the application.\r\n this._applicationRef.attachView(dialogComponentRef.hostView);\r\n\r\n try {\r\n // Remove the current focus.\r\n const activeElement = document.activeElement as HTMLElement;\r\n activeElement.blur();\r\n\r\n // Append the element to the DOM.\r\n document.body.appendChild(dialogComponentRef.location.nativeElement);\r\n } catch {\r\n // Don't do anything, because it must've failed.\r\n }\r\n\r\n // Set the child component type on the component.\r\n dialogComponentRef.instance.childComponentType = componentType;\r\n dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());\r\n\r\n // Listen for close events.\r\n dialogRef.afterClosed.subscribe(() => this.deleteDialog(dialogComponentRef));\r\n\r\n // Return the reference.\r\n return dialogRef;\r\n }\r\n\r\n private deleteDialog(dialogComponentRef: ComponentRef<BbDialogContainer>) {\r\n // Only continue if the dialog component ref exists.\r\n if (!dialogComponentRef) {\r\n return;\r\n }\r\n\r\n // Detach the dialog.\r\n this._applicationRef.detachView(dialogComponentRef.hostView);\r\n\r\n // Destroy the dialog.\r\n dialogComponentRef.destroy();\r\n dialogComponentRef = null;\r\n }\r\n\r\n}\r\n","import {BbDialogContainer} from './dialog-container/dialog-container.component';\r\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\r\nimport {BbDialogActions} from './dialog-actions/dialog-actions.component';\r\nimport {BbDialogOverlay} from './dialog-overlay/dialog-overlay.component';\r\nimport {BbDialogHeader} from './dialog-header/dialog-header.component';\r\nimport {BbDialogModal} from './dialog-modal/dialog-modal.component';\r\nimport {BbDialogLink} from './dialog-link/dialog-link.component';\r\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\r\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\r\nimport {ModuleWithProviders, NgModule} from '@angular/core';\r\nimport {BbDialogInsertion} from './dialog.insertion';\r\nimport {CommonModule} from '@angular/common';\r\nimport {Dialog} from './dialog.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n LocalizeModule,\r\n ElementsModule\r\n ],\r\n declarations: [\r\n BbDialogContainer,\r\n BbDialogOverlay,\r\n BbDialogModal,\r\n BbDialogHeader,\r\n BbDialogLink,\r\n BbDialogActions,\r\n BbDialogConfirm,\r\n BbDialogInsertion\r\n ],\r\n entryComponents: [\r\n BbDialogContainer,\r\n BbDialogConfirm\r\n ],\r\n exports: [\r\n BbDialogOverlay,\r\n BbDialogModal,\r\n BbDialogHeader,\r\n BbDialogLink,\r\n BbDialogActions\r\n ]\r\n})\r\nexport class DialogModule {\r\n\r\n static forRoot(): ModuleWithProviders<DialogModule> {\r\n return {\r\n ngModule: DialogModule,\r\n providers: [Dialog]\r\n };\r\n }\r\n\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-dialog.js","sources":["../../../projects/bb-foundation/dialog/src/lib/dialog.ref.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.interfaces.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-overlay/dialog-overlay.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-modal/dialog-modal.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-header/dialog-header.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-link/dialog-link.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-actions/dialog-actions.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.insertion.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-container/dialog-container.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.ts","../../../projects/bb-foundation/dialog/src/lib/dialog-confirm/dialog-confirm.component.html","../../../projects/bb-foundation/dialog/src/lib/dialog.injector.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.service.ts","../../../projects/bb-foundation/dialog/src/lib/dialog.module.ts","../../../projects/bb-foundation/dialog/src/bravobit-bb-foundation-dialog.ts"],"sourcesContent":["import {take} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nexport class BbDialogRef<T = any> {\n\n // Data.\n private readonly _afterClosed$ = new Subject<T>();\n private readonly _overlayClicked$ = new Subject<void>();\n\n get afterClosed() {\n return this._afterClosed$.pipe(\n take(1)\n );\n }\n\n get overlayClicked() {\n return this._overlayClicked$.pipe(\n take(1)\n );\n }\n\n onOverlayClicked() {\n this._overlayClicked$.next();\n }\n\n close(result?: T) {\n this._afterClosed$.next(result);\n }\n\n}\n","export class BbDialogConfig<T = any> {\n data?: T;\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {animate, AnimationEvent, group, query, style, transition, trigger} from '@angular/animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {switchMap, take} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-dialog-overlay',\n templateUrl: './dialog-overlay.component.html',\n styleUrls: ['./dialog-overlay.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-overlay', '[@bbDialogAnimation]': 'state'},\n animations: [\n trigger('bbDialogAnimation', [\n transition('* => none', []),\n transition(':enter, * => open', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n style({opacity: 0}),\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 1}))\n ]),\n query('.bb-dialog-modal', [\n style({transform: 'scale(0.95)'}),\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({transform: 'scale(1)'}))\n ])\n ])\n ]),\n transition(':leave, * => close', [\n group([\n query('.bb-dialog-overlay-backdrop', [\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0}))\n ]),\n query('.bb-dialog-modal', [\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({opacity: 0, transform: 'scale(0.95)'}))\n ])\n ])\n ])\n ])\n ]\n})\nexport class BbDialogOverlay implements AfterViewInit, OnDestroy {\n\n // Inputs.\n @Input() animations: boolean = true;\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n // State.\n private _state: 'open' | 'close' = 'open';\n private _closed$ = new Subject<void>();\n\n // Subscriptions.\n private _subscription: Subscription;\n\n get state() {\n return this.animations\n ? this._state\n : 'none';\n }\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.listenForClicks();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n @HostListener('window:keyup', ['$event'])\n onKeyEvent(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.closeRequested.emit();\n }\n }\n\n @HostListener('@bbDialogAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (!['close', 'none'].includes(event.toState)) {\n return;\n }\n\n this._closed$.next();\n this._closed$.complete();\n }\n\n close() {\n // We need change detection to run\n // here else it won't close in all scenario's.\n this._state = 'close';\n this._changeDetection.markForCheck();\n\n // Listen for the closed trigger.\n return this._closed$.pipe(take(1)).toPromise();\n }\n\n private listenForClicks() {\n if (!this._elementRef || !this._elementRef.nativeElement) {\n return;\n }\n\n const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');\n const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');\n const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n this._subscription = start$.pipe(\n switchMap(() => end$)\n ).subscribe(() => {\n this.closeRequested.next();\n });\n }\n\n}\n","<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n Input,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport {Patch} from '@bravobit/bb-foundation';\n\n@Component({\n selector: '[bb-dialog-modal]',\n templateUrl: './dialog-modal.component.html',\n styleUrls: ['./dialog-modal.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dialog-modal',\n 'role': 'dialog'\n }\n})\nexport class BbDialogModal implements OnInit {\n\n // Styling.\n @HostBinding('style.max-width') @Input() maxWidth: string | null = '420px';\n\n @HostListener('click', ['$event'])\n @HostListener('touchstart', ['$event'])\n @HostListener('touchend', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('mousedown', ['$event'])\n onOverlayClickedEvent(event: MouseEvent) {\n event.stopPropagation();\n }\n\n constructor(private _patch: Patch) {\n }\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n }\n\n}\n","<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","import {ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-header]',\n templateUrl: './dialog-header.component.html',\n styleUrls: ['./dialog-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-header'}\n})\nexport class BbDialogHeader {\n\n // Inputs.\n @Input() iconName: string | null = null;\n @Input() iconColor: string = 'black';\n\n // Outputs.\n @Output() closeRequested = new EventEmitter<void>();\n\n}\n","<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","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-link]',\n templateUrl: './dialog-link.component.html',\n styleUrls: ['./dialog-link.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-link'}\n})\nexport class BbDialogLink {\n}\n","<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dialog-actions]',\n templateUrl: './dialog-actions.component.html',\n styleUrls: ['./dialog-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-actions'}\n})\nexport class BbDialogActions {\n}\n","<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n","import {Directive, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbDialogInsertion]'\n})\nexport class BbDialogInsertion {\n\n constructor(public viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n ElementRef,\n HostListener,\n Type,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {animate, AnimationEvent, group, query, style, transition, trigger} from '@angular/animations';\nimport {fromEvent, race, Subject, Subscription} from 'rxjs';\nimport {BbDialogInsertion} from '../dialog.insertion';\nimport {switchMap, take} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-dialog-container',\n templateUrl: './dialog-container.component.html',\n styleUrls: ['./dialog-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dialog-container', '[@bbDialogAnimation]': 'true'},\n preserveWhitespaces: false,\n animations: [\n trigger('bbDialogAnimation', [\n transition(':enter', [\n group([\n query('.bb-dialog-container-backdrop', [\n style({\n opacity: 0\n }),\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 1\n }))\n ]),\n query('.bb-dialog-container-component', [\n style({\n transform: 'scale(0.95)'\n }),\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\n transform: 'scale(1)'\n }))\n ])\n ])\n ]),\n transition(':leave', [\n group([\n query('.bb-dialog-container-backdrop', [\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0\n }))\n ]),\n query('.bb-dialog-container-component', [\n animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({\n opacity: 0,\n transform: 'scale(0.95)'\n }))\n ])\n ])\n ])\n ])\n ]\n})\nexport class BbDialogContainer implements AfterViewInit {\n\n // Views.\n @ViewChild(BbDialogInsertion, {static: true}) insertion: BbDialogInsertion;\n\n // Data.\n componentRef: ComponentRef<any> | null = null;\n childComponentType: Type<any> | null = null;\n\n // State.\n overlayClicked$ = new Subject<void>();\n\n // Subscription.\n private _subscription: Subscription;\n\n get onOverlayClicked() {\n return this.overlayClicked$.pipe(\n take(1)\n );\n }\n\n constructor(private _elementRef: ElementRef,\n private _changeDetection: ChangeDetectorRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n ngAfterViewInit() {\n // Load the child component.\n this.loadChildComponent(this.childComponentType);\n\n // Listen for mouse click on the dialog container.\n this.listenForClicks();\n\n // Detect changes to notify change detection.\n this._changeDetection.detectChanges();\n }\n\n ngOnDestroy() {\n this._subscription && this._subscription.unsubscribe();\n }\n\n @HostListener('@bbDialogAnimation.done', ['$event'])\n onAnimationDone(event: AnimationEvent) {\n // Check if the dialog is being destroyed.\n if (event.toState !== 'void') {\n return;\n }\n\n // Destroy the ref if it exists.\n this.componentRef && this.componentRef.destroy();\n }\n\n private listenForClicks() {\n if (!this._elementRef || !this._elementRef.nativeElement) {\n return;\n }\n\n const mouseDown$ = fromEvent(this._elementRef.nativeElement, 'mousedown');\n const touchStart$ = fromEvent(this._elementRef.nativeElement, 'touchstart');\n const start$ = race([mouseDown$, touchStart$]);\n\n const mouseUp$ = fromEvent(this._elementRef.nativeElement, 'mouseup');\n const touchEnd$ = fromEvent(this._elementRef.nativeElement, 'touchend');\n const end$ = race([mouseUp$, touchEnd$]);\n\n this._subscription = start$.pipe(\n switchMap(() => end$)\n ).subscribe(() => {\n this.overlayClicked$.next();\n });\n }\n\n private loadChildComponent(componentType: Type<any>) {\n // Resolve the component.\n const componentFactory = this._componentFactoryResolver.resolveComponentFactory(componentType);\n\n // Get the view container ref and clear it.\n const viewContainerRef = this.insertion.viewContainerRef;\n viewContainerRef.clear();\n\n // Create an instance of the component.\n this.componentRef = viewContainerRef.createComponent(componentFactory);\n }\n\n}\n","<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","import {AfterViewInit, ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {BbButton} from '@bravobit/bb-foundation/elements';\nimport {BbDialogConfig} from '../dialog.interfaces';\nimport {BbDialogRef} from '../dialog.ref';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'bb-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-dialog-confirm'}\n})\nexport class BbDialogConfirm implements AfterViewInit {\n\n // Views.\n @ViewChild('confirm', { read: BbButton }) confirmButton: BbButton;\n\n // Id.\n dialogId = `bb-dialog-confirm-${nextUniqueId++}`;\n\n constructor(public config: BbDialogConfig,\n public dialogRef: BbDialogRef<boolean>) {\n }\n\n ngAfterViewInit() {\n // Initial focus the button.\n this.confirmButton.focus();\n }\n\n onClose(result: boolean) {\n this.dialogRef.close(result);\n }\n}\n","<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","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class BbDialogInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable, Injector, Type} from '@angular/core';\nimport {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogInjector} from './dialog.injector';\nimport {BbDialogConfig} from './dialog.interfaces';\nimport {BbDialogRef} from './dialog.ref';\n\n@Injectable()\nexport class Dialog {\n\n constructor(private _injector: Injector,\n private _applicationRef: ApplicationRef,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n }\n\n open<T = any>(componentType: Type<any>, config: BbDialogConfig) {\n return this.createDialog<T>(componentType, config);\n }\n\n confirm(title: string, description: string, options: { cancelButtonText?: string, confirmButtonText?: string } = {}) {\n return this.open<boolean>(BbDialogConfirm, {\n data: {\n title,\n description,\n cancelButtonText: options.cancelButtonText || 'dialog.default_cancel_button',\n confirmButtonText: options.confirmButtonText || 'dialog.default_confirm_button'\n }\n });\n }\n\n private createDialog<T = any>(componentType: Type<any>, config: BbDialogConfig) {\n // Create a reference.\n const dialogRef = new BbDialogRef<T>();\n\n // Create a map with the config.\n const map = new WeakMap();\n map.set(BbDialogConfig, config);\n map.set(BbDialogRef, dialogRef);\n\n // Create a custom injector.\n const dialogInjector = new BbDialogInjector(this._injector, map);\n\n // Resolve the dialog component reference.\n const dialogComponentRef = this._componentFactoryResolver\n .resolveComponentFactory(BbDialogContainer)\n .create(dialogInjector);\n\n // Attach the host view to the application.\n this._applicationRef.attachView(dialogComponentRef.hostView);\n\n try {\n // Remove the current focus.\n const activeElement = document.activeElement as HTMLElement;\n activeElement.blur();\n\n // Append the element to the DOM.\n document.body.appendChild(dialogComponentRef.location.nativeElement);\n } catch {\n // Don't do anything, because it must've failed.\n }\n\n // Set the child component type on the component.\n dialogComponentRef.instance.childComponentType = componentType;\n dialogComponentRef.instance.onOverlayClicked.subscribe(() => dialogRef.onOverlayClicked());\n\n // Listen for close events.\n dialogRef.afterClosed.subscribe(() => this.deleteDialog(dialogComponentRef));\n\n // Return the reference.\n return dialogRef;\n }\n\n private deleteDialog(dialogComponentRef: ComponentRef<BbDialogContainer>) {\n // Only continue if the dialog component ref exists.\n if (!dialogComponentRef) {\n return;\n }\n\n // Detach the dialog.\n this._applicationRef.detachView(dialogComponentRef.hostView);\n\n // Destroy the dialog.\n dialogComponentRef.destroy();\n dialogComponentRef = null;\n }\n\n}\n","import {BbDialogContainer} from './dialog-container/dialog-container.component';\nimport {BbDialogConfirm} from './dialog-confirm/dialog-confirm.component';\nimport {BbDialogActions} from './dialog-actions/dialog-actions.component';\nimport {BbDialogOverlay} from './dialog-overlay/dialog-overlay.component';\nimport {BbDialogHeader} from './dialog-header/dialog-header.component';\nimport {BbDialogModal} from './dialog-modal/dialog-modal.component';\nimport {BbDialogLink} from './dialog-link/dialog-link.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbDialogInsertion} from './dialog.insertion';\nimport {CommonModule} from '@angular/common';\nimport {Dialog} from './dialog.service';\n\n@NgModule({\n imports: [\n CommonModule,\n LocalizeModule,\n ElementsModule\n ],\n declarations: [\n BbDialogContainer,\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions,\n BbDialogConfirm,\n BbDialogInsertion\n ],\n entryComponents: [\n BbDialogContainer,\n BbDialogConfirm\n ],\n exports: [\n BbDialogOverlay,\n BbDialogModal,\n BbDialogHeader,\n BbDialogLink,\n BbDialogActions\n ]\n})\nexport class DialogModule {\n\n static forRoot(): ModuleWithProviders<DialogModule> {\n return {\n ngModule: DialogModule,\n providers: [Dialog]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}