@bravobit/bb-foundation 0.20.1 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/auth/{bravobit-bb-foundation-auth.d.ts → index.d.ts} +0 -0
  2. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  3. package/auth/lib/directives/permission.directive.d.ts +1 -1
  4. package/auth/lib/directives/role.directive.d.ts +1 -1
  5. package/collections/{bravobit-bb-foundation-collections.d.ts → index.d.ts} +0 -0
  6. package/collections/lib/collection.d.ts +6 -6
  7. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +1 -1
  8. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +1 -1
  9. package/collections/lib/components/collections.directive.d.ts +4 -4
  10. package/collections/lib/providers/api-collection.provider.d.ts +3 -3
  11. package/controls/{bravobit-bb-foundation-controls.d.ts → index.d.ts} +0 -0
  12. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +10 -10
  13. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +9 -5
  14. package/dashboard/{bravobit-bb-foundation-dashboard.d.ts → index.d.ts} +0 -0
  15. package/dashboard/lib/dashboard/dashboard.component.d.ts +1 -1
  16. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +1 -1
  17. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  18. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +1 -1
  19. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +1 -1
  20. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +1 -1
  21. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +1 -1
  22. package/dialog/{bravobit-bb-foundation-dialog.d.ts → index.d.ts} +0 -0
  23. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +1 -1
  24. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +1 -1
  25. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -1
  26. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -1
  27. package/dialog/lib/dialog-link/dialog-link.component.d.ts +1 -1
  28. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  29. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -1
  30. package/dialog/lib/dialog.insertion.d.ts +1 -1
  31. package/elements/{bravobit-bb-foundation-elements.d.ts → index.d.ts} +0 -0
  32. package/elements/lib/avatar/avatar.component.d.ts +1 -1
  33. package/elements/lib/button/button.component.d.ts +2 -2
  34. package/elements/lib/checkbox/checkbox.component.d.ts +1 -1
  35. package/elements/lib/date-picker/date-picker.component.d.ts +2 -2
  36. package/elements/lib/directives/addon.directive.d.ts +2 -2
  37. package/elements/lib/directives/autosize.directive.d.ts +1 -1
  38. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  39. package/elements/lib/directives/focus.directive.d.ts +1 -1
  40. package/elements/lib/directives/form-submit.directive.d.ts +1 -1
  41. package/elements/lib/directives/input.directive.d.ts +2 -2
  42. package/elements/lib/directives/template.directive.d.ts +1 -1
  43. package/elements/lib/dropdown/dropdown.component.d.ts +2 -2
  44. package/elements/lib/file-picker/file-picker.component.d.ts +2 -2
  45. package/elements/lib/form-control/form-control.component.d.ts +1 -1
  46. package/elements/lib/form-error/form-error.component.d.ts +1 -1
  47. package/elements/lib/form-group/form-group.component.d.ts +1 -1
  48. package/elements/lib/icon/icon.component.d.ts +1 -1
  49. package/elements/lib/image-picker/image-picker.component.d.ts +1 -1
  50. package/elements/lib/pipes/file-image.pipe.d.ts +1 -1
  51. package/elements/lib/pipes/file-size.pipe.d.ts +1 -1
  52. package/elements/lib/pipes/relative-time.pipe.d.ts +1 -1
  53. package/elements/lib/spinner/spinner.component.d.ts +1 -1
  54. package/elements/lib/tag/tag.component.d.ts +1 -1
  55. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  56. package/esm2020/auth/lib/auth.module.mjs +6 -6
  57. package/esm2020/auth/lib/auth.service.mjs +5 -5
  58. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  59. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  60. package/esm2020/auth/lib/directives/role.directive.mjs +3 -3
  61. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  62. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  63. package/esm2020/auth/lib/helpers/mapper.helper.mjs +3 -3
  64. package/esm2020/auth/lib/permissions.service.mjs +3 -3
  65. package/esm2020/collections/lib/collection.mjs +5 -5
  66. package/esm2020/collections/lib/collections.module.mjs +5 -5
  67. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  68. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  69. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  70. package/esm2020/collections/lib/providers/api-collection.provider.mjs +6 -6
  71. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +6 -6
  72. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +19 -6
  73. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +5 -5
  74. package/esm2020/controls/lib/controls.module.mjs +5 -5
  75. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  76. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  77. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  78. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  79. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  80. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +5 -5
  81. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  82. package/esm2020/dashboard/lib/dashboard.module.mjs +5 -5
  83. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  84. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +8 -8
  85. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +4 -4
  86. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  87. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  88. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  89. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  90. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  91. package/esm2020/dialog/lib/dialog.module.mjs +7 -9
  92. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  93. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  94. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  95. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +5 -5
  96. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +12 -12
  97. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  98. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  99. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +3 -3
  100. package/esm2020/elements/lib/directives/focus.directive.mjs +3 -3
  101. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  102. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  103. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  104. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +7 -7
  105. package/esm2020/elements/lib/elements.module.mjs +5 -5
  106. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +10 -10
  107. package/esm2020/elements/lib/form-control/form-control.component.mjs +6 -6
  108. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  109. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  110. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  111. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +5 -5
  112. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  113. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  114. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  115. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  116. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  117. package/esm2020/http/lib/http.module.mjs +5 -5
  118. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  119. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  120. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  121. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  122. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  123. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  124. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  125. package/esm2020/lib/core/services/network.service.mjs +3 -3
  126. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  127. package/esm2020/lib/core/services/platform.service.mjs +3 -3
  128. package/esm2020/localize/lib/localize.module.mjs +5 -5
  129. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  130. package/esm2020/localize/lib/localize.service.mjs +9 -7
  131. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  132. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  133. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  134. package/esm2020/masking/bravobit-bb-foundation-masking.mjs +5 -0
  135. package/esm2020/masking/lib/input-mask.directive.mjs +110 -0
  136. package/esm2020/masking/lib/input-mask.interface.mjs +2 -0
  137. package/esm2020/masking/lib/masking.module.mjs +16 -0
  138. package/esm2020/masking/lib/masking.service.mjs +94 -0
  139. package/esm2020/masking/public_api.mjs +5 -0
  140. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  141. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +6 -6
  142. package/esm2020/notifications/lib/notifications.module.mjs +5 -5
  143. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  144. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  145. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  146. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  147. package/esm2020/storage/lib/storage.service.mjs +8 -8
  148. package/esm2020/table/lib/components/table/table.component.mjs +15 -15
  149. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  150. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +4 -4
  151. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +6 -6
  152. package/esm2020/table/lib/table.module.mjs +5 -5
  153. package/esm2020/theming/bravobit-bb-foundation-theming.mjs +5 -0
  154. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +2 -0
  155. package/esm2020/theming/lib/themes/checkbox.theme.mjs +2 -0
  156. package/esm2020/theming/lib/theming.interface.mjs +3 -0
  157. package/esm2020/theming/lib/theming.module.mjs +38 -0
  158. package/esm2020/theming/lib/theming.service.mjs +100 -0
  159. package/esm2020/theming/public_api.mjs +4 -0
  160. package/fesm2015/bravobit-bb-foundation-auth.mjs +33 -33
  161. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  162. package/fesm2015/bravobit-bb-foundation-collections.mjs +31 -31
  163. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  164. package/fesm2015/bravobit-bb-foundation-controls.mjs +31 -18
  165. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  166. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +26 -26
  167. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  168. package/fesm2015/bravobit-bb-foundation-dialog.mjs +34 -36
  169. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  170. package/fesm2015/bravobit-bb-foundation-elements.mjs +143 -143
  171. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  172. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  173. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  174. package/fesm2015/bravobit-bb-foundation-localize.mjs +26 -24
  175. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  176. package/fesm2015/bravobit-bb-foundation-masking.mjs +235 -0
  177. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -0
  178. package/fesm2015/bravobit-bb-foundation-notifications.mjs +14 -14
  179. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  180. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  181. package/fesm2015/bravobit-bb-foundation-storage.mjs +7 -7
  182. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  183. package/fesm2015/bravobit-bb-foundation-table.mjs +28 -28
  184. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
  185. package/fesm2015/bravobit-bb-foundation-theming.mjs +153 -0
  186. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -0
  187. package/fesm2015/bravobit-bb-foundation.mjs +24 -24
  188. package/fesm2020/bravobit-bb-foundation-auth.mjs +33 -33
  189. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  190. package/fesm2020/bravobit-bb-foundation-collections.mjs +31 -31
  191. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  192. package/fesm2020/bravobit-bb-foundation-controls.mjs +31 -18
  193. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  194. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +26 -26
  195. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  196. package/fesm2020/bravobit-bb-foundation-dialog.mjs +34 -36
  197. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  198. package/fesm2020/bravobit-bb-foundation-elements.mjs +143 -143
  199. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  200. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  201. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  202. package/fesm2020/bravobit-bb-foundation-localize.mjs +24 -22
  203. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  204. package/fesm2020/bravobit-bb-foundation-masking.mjs +223 -0
  205. package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -0
  206. package/fesm2020/bravobit-bb-foundation-notifications.mjs +14 -14
  207. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  208. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  209. package/fesm2020/bravobit-bb-foundation-storage.mjs +7 -7
  210. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  211. package/fesm2020/bravobit-bb-foundation-table.mjs +28 -28
  212. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
  213. package/fesm2020/bravobit-bb-foundation-theming.mjs +143 -0
  214. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -0
  215. package/fesm2020/bravobit-bb-foundation.mjs +24 -24
  216. package/http/{bravobit-bb-foundation-http.d.ts → index.d.ts} +0 -0
  217. package/{bravobit-bb-foundation.d.ts → index.d.ts} +0 -0
  218. package/localize/{bravobit-bb-foundation-localize.d.ts → index.d.ts} +0 -0
  219. package/localize/lib/localize.pipe.d.ts +1 -1
  220. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  221. package/localize/lib/views/localize-template-or-string.directive.d.ts +1 -1
  222. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  223. package/masking/index.d.ts +5 -0
  224. package/masking/lib/input-mask.directive.d.ts +36 -0
  225. package/masking/lib/input-mask.interface.d.ts +20 -0
  226. package/masking/lib/masking.module.d.ts +7 -0
  227. package/masking/lib/masking.service.d.ts +12 -0
  228. package/masking/public_api.d.ts +4 -0
  229. package/notifications/{bravobit-bb-foundation-notifications.d.ts → index.d.ts} +0 -0
  230. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  231. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -1
  232. package/package.json +36 -19
  233. package/recaptcha/{bravobit-bb-foundation-recaptcha.d.ts → index.d.ts} +0 -0
  234. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +1 -1
  235. package/rxjs/{bravobit-bb-foundation-rxjs.d.ts → index.d.ts} +0 -0
  236. package/storage/{bravobit-bb-foundation-storage.d.ts → index.d.ts} +0 -0
  237. package/table/{bravobit-bb-foundation-table.d.ts → index.d.ts} +0 -0
  238. package/table/lib/components/table/table.component.d.ts +7 -7
  239. package/table/lib/components/table-cell/table-cell.component.d.ts +1 -1
  240. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +1 -1
  241. package/table/lib/components/table-pager/table-pager.component.d.ts +1 -1
  242. package/theming/index.d.ts +5 -0
  243. package/theming/lib/themes/checkbox-group.theme.d.ts +5 -0
  244. package/theming/lib/themes/checkbox.theme.d.ts +19 -0
  245. package/theming/lib/theming.interface.d.ts +14 -0
  246. package/theming/lib/theming.module.d.ts +13 -0
  247. package/theming/lib/theming.service.d.ts +24 -0
  248. package/theming/public_api.d.ts +3 -0
  249. package/auth/package.json +0 -10
  250. package/collections/package.json +0 -10
  251. package/controls/package.json +0 -10
  252. package/dashboard/package.json +0 -10
  253. package/dialog/package.json +0 -10
  254. package/elements/package.json +0 -10
  255. package/http/package.json +0 -10
  256. package/localize/package.json +0 -10
  257. package/notifications/package.json +0 -10
  258. package/recaptcha/package.json +0 -10
  259. package/rxjs/package.json +0 -10
  260. package/storage/package.json +0 -10
  261. package/table/package.json +0 -10
@@ -6,7 +6,7 @@ import { trigger, transition, group, query, style, animate } from '@angular/anim
6
6
  import * as i1 from '@bravobit/bb-foundation';
7
7
  import * as i1$1 from '@angular/common';
8
8
  import { CommonModule } from '@angular/common';
9
- import * as i6 from '@bravobit/bb-foundation/elements';
9
+ import * as i4 from '@bravobit/bb-foundation/elements';
10
10
  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';
@@ -94,8 +94,8 @@ class BbDialogOverlay {
94
94
  });
95
95
  }
96
96
  }
97
- BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
- BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogOverlay, selector: "bb-dialog-overlay", inputs: { animations: "animations" }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\r\n\r\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\r\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [
97
+ BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
98
+ BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogOverlay, selector: "bb-dialog-overlay", inputs: { animations: "animations" }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\r\n\r\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\r\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{background-color:#00000080}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [
99
99
  trigger('bbDialogAnimation', [
100
100
  transition('* => none', []),
101
101
  transition(':enter, * => open', [
@@ -122,7 +122,7 @@ BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
122
122
  ])
123
123
  ])
124
124
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogOverlay, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogOverlay, decorators: [{
126
126
  type: Component,
127
127
  args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-overlay', '[@bbDialogAnimation]': 'state' }, animations: [
128
128
  trigger('bbDialogAnimation', [
@@ -176,9 +176,9 @@ class BbDialogModal {
176
176
  this._patch.mobileVerticalHeight();
177
177
  }
178
178
  }
179
- BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }], target: i0.ɵɵFactoryTarget.Component });
180
- BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\r\n\r\n</ng-content>\r\n\r\n<div class=\"bb-dialog-modal-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-content select=\"[bb-dialog-actions]\">\r\n\r\n</ng-content>\r\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogModal, decorators: [{
179
+ BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }], target: i0.ɵɵFactoryTarget.Component });
180
+ BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\r\n\r\n</ng-content>\r\n\r\n<div class=\"bb-dialog-modal-body\">\r\n <ng-content></ng-content>\r\n</div>\r\n\r\n<ng-content select=\"[bb-dialog-actions]\">\r\n\r\n</ng-content>\r\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;max-height:calc(var(--vh, 1vh) * 100 - 40px)}.bb-dialog-modal-body{padding:20px;color:#738694;font-size:13px;overflow-y:auto;line-height:1.4;background-color:#f1f3f6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogModal, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
184
184
  'class': 'bb-dialog-modal',
@@ -215,9 +215,9 @@ class BbDialogHeader {
215
215
  this.closeRequested = new EventEmitter();
216
216
  }
217
217
  }
218
- BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
219
- BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: { iconName: "iconName", iconColor: "iconColor" }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\r\n <div *ngIf=\"iconName as icon\"\r\n [style.color]=\"iconColor\"\r\n class=\"bb-dialog-header-icon\">\r\n <i class=\"material-icons\">{{ icon }}</i>\r\n </div>\r\n\r\n <div class=\"bb-dialog-header-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <button *ngIf=\"closeRequested?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], directives: [{ type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogHeader, decorators: [{
218
+ BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
219
+ BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: { iconName: "iconName", iconColor: "iconColor" }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\r\n <div *ngIf=\"iconName as icon\"\r\n [style.color]=\"iconColor\"\r\n class=\"bb-dialog-header-icon\">\r\n <i class=\"material-icons\">{{ icon }}</i>\r\n </div>\r\n\r\n <div class=\"bb-dialog-header-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <button *ngIf=\"closeRequested?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogHeader, decorators: [{
221
221
  type: Component,
222
222
  args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-header' }, template: "<div class=\"bb-dialog-header-row\">\r\n <div *ngIf=\"iconName as icon\"\r\n [style.color]=\"iconColor\"\r\n class=\"bb-dialog-header-icon\">\r\n <i class=\"material-icons\">{{ icon }}</i>\r\n </div>\r\n\r\n <div class=\"bb-dialog-header-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <button *ngIf=\"closeRequested?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-icon{width:40px;height:40px;display:flex;min-width:40px;overflow:hidden;min-height:40px;margin-right:10px;border-radius:50%;position:relative;align-items:center;justify-content:center}.bb-dialog-header-icon:after{top:0;left:0;right:0;bottom:0;content:\"\";opacity:.14;position:absolute;background-color:currentColor}.bb-dialog-header-close{width:32px;height:32px;border:none;min-width:32px;min-height:32px;overflow:hidden;margin-left:10px;border-radius:4px;position:relative;margin-right:-10px;display:inline-block;background-color:transparent}.bb-dialog-header-close:before,.bb-dialog-header-close:after{top:50%;left:20%;width:60%;height:2px;content:\"\";margin-top:-1px;position:absolute;background-color:#a2a9ba}.bb-dialog-header-close:before{transform:rotate(45deg)}.bb-dialog-header-close:after{transform:rotate(-45deg)}.bb-dialog-header-close:hover{background-color:#00000014}.bb-dialog-header-close:focus{background-color:#0000001f}.bb-dialog-header-close:active{background-color:#00000029}\n"] }]
223
223
  }], propDecorators: { iconName: [{
@@ -230,18 +230,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
230
230
 
231
231
  class BbDialogLink {
232
232
  }
233
- BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
- BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogLink, decorators: [{
233
+ BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
234
+ BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogLink, decorators: [{
236
236
  type: Component,
237
237
  args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-link' }, template: "<ng-content></ng-content>\r\n", styles: [".bb-dialog-link{height:30px;display:flex;font-size:16px;font-weight:500;white-space:nowrap;align-items:center;color:#6b5c5c!important;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dialog-link+.bb-dialog-link{margin-left:10px}.bb-dialog-link:hover:not(.disabled){border-bottom:2px solid rgba(117,119,148,.2)}.bb-dialog-link.active,.bb-dialog-link.active:hover{color:#5b53ff!important;border-bottom-color:#5b53ff}.bb-dialog-link.disabled,.bb-dialog-link.disabled:focus,.bb-dialog-link.disabled:hover,.bb-dialog-link.disabled:active{opacity:.4;cursor:default;box-shadow:none}\n"] }]
238
238
  }] });
239
239
 
240
240
  class BbDialogActions {
241
241
  }
242
- BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
- BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], components: [{ type: i6.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogActions, decorators: [{
242
+ BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
243
+ BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], dependencies: [{ kind: "component", type: i4.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogActions, decorators: [{
245
245
  type: Component,
246
246
  args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-actions' }, template: "<bb-form-group class=\"end\">\r\n <ng-content></ng-content>\r\n</bb-form-group>\r\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"] }]
247
247
  }] });
@@ -251,9 +251,9 @@ class BbDialogInsertion {
251
251
  this.viewContainerRef = viewContainerRef;
252
252
  }
253
253
  }
254
- BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
255
- BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogInsertion, decorators: [{
254
+ BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
255
+ BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogInsertion, decorators: [{
257
257
  type: Directive,
258
258
  args: [{
259
259
  selector: '[bbDialogInsertion]'
@@ -317,8 +317,8 @@ class BbDialogContainer {
317
317
  this.componentRef = viewContainerRef.createComponent(componentFactory);
318
318
  }
319
319
  }
320
- BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
321
- BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\">\r\n</div>\r\n\r\n<div class=\"bb-dialog-container-component\">\r\n <ng-container bbDialogInsertion>\r\n </ng-container>\r\n</div>\r\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"], directives: [{ type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [
320
+ BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
321
+ BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogAnimation": "true" }, classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-backdrop\">\r\n</div>\r\n\r\n<div class=\"bb-dialog-container-component\">\r\n <ng-container bbDialogInsertion>\r\n </ng-container>\r\n</div>\r\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{background-color:#00000080}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [
322
322
  trigger('bbDialogAnimation', [
323
323
  transition(':enter', [
324
324
  group([
@@ -357,7 +357,7 @@ BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
357
357
  ])
358
358
  ])
359
359
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogContainer, decorators: [{
360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogContainer, decorators: [{
361
361
  type: Component,
362
362
  args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-container', '[@bbDialogAnimation]': 'true' }, preserveWhitespaces: false, animations: [
363
363
  trigger('bbDialogAnimation', [
@@ -422,9 +422,9 @@ class BbDialogConfirm {
422
422
  this.dialogRef.close(result);
423
423
  }
424
424
  }
425
- BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
426
- BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\r\n bb-dialog-modal\r\n bbFocusTrap>\r\n <header bb-dialog-header>\r\n <h1 *ngIf=\"config?.data?.title as title\"\r\n [id]=\"dialogId\">\r\n {{ title | bbLocalize:{optional: true} }}\r\n </h1>\r\n </header>\r\n\r\n <p>\r\n {{ config?.data?.description | bbLocalize:{optional: true} }}\r\n </p>\r\n\r\n <footer bb-dialog-actions>\r\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\r\n (click)=\"onClose(false)\"\r\n bb-button\r\n type=\"button\">\r\n {{ cancelButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n <button #confirm\r\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\r\n (click)=\"onClose(true)\"\r\n bb-button\r\n type=\"button\"\r\n class=\"destructive\">\r\n {{ confirmButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n </footer>\r\n</div>\r\n", styles: [".bb-dialog-confirm{display:block}\n"], components: [{ type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["iconName", "iconColor"], outputs: ["closeRequested"] }, { type: BbDialogActions, selector: "[bb-dialog-actions]" }, { type: i6.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }], directives: [{ type: i6.BbFocusTrap, selector: "[bbFocusTrap]" }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "bbLocalize": i8.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDialogConfirm, decorators: [{
425
+ BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
426
+ BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\r\n bb-dialog-modal\r\n bbFocusTrap>\r\n <header bb-dialog-header>\r\n <h1 *ngIf=\"config?.data?.title as title\"\r\n [id]=\"dialogId\">\r\n {{ title | bbLocalize:{optional: true} }}\r\n </h1>\r\n </header>\r\n\r\n <p>\r\n {{ config?.data?.description | bbLocalize:{optional: true} }}\r\n </p>\r\n\r\n <footer bb-dialog-actions>\r\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\r\n (click)=\"onClose(false)\"\r\n bb-button\r\n type=\"button\">\r\n {{ cancelButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n <button #confirm\r\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\r\n (click)=\"onClose(true)\"\r\n bb-button\r\n type=\"button\"\r\n class=\"destructive\">\r\n {{ confirmButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n </footer>\r\n</div>\r\n", styles: [".bb-dialog-confirm{display:block}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "component", type: i4.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["iconName", "iconColor"], outputs: ["closeRequested"] }, { kind: "component", type: BbDialogActions, selector: "[bb-dialog-actions]" }, { kind: "pipe", type: i8.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
427
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDialogConfirm, decorators: [{
428
428
  type: Component,
429
429
  args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\r\n bb-dialog-modal\r\n bbFocusTrap>\r\n <header bb-dialog-header>\r\n <h1 *ngIf=\"config?.data?.title as title\"\r\n [id]=\"dialogId\">\r\n {{ title | bbLocalize:{optional: true} }}\r\n </h1>\r\n </header>\r\n\r\n <p>\r\n {{ config?.data?.description | bbLocalize:{optional: true} }}\r\n </p>\r\n\r\n <footer bb-dialog-actions>\r\n <button *ngIf=\"config?.data?.cancelButtonText as cancelButtonText\"\r\n (click)=\"onClose(false)\"\r\n bb-button\r\n type=\"button\">\r\n {{ cancelButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n <button #confirm\r\n *ngIf=\"config?.data?.confirmButtonText as confirmButtonText\"\r\n (click)=\"onClose(true)\"\r\n bb-button\r\n type=\"button\"\r\n class=\"destructive\">\r\n {{ confirmButtonText | bbLocalize:{optional: true} }}\r\n </button>\r\n </footer>\r\n</div>\r\n", styles: [".bb-dialog-confirm{display:block}\n"] }]
430
430
  }], ctorParameters: function () { return [{ type: BbDialogConfig }, { type: BbDialogRef }]; }, propDecorators: { confirmButton: [{
@@ -514,9 +514,9 @@ class Dialog {
514
514
  dialogComponentRef = null;
515
515
  }
516
516
  }
517
- Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
518
- Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog });
519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Dialog, decorators: [{
517
+ Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
518
+ Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Dialog });
519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: Dialog, decorators: [{
520
520
  type: Injectable
521
521
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.ComponentFactoryResolver }]; } });
522
522
 
@@ -528,8 +528,8 @@ class DialogModule {
528
528
  };
529
529
  }
530
530
  }
531
- DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
532
- DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
531
+ DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
532
+ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
533
533
  BbDialogOverlay,
534
534
  BbDialogModal,
535
535
  BbDialogHeader,
@@ -543,12 +543,10 @@ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
543
543
  BbDialogHeader,
544
544
  BbDialogLink,
545
545
  BbDialogActions] });
546
- DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, imports: [[
547
- CommonModule,
548
- LocalizeModule,
549
- ElementsModule
550
- ]] });
551
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: DialogModule, decorators: [{
546
+ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DialogModule, imports: [CommonModule,
547
+ LocalizeModule,
548
+ ElementsModule] });
549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: DialogModule, decorators: [{
552
550
  type: NgModule,
553
551
  args: [{
554
552
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-dialog.mjs","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, lastValueFrom, 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 const observable$ = this._closed$.pipe(take(1));\r\n return lastValueFrom(observable$);\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?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n","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 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":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3.BbDialogModal","i4.BbDialogHeader","i5.BbDialogActions","i7"],"mappings":";;;;;;;;;;;;;MAGa,WAAW,CAAA;AAAxB,IAAA,WAAA,GAAA;;AAGqB,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAK,CAAC;AACjC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAQ,CAAC;KAsB3D;AApBG,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC1B,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;KACL;AAED,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC7B,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;KACL;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAChC;AAED,IAAA,KAAK,CAAC,MAAU,EAAA;AACZ,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;AAEJ;;MC7BY,cAAc,CAAA;AAE1B;;MCmDY,eAAe,CAAA;IAqBxB,WAAoB,CAAA,WAAuB,EACvB,gBAAmC,EAAA;QADnC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;;QAnB9C,IAAU,CAAA,UAAA,GAAY,IAAI,CAAC;;AAG1B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;;QAG5C,IAAM,CAAA,MAAA,GAAqB,MAAM,CAAC;AAClC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAatC;AARD,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,UAAU;cAChB,IAAI,CAAC,MAAM;cACX,MAAM,CAAC;KAChB;IAMD,eAAe,GAAA;QACX,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;KACrC;AAGD,IAAA,UAAU,CAAC,KAAoB,EAAA;AAC3B,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC9B,SAAA;KACJ;AAGD,IAAA,eAAe,CAAC,KAAqB,EAAA;;AAEjC,QAAA,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC5C,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC5B;IAED,KAAK,GAAA;;;AAGD,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;;AAGrC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,QAAA,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;KACrC;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACtD,OAAO;AACV,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAC1E,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACtE,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,CACxB,CAAC,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC/B,SAAC,CAAC,CAAC;KACN;;4GAhFQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrD5B,oHAGA,EDsBgB,MAAA,EAAA,CAAA,iTAAA,CAAA,EAAA,UAAA,EAAA;QACR,OAAO,CAAC,mBAAmB,EAAE;AACzB,YAAA,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,UAAU,CAAC,mBAAmB,EAAE;AAC5B,gBAAA,KAAK,CAAC;oBACF,KAAK,CAAC,6BAA6B,EAAE;AACjC,wBAAA,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;wBACnB,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;qBACnE,CAAC;oBACF,KAAK,CAAC,kBAAkB,EAAE;AACtB,wBAAA,KAAK,CAAC,EAAC,SAAS,EAAE,aAAa,EAAC,CAAC;wBACjC,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBAC9E,CAAC;iBACL,CAAC;aACL,CAAC;YACF,UAAU,CAAC,oBAAoB,EAAE;AAC7B,gBAAA,KAAK,CAAC;oBACF,KAAK,CAAC,6BAA6B,EAAE;wBACjC,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;qBACnE,CAAC;oBACF,KAAK,CAAC,kBAAkB,EAAE;AACtB,wBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC,CAAC;qBAC7F,CAAC;iBACL,CAAC;aACL,CAAC;SACL,CAAC;AACL,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAEQ,eAAe,EAAA,UAAA,EAAA,CAAA;kBApC3B,SAAS;+BACI,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAChB,mBAAA,EAAA,KAAK,QACpB,EAAC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,OAAO,EAAC,EACzD,UAAA,EAAA;wBACR,OAAO,CAAC,mBAAmB,EAAE;AACzB,4BAAA,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;4BAC3B,UAAU,CAAC,mBAAmB,EAAE;AAC5B,gCAAA,KAAK,CAAC;oCACF,KAAK,CAAC,6BAA6B,EAAE;AACjC,wCAAA,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC;wCACnB,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;qCACnE,CAAC;oCACF,KAAK,CAAC,kBAAkB,EAAE;AACtB,wCAAA,KAAK,CAAC,EAAC,SAAS,EAAE,aAAa,EAAC,CAAC;wCACjC,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qCAC9E,CAAC;iCACL,CAAC;6BACL,CAAC;4BACF,UAAU,CAAC,oBAAoB,EAAE;AAC7B,gCAAA,KAAK,CAAC;oCACF,KAAK,CAAC,6BAA6B,EAAE;wCACjC,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;qCACnE,CAAC;oCACF,KAAK,CAAC,kBAAkB,EAAE;AACtB,wCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAC,CAAC,CAAC;qCAC7F,CAAC;iCACL,CAAC;6BACL,CAAC;yBACL,CAAC;AACL,qBAAA,EAAA,QAAA,EAAA,oHAAA,EAAA,MAAA,EAAA,CAAA,iTAAA,CAAA,EAAA,CAAA;iIAKQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBA4BP,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAQxC,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MEtE1C,aAAa,CAAA;AActB,IAAA,WAAA,CAAoB,MAAa,EAAA;QAAb,IAAM,CAAA,MAAA,GAAN,MAAM,CAAO;;QAXQ,IAAQ,CAAA,QAAA,GAAkB,OAAO,CAAC;KAY1E;AALD,IAAA,qBAAqB,CAAC,KAAiB,EAAA;QACnC,KAAK,CAAC,eAAe,EAAE,CAAC;KAC3B;IAKD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;KACtC;;0GAnBQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,6cCvB1B,oOAWA,EAAA,MAAA,EAAA,CAAA,4UAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDYa,aAAa,EAAA,UAAA,EAAA,CAAA;kBAZzB,SAAS;+BACI,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAChB,mBAAA,EAAA,KAAK,EACpB,IAAA,EAAA;AACF,wBAAA,OAAO,EAAE,iBAAiB;AAC1B,wBAAA,MAAM,EAAE,QAAQ;AACnB,qBAAA,EAAA,QAAA,EAAA,oOAAA,EAAA,MAAA,EAAA,CAAA,4UAAA,CAAA,EAAA,CAAA;4FAKwC,QAAQ,EAAA,CAAA;sBAAhD,WAAW;uBAAC,iBAAiB,CAAA;;sBAAG,KAAK;gBAOtC,qBAAqB,EAAA,CAAA;sBALpB,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBAChC,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACrC,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBACnC,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;;sBAClC,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MErB5B,cAAc,CAAA;AAT3B,IAAA,WAAA,GAAA;;QAYa,IAAQ,CAAA,QAAA,GAAkB,IAAI,CAAC;QAC/B,IAAS,CAAA,SAAA,GAAW,OAAO,CAAC;;AAG3B,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEvD,KAAA;;2GATY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,iNCX3B,8pBAqBA,EAAA,MAAA,EAAA,CAAA,ytDAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDVa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAT1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAGb,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,mBAAA,EAChB,KAAK,EACpB,IAAA,EAAA,EAAC,OAAO,EAAE,kBAAkB,EAAC,EAAA,QAAA,EAAA,8pBAAA,EAAA,MAAA,EAAA,CAAA,ytDAAA,CAAA,EAAA,CAAA;8BAK1B,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAGI,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;MEPE,YAAY,CAAA;;yGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,oGCXzB,+BACA,EAAA,MAAA,EAAA,CAAA,snBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDUa,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGX,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,mBAAA,EAChB,KAAK,EACpB,IAAA,EAAA,EAAC,OAAO,EAAE,gBAAgB,EAAC,EAAA,QAAA,EAAA,+BAAA,EAAA,MAAA,EAAA,CAAA,snBAAA,CAAA,EAAA,CAAA;;;MEExB,eAAe,CAAA;;4GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,0GCX5B,wFAGA,EAAA,MAAA,EAAA,CAAA,kKAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDQa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAGd,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,mBAAA,EAChB,KAAK,EACpB,IAAA,EAAA,EAAC,OAAO,EAAE,mBAAmB,EAAC,EAAA,QAAA,EAAA,wFAAA,EAAA,MAAA,EAAA,CAAA,kKAAA,CAAA,EAAA,CAAA;;;MEJ3B,iBAAiB,CAAA;AAE1B,IAAA,WAAA,CAAmB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KACpD;;8GAHQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,QAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA,CAAA;;;MC8DY,iBAAiB,CAAA;AAqB1B,IAAA,WAAA,CAAoB,WAAuB,EACvB,gBAAmC,EACnC,yBAAmD,EAAA;QAFnD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;QACnC,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;;QAjBvE,IAAY,CAAA,YAAA,GAA6B,IAAI,CAAC;QAC9C,IAAkB,CAAA,kBAAA,GAAqB,IAAI,CAAC;;AAG5C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAQ,CAAC;KAcrC;AATD,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5B,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;KACL;IAOD,eAAe,GAAA;;AAEX,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;QAGjD,IAAI,CAAC,eAAe,EAAE,CAAC;;AAGvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;KACzC;IAED,WAAW,GAAA;QACP,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;KAC1D;AAGD,IAAA,eAAe,CAAC,KAAqB,EAAA;;AAEjC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC1B,OAAO;AACV,SAAA;;QAGD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;KACpD;IAEO,eAAe,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACtD,OAAO;AACV,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;AAC1E,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAE/C,QAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACtE,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAC5B,SAAS,CAAC,MAAM,IAAI,CAAC,CACxB,CAAC,SAAS,CAAC,MAAK;AACb,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAChC,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,kBAAkB,CAAC,aAAwB,EAAA;;QAE/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;;AAG/F,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACzD,gBAAgB,CAAC,KAAK,EAAE,CAAC;;QAGzB,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;KAC1E;;8GAlFQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAGf,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,iBAAiB,ECrEhC,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0LAOA,EDmBgB,MAAA,EAAA,CAAA,0SAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,UAAA,EAAA;QACR,OAAO,CAAC,mBAAmB,EAAE;YACzB,UAAU,CAAC,QAAQ,EAAE;AACjB,gBAAA,KAAK,CAAC;oBACF,KAAK,CAAC,+BAA+B,EAAE;AACnC,wBAAA,KAAK,CAAC;AACF,4BAAA,OAAO,EAAE,CAAC;yBACb,CAAC;AACF,wBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4BAAA,OAAO,EAAE,CAAC;AACb,yBAAA,CAAC,CAAC;qBACN,CAAC;oBACF,KAAK,CAAC,gCAAgC,EAAE;AACpC,wBAAA,KAAK,CAAC;AACF,4BAAA,SAAS,EAAE,aAAa;yBAC3B,CAAC;AACF,wBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4BAAA,SAAS,EAAE,UAAU;AACxB,yBAAA,CAAC,CAAC;qBACN,CAAC;iBACL,CAAC;aACL,CAAC;YACF,UAAU,CAAC,QAAQ,EAAE;AACjB,gBAAA,KAAK,CAAC;oBACF,KAAK,CAAC,+BAA+B,EAAE;AACnC,wBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4BAAA,OAAO,EAAE,CAAC;AACb,yBAAA,CAAC,CAAC;qBACN,CAAC;oBACF,KAAK,CAAC,gCAAgC,EAAE;AACpC,wBAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,SAAS,EAAE,aAAa;AAC3B,yBAAA,CAAC,CAAC;qBACN,CAAC;iBACL,CAAC;aACL,CAAC;SACL,CAAC;AACL,KAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAEQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhD7B,SAAS;+BACI,qBAAqB,EAAA,eAAA,EAGd,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA,EAAC,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,EAAC,EAAA,mBAAA,EACjD,KAAK,EACd,UAAA,EAAA;wBACR,OAAO,CAAC,mBAAmB,EAAE;4BACzB,UAAU,CAAC,QAAQ,EAAE;AACjB,gCAAA,KAAK,CAAC;oCACF,KAAK,CAAC,+BAA+B,EAAE;AACnC,wCAAA,KAAK,CAAC;AACF,4CAAA,OAAO,EAAE,CAAC;yCACb,CAAC;AACF,wCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4CAAA,OAAO,EAAE,CAAC;AACb,yCAAA,CAAC,CAAC;qCACN,CAAC;oCACF,KAAK,CAAC,gCAAgC,EAAE;AACpC,wCAAA,KAAK,CAAC;AACF,4CAAA,SAAS,EAAE,aAAa;yCAC3B,CAAC;AACF,wCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4CAAA,SAAS,EAAE,UAAU;AACxB,yCAAA,CAAC,CAAC;qCACN,CAAC;iCACL,CAAC;6BACL,CAAC;4BACF,UAAU,CAAC,QAAQ,EAAE;AACjB,gCAAA,KAAK,CAAC;oCACF,KAAK,CAAC,+BAA+B,EAAE;AACnC,wCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4CAAA,OAAO,EAAE,CAAC;AACb,yCAAA,CAAC,CAAC;qCACN,CAAC;oCACF,KAAK,CAAC,gCAAgC,EAAE;AACpC,wCAAA,OAAO,CAAC,kCAAkC,EAAE,KAAK,CAAC;AAC9C,4CAAA,OAAO,EAAE,CAAC;AACV,4CAAA,SAAS,EAAE,aAAa;AAC3B,yCAAA,CAAC,CAAC;qCACN,CAAC;iCACL,CAAC;6BACL,CAAC;yBACL,CAAC;AACL,qBAAA,EAAA,QAAA,EAAA,0LAAA,EAAA,MAAA,EAAA,CAAA,0SAAA,CAAA,EAAA,CAAA;wKAK6C,SAAS,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAA;gBAuC5C,eAAe,EAAA,CAAA;sBADd,YAAY;uBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEtGvD,IAAI,YAAY,GAAG,CAAC,CAAC;MAWR,eAAe,CAAA;IAQxB,WAAmB,CAAA,MAAsB,EACtB,SAA+B,EAAA;QAD/B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;;AAHlD,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAA,kBAAA,EAAqB,YAAY,EAAE,EAAE,CAAC;KAIhD;IAED,eAAe,GAAA;;AAEX,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC9B;AAED,IAAA,OAAO,CAAC,MAAe,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC;;4GAnBQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;gGAAf,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAGM,QAAQ,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnB1C,2kCA+BA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,YAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FDfa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,mBAAA,EAChB,KAAK,EACpB,IAAA,EAAA,EAAC,OAAO,EAAE,mBAAmB,EAAC,EAAA,QAAA,EAAA,2kCAAA,EAAA,MAAA,EAAA,CAAA,qCAAA,CAAA,EAAA,CAAA;yHAKM,aAAa,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;;;MEjB/B,gBAAgB,CAAA;IAEzB,WAAoB,CAAA,eAAyB,EACzB,iBAAoC,EAAA;QADpC,IAAe,CAAA,eAAA,GAAf,eAAe,CAAU;QACzB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KACvD;IAID,GAAG,CAAC,KAAU,EAAE,aAAmB,EAAA;;;QAG/B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;AAGhD,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;;QAGD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KAC9D;AAEJ;;MChBY,MAAM,CAAA;AAEf,IAAA,WAAA,CAAoB,SAAmB,EACnB,eAA+B,EAC/B,yBAAmD,EAAA;QAFnD,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;QACnB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;QAC/B,IAAyB,CAAA,yBAAA,GAAzB,yBAAyB,CAA0B;KACtE;IAED,IAAI,CAAU,aAAwB,EAAE,MAAsB,EAAA;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAI,aAAa,EAAE,MAAM,CAAC,CAAC;KACtD;AAED,IAAA,OAAO,CAAC,KAAa,EAAE,WAAmB,EAAE,UAAqE,EAAE,EAAA;AAC/G,QAAA,OAAO,IAAI,CAAC,IAAI,CAAU,eAAe,EAAE;AACvC,YAAA,IAAI,EAAE;gBACF,KAAK;gBACL,WAAW;AACX,gBAAA,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,8BAA8B;AAC5E,gBAAA,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,+BAA+B;AAClF,aAAA;AACJ,SAAA,CAAC,CAAC;KACN;IAEO,YAAY,CAAU,aAAwB,EAAE,MAAsB,EAAA;;AAE1E,QAAA,MAAM,SAAS,GAAG,IAAI,WAAW,EAAK,CAAC;;AAGvC,QAAA,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,QAAA,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChC,QAAA,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;;QAGhC,MAAM,cAAc,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;AAGjE,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB;aACpD,uBAAuB,CAAC,iBAAiB,CAAC;aAC1C,MAAM,CAAC,cAAc,CAAC,CAAC;;QAG5B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE7D,IAAI;;AAEA,YAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,aAA4B,CAAC;YAC5D,aAAa,CAAC,IAAI,EAAE,CAAC;;YAGrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACxE,SAAA;QAAC,MAAM;;AAEP,SAAA;;AAGD,QAAA,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,GAAG,aAAa,CAAC;AAC/D,QAAA,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;;AAG3F,QAAA,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;;AAG7E,QAAA,OAAO,SAAS,CAAC;KACpB;AAEO,IAAA,YAAY,CAAC,kBAAmD,EAAA;;QAEpE,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO;AACV,SAAA;;QAGD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;;QAG7D,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC7B,kBAAkB,GAAG,IAAI,CAAC;KAC7B;;mGA5EQ,MAAM,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;uGAAN,MAAM,EAAA,CAAA,CAAA;2FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,UAAU;;;MC+BE,YAAY,CAAA;AAErB,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACH,YAAA,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,CAAC,MAAM,CAAC;SACtB,CAAC;KACL;;yGAPQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,iBAjBjB,iBAAiB;QACjB,eAAe;QACf,aAAa;QACb,cAAc;QACd,YAAY;QACZ,eAAe;QACf,eAAe;AACf,QAAA,iBAAiB,aAZjB,YAAY;QACZ,cAAc;AACd,QAAA,cAAc,aAad,eAAe;QACf,aAAa;QACb,cAAc;QACd,YAAY;QACZ,eAAe,CAAA,EAAA,CAAA,CAAA;AAGV,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAvBZ,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,cAAc;YACd,cAAc;AACjB,SAAA,CAAA,EAAA,CAAA,CAAA;2FAmBQ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAxBxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,cAAc;wBACd,cAAc;AACjB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,cAAc;wBACd,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,iBAAiB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,eAAe;wBACf,aAAa;wBACb,cAAc;wBACd,YAAY;wBACZ,eAAe;AAClB,qBAAA;AACJ,iBAAA,CAAA;;;ACrCD;;AAEG;;;;"}
1
+ {"version":3,"file":"bravobit-bb-foundation-dialog.mjs","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, lastValueFrom, 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 const observable$ = this._closed$.pipe(take(1));\r\n return lastValueFrom(observable$);\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?.observed\"\r\n (click)=\"closeRequested?.emit()\"\r\n type=\"button\"\r\n class=\"bb-dialog-header-close\">\r\n </button>\r\n</div>\r\n\r\n<nav class=\"bb-dialog-header-navigation\">\r\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\r\n</nav>\r\n","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 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":["i1","i1.BbDialogInsertion","i1.BbDialogConfig","i2.BbDialogRef","i3","i5.BbDialogModal","i6.BbDialogHeader","i7.BbDialogActions"],"mappings":"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"}