@bravobit/bb-foundation 0.22.3 → 0.22.4

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 (144) hide show
  1. package/elements/lib/date-picker/date-picker.component.d.ts +4 -2
  2. package/elements/lib/pipes/relative-time.pipe.d.ts +4 -4
  3. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  4. package/esm2020/auth/lib/auth.module.mjs +4 -4
  5. package/esm2020/auth/lib/auth.service.mjs +3 -3
  6. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  7. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  8. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  9. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  10. package/esm2020/auth/lib/guards/permission.guard.mjs +3 -3
  11. package/esm2020/auth/lib/permissions/permissions.service.mjs +3 -3
  12. package/esm2020/collections/lib/collections.module.mjs +4 -4
  13. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  14. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +5 -5
  15. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  16. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
  17. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +3 -3
  18. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
  19. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
  20. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
  21. package/esm2020/controls/lib/control-error/control-error.module.mjs +4 -4
  22. package/esm2020/controls/lib/controls.module.mjs +4 -4
  23. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +3 -3
  24. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
  25. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +3 -3
  26. package/esm2020/controls/lib/form-control/form-control.module.mjs +4 -4
  27. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  28. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  29. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  30. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  31. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  32. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  33. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  34. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  35. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  36. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
  37. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
  38. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  39. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  40. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  41. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  42. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  43. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  44. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  45. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  46. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  47. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  48. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +20 -15
  49. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  50. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  51. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
  52. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  53. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  54. package/esm2020/elements/lib/elements.module.mjs +4 -4
  55. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
  56. package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
  57. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  58. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  59. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  60. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  61. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  62. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  63. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +15 -13
  64. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  65. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  66. package/esm2020/http/lib/http.module.mjs +4 -4
  67. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  68. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  69. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  70. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  71. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  72. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  73. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  74. package/esm2020/lib/core/services/network.service.mjs +3 -3
  75. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  76. package/esm2020/localize/lib/localize.module.mjs +4 -4
  77. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  78. package/esm2020/localize/lib/localize.service.mjs +3 -3
  79. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  80. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  81. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  82. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  83. package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
  84. package/esm2020/masking/lib/masking.module.mjs +4 -4
  85. package/esm2020/masking/lib/masking.service.mjs +3 -3
  86. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  87. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  88. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  89. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  90. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  91. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  92. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  93. package/esm2020/storage/lib/storage.service.mjs +3 -3
  94. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  95. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  96. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  97. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  98. package/esm2020/table/lib/table.module.mjs +4 -4
  99. package/esm2020/theming/lib/theming.directive.mjs +3 -3
  100. package/esm2020/theming/lib/theming.module.mjs +4 -4
  101. package/esm2020/utils/lib/directives/autosize.directive.mjs +3 -3
  102. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +3 -3
  103. package/esm2020/utils/lib/directives/focus.directive.mjs +3 -3
  104. package/esm2020/utils/lib/directives/template.directive.mjs +3 -3
  105. package/esm2020/utils/lib/utils.module.mjs +4 -4
  106. package/fesm2015/bravobit-bb-foundation-auth.mjs +28 -28
  107. package/fesm2015/bravobit-bb-foundation-collections.mjs +23 -23
  108. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  109. package/fesm2015/bravobit-bb-foundation-controls.mjs +37 -37
  110. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
  111. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  112. package/fesm2015/bravobit-bb-foundation-dialog.mjs +31 -31
  113. package/fesm2015/bravobit-bb-foundation-elements.mjs +105 -97
  114. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  115. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  116. package/fesm2015/bravobit-bb-foundation-localize.mjs +16 -16
  117. package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
  118. package/fesm2015/bravobit-bb-foundation-notifications.mjs +13 -13
  119. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  120. package/fesm2015/bravobit-bb-foundation-storage.mjs +3 -3
  121. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  122. package/fesm2015/bravobit-bb-foundation-theming.mjs +7 -7
  123. package/fesm2015/bravobit-bb-foundation-utils.mjs +16 -16
  124. package/fesm2015/bravobit-bb-foundation.mjs +21 -21
  125. package/fesm2020/bravobit-bb-foundation-auth.mjs +28 -28
  126. package/fesm2020/bravobit-bb-foundation-collections.mjs +23 -23
  127. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  128. package/fesm2020/bravobit-bb-foundation-controls.mjs +37 -37
  129. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
  130. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  131. package/fesm2020/bravobit-bb-foundation-dialog.mjs +31 -31
  132. package/fesm2020/bravobit-bb-foundation-elements.mjs +103 -97
  133. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  134. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  135. package/fesm2020/bravobit-bb-foundation-localize.mjs +16 -16
  136. package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
  137. package/fesm2020/bravobit-bb-foundation-notifications.mjs +13 -13
  138. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  139. package/fesm2020/bravobit-bb-foundation-storage.mjs +3 -3
  140. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  141. package/fesm2020/bravobit-bb-foundation-theming.mjs +7 -7
  142. package/fesm2020/bravobit-bb-foundation-utils.mjs +16 -16
  143. package/fesm2020/bravobit-bb-foundation.mjs +21 -21
  144. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-dashboard.mjs","sources":["../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard.module.ts","../../../projects/bb-foundation/dashboard/src/bravobit-bb-foundation-dashboard.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {BehaviorSubject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype BbDashboardSidebarState = { [id: string]: boolean };\n\n@Component({\n selector: 'bb-dashboard-sidebar',\n templateUrl: './dashboard-sidebar.component.html',\n styleUrls: ['./dashboard-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-sidebar',\n '[class.visible]': 'visibilityChanges.getValue()',\n 'role': 'navigation'\n }\n})\nexport class BbDashboardSidebar implements OnInit {\n\n // Bindings.\n visibilityChanges = new BehaviorSubject<boolean>(true);\n\n // State.\n private _state$ = new BehaviorSubject<BbDashboardSidebarState>({});\n private _cache: BbDashboardSidebarState;\n\n // Token.\n private readonly _localStorageToken: string = 'bb-dashboard-sidebar-state';\n\n constructor(private _storage: Storage) {\n }\n\n ngOnInit() {\n // Retrieve the cache.\n this._cache = this._storage.get<BbDashboardSidebarState>(this._localStorageToken) || {};\n }\n\n registerGroup(id: string) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Get the cache value so when it is undefined\n // we will default to true.\n const cacheValue = this._cache[id] === undefined ? true : this._cache[id];\n\n // Push the new state.\n this._state$.next({...oldState, [id]: cacheValue});\n\n // Return the slice of the state that the group needs.\n return this._state$.pipe(\n map(state => state[id])\n );\n }\n\n unregisterGroup(id: string) {\n // Get the old groups.\n const oldState = this._state$.getValue();\n\n // Generate the new state without the id.\n const newState = Object.keys(oldState).reduce((object, key) => {\n if (key !== id) {\n object[key] = oldState[key];\n }\n return object;\n }, {});\n\n // Push the new state.\n this._state$.next(newState);\n }\n\n toggleGroup(id: string, newValue: boolean) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Create the new state.\n const newState = {...oldState, [id]: newValue};\n\n // Push the new state.\n this._state$.next(newState);\n\n // Save in the cache.\n this._storage.set(this._localStorageToken, newState);\n }\n\n toggle() {\n const current = this.visibilityChanges.getValue();\n this.visibilityChanges.next(!current);\n }\n\n open() {\n this.visibilityChanges.next(true);\n }\n\n close() {\n this.visibilityChanges.next(false);\n }\n\n}\n","<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {Platform} from '@angular/cdk/platform';\nimport {Patch} from '@bravobit/bb-foundation';\n\n@Component({\n selector: 'bb-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard'\n }\n})\nexport class BbDashboard implements OnInit, OnDestroy {\n\n // Views.\n @ContentChild(BbDashboardSidebar) sidebar?: BbDashboardSidebar;\n\n // Inputs.\n @Input() backgroundColor: string = '#e7eaed';\n @Input() maxWidth: string = '1200px';\n @Input() padding: string = '20px';\n\n constructor(private _patch: Patch,\n private _platform: Platform,\n private _renderer: Renderer2) {\n }\n\n ngOnInit() {\n // Set the vertical height for mobile devices.\n this._patch.mobileVerticalHeight();\n\n // Set the HTML class to prevent scrolling.\n return this.setHtmlClass();\n }\n\n ngOnDestroy() {\n // Remove the HTML class.\n this.setHtmlClass(true);\n }\n\n private setHtmlClass(shouldRemove: boolean = false) {\n // Check if we are on a browser.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Define the class name.\n const className = 'bb-dashboard-html';\n\n // Add or remove the class.\n return shouldRemove\n ? this._renderer.removeClass(document.documentElement, className)\n : this._renderer.addClass(document.documentElement, className);\n }\n\n}\n","<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\">\n</ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\">\n </ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n<div *ngIf=\"!!sidebar\"\n [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n</div>\n","import {ChangeDetectionStrategy, Component, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboard} from '../dashboard/dashboard.component';\nimport {of} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-header',\n templateUrl: './dashboard-header.component.html',\n styleUrls: ['./dashboard-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-header'\n }\n})\nexport class BbDashboardHeader {\n\n constructor(@Optional() private _parent: BbDashboard) {\n }\n\n get showSidebarButton() {\n return !!this._parent?.sidebar;\n }\n\n get isSidebarVisible() {\n return this._parent?.sidebar?.visibilityChanges ?? of<boolean>(false);\n }\n\n onToggleSidebarClicked() {\n this._parent?.sidebar?.toggle();\n }\n\n}\n","<!--\n The button that toggles the sidebar.\n-->\n<button *ngIf=\"showSidebarButton\"\n (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"17\"\n height=\"12\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n</button>\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'bb-dashboard-menu',\n templateUrl: './dashboard-menu.component.html',\n styleUrls: ['./dashboard-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-menu',\n 'role': 'navigation'\n }\n})\nexport class BbDashboardMenu {\n\n // Inputs.\n @Input() title: string | null = null;\n @Input() imageUrl: string | null = null;\n @Input() backUrlLink: string | null = null;\n @Input() backUrlTitle: string | null = null;\n\n}\n","<a *ngIf=\"backUrlLink && backUrlTitle\"\n [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">\n {{ backUrlTitle }}\n</a>\n\n<div class=\"bb-dashboard-menu-row\">\n <img *ngIf=\"imageUrl\"\n [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n <h1 *ngIf=\"title as titleLabel\"\n class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n","import {CanDisable, CanDisableConstructor, mixinDisabled} from '@bravobit/bb-foundation';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\nclass BbDashboardMenuItemBase {\n}\n\nconst BbDashboardMenuItemMixinBase: CanDisableConstructor\n & typeof BbDashboardMenuItemBase\n = mixinDisabled(BbDashboardMenuItemBase);\n\n@Component({\n selector: '[bb-dashboard-menu-item]',\n templateUrl: './dashboard-menu-item.component.html',\n styleUrls: ['./dashboard-menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n inputs: ['disabled'],\n host: {\n 'class': 'bb-dashboard-menu-item',\n '[class.disabled]': 'disabled',\n '(click)': 'stopDisabledEvents($event)'\n }\n})\nexport class BbDashboardMenuItem extends BbDashboardMenuItemMixinBase implements CanDisable {\n\n stopDisabledEvents(event: Event) {\n // If the menu item is not disabled let all events pass.\n if (!this.disabled) {\n return;\n }\n\n // If the menu item is disabled stop the event from\n // bubbling up.\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n}\n","<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {CanDisableConstructor, mixinDisabled} from '@bravobit/bb-foundation';\nimport {of, Subscription} from 'rxjs';\n\nclass BbDashboardSidebarGroupBase {\n constructor(protected _parent: BbDashboardSidebar) {\n }\n}\n\nconst BbDashboardSidebarGroupMixinBase: CanDisableConstructor\n & typeof BbDashboardSidebarGroupBase\n = mixinDisabled(BbDashboardSidebarGroupBase);\n\n@Component({\n selector: 'bb-dashboard-sidebar-group',\n templateUrl: './dashboard-sidebar-group.component.html',\n styleUrls: ['./dashboard-sidebar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n inputs: ['disabled'],\n host: {\n 'class': 'bb-dashboard-sidebar-group',\n '[class.expanded]': 'isExpanded',\n '[class.with-toggle]': 'hasToggle',\n '[class.has-icon]': '!!icon',\n '[class.disabled]': 'disabled',\n 'role': 'group'\n }\n})\nexport class BbDashboardSidebarGroup extends BbDashboardSidebarGroupMixinBase implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() id: string | null = null;\n @Input() icon: string | null = null;\n @Input() title: string | null = null;\n\n // State.\n private _isExpanded: boolean = false;\n\n // Subscriptions.\n private _subscription: Subscription;\n\n constructor(@Optional() @Host() protected override _parent: BbDashboardSidebar) {\n super(_parent);\n }\n\n get hasToggle() {\n // Check if the user provided a icon and/or title.\n return !!this.icon || !!this.title;\n }\n\n get isExpanded() {\n // If there is an icon or title the group can be\n // expanded by clicking, else not.\n return this.hasToggle\n ? this._isExpanded\n : true;\n }\n\n ngOnInit() {\n // Check if the id has been supplied.\n if (!this.id) {\n throw new Error('Id is required.');\n }\n\n // Register the group at the parent and\n // retrieve the slice of the state.\n const observable$ = this._parent?.registerGroup(this.id) ?? of(false);\n\n // Subscribe to the state.\n this._subscription = observable$\n .subscribe(isExpanded => this._isExpanded = isExpanded);\n }\n\n ngOnDestroy() {\n // Unsubscribe to prevent memory leaks.\n this._subscription && this._subscription.unsubscribe();\n\n // Unregister the group at the parent.\n this._parent && this._parent.unregisterGroup(this.id);\n }\n\n onClick() {\n // Verify the group is not disabled.\n if (this.disabled) {\n return;\n }\n\n // Change the state.\n const newValue = !this._isExpanded;\n\n // Set the state of the sidebar group.\n this._parent?.toggleGroup(this.id, newValue);\n }\n\n @HostListener('click', ['$event'])\n onGroupClicked(event: MouseEvent) {\n // If the group is not disabled don't do anything.\n if (!this.disabled) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n}\n","<!--\n The wrapper that contains the title and icon.\n-->\n<button *ngIf=\"hasToggle\"\n (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n <bb-icon *ngIf=\"icon as iconName\"\n [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n <span *ngIf=\"title as titleText\"\n role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">\n {{ titleText }}\n </span>\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"10\"\n height=\"10\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n</button>\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\">\n</ng-content>\n","import {ChangeDetectionStrategy, Component, Host, Input, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebarGroup} from '../dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\n\n@Component({\n selector: '[bb-dashboard-sidebar-item]',\n templateUrl: './dashboard-sidebar-item.component.html',\n styleUrls: ['./dashboard-sidebar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-sidebar-item',\n '[attr.tabindex]': 'attributeTabIndex',\n '[attr.aria-hidden]': 'isHidden',\n '(click)': 'onClick()'\n }\n})\nexport class BbDashboardSidebarItem {\n\n // Inputs.\n @Input() tabIndex: number = 0;\n\n constructor(@Optional() @Host() private _sidebar: BbDashboardSidebar,\n @Optional() @Host() private _group: BbDashboardSidebarGroup) {\n }\n\n onClick() {\n // Try to \"open\" the sidebar if it exists.\n // This will close it on mobile.\n this._sidebar?.open();\n }\n\n get attributeTabIndex() {\n // Make the items tabindex -1 so it can't\n // be tabbed to when the parent is not visible\n // or the parent is disabled.\n if (this.isHidden) {\n return -1;\n }\n\n // Else return the specified tabindex.\n return this.tabIndex;\n }\n\n get isHidden() {\n return !this.isVisible || this.isDisabled;\n }\n\n private get isVisible() {\n return this._group\n ? this._group.isExpanded\n : true;\n }\n\n private get isDisabled() {\n return this._group\n ? this._group.disabled\n : false;\n }\n\n}\n","<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n","import {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {NgModule} from '@angular/core';\n\nimport {BbDashboard} from './dashboard/dashboard.component';\nimport {BbDashboardHeader} from './dashboard-header/dashboard-header.component';\nimport {BbDashboardMenu} from './dashboard-menu/dashboard-menu.component';\nimport {BbDashboardMenuItem} from './dashboard-menu-item/dashboard-menu-item.component';\nimport {BbDashboardSidebar} from './dashboard-sidebar/dashboard-sidebar.component';\nimport {BbDashboardSidebarGroup} from './dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebarItem} from './dashboard-sidebar-item/dashboard-sidebar-item.component';\n\nconst DECLARATIONS_EXPORTS = [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ElementsModule],\n declarations: [...DECLARATIONS_EXPORTS],\n exports: [...DECLARATIONS_EXPORTS]\n})\nexport class DashboardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i1.BbDashboard","i2","i1.BbDashboardSidebar","i2.BbDashboardSidebarGroup"],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-dashboard.mjs","sources":["../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard.module.ts","../../../projects/bb-foundation/dashboard/src/bravobit-bb-foundation-dashboard.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {BehaviorSubject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype BbDashboardSidebarState = { [id: string]: boolean };\n\n@Component({\n selector: 'bb-dashboard-sidebar',\n templateUrl: './dashboard-sidebar.component.html',\n styleUrls: ['./dashboard-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-sidebar',\n '[class.visible]': 'visibilityChanges.getValue()',\n 'role': 'navigation'\n }\n})\nexport class BbDashboardSidebar implements OnInit {\n\n // Bindings.\n visibilityChanges = new BehaviorSubject<boolean>(true);\n\n // State.\n private _state$ = new BehaviorSubject<BbDashboardSidebarState>({});\n private _cache: BbDashboardSidebarState;\n\n // Token.\n private readonly _localStorageToken: string = 'bb-dashboard-sidebar-state';\n\n constructor(private _storage: Storage) {\n }\n\n ngOnInit() {\n // Retrieve the cache.\n this._cache = this._storage.get<BbDashboardSidebarState>(this._localStorageToken) || {};\n }\n\n registerGroup(id: string) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Get the cache value so when it is undefined\n // we will default to true.\n const cacheValue = this._cache[id] === undefined ? true : this._cache[id];\n\n // Push the new state.\n this._state$.next({...oldState, [id]: cacheValue});\n\n // Return the slice of the state that the group needs.\n return this._state$.pipe(\n map(state => state[id])\n );\n }\n\n unregisterGroup(id: string) {\n // Get the old groups.\n const oldState = this._state$.getValue();\n\n // Generate the new state without the id.\n const newState = Object.keys(oldState).reduce((object, key) => {\n if (key !== id) {\n object[key] = oldState[key];\n }\n return object;\n }, {});\n\n // Push the new state.\n this._state$.next(newState);\n }\n\n toggleGroup(id: string, newValue: boolean) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Create the new state.\n const newState = {...oldState, [id]: newValue};\n\n // Push the new state.\n this._state$.next(newState);\n\n // Save in the cache.\n this._storage.set(this._localStorageToken, newState);\n }\n\n toggle() {\n const current = this.visibilityChanges.getValue();\n this.visibilityChanges.next(!current);\n }\n\n open() {\n this.visibilityChanges.next(true);\n }\n\n close() {\n this.visibilityChanges.next(false);\n }\n\n}\n","<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {Platform} from '@angular/cdk/platform';\nimport {Patch} from '@bravobit/bb-foundation';\n\n@Component({\n selector: 'bb-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard'\n }\n})\nexport class BbDashboard implements OnInit, OnDestroy {\n\n // Views.\n @ContentChild(BbDashboardSidebar) sidebar?: BbDashboardSidebar;\n\n // Inputs.\n @Input() backgroundColor: string = '#e7eaed';\n @Input() maxWidth: string = '1200px';\n @Input() padding: string = '20px';\n\n constructor(private _patch: Patch,\n private _platform: Platform,\n private _renderer: Renderer2) {\n }\n\n ngOnInit() {\n // Set the vertical height for mobile devices.\n this._patch.mobileVerticalHeight();\n\n // Set the HTML class to prevent scrolling.\n return this.setHtmlClass();\n }\n\n ngOnDestroy() {\n // Remove the HTML class.\n this.setHtmlClass(true);\n }\n\n private setHtmlClass(shouldRemove: boolean = false) {\n // Check if we are on a browser.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Define the class name.\n const className = 'bb-dashboard-html';\n\n // Add or remove the class.\n return shouldRemove\n ? this._renderer.removeClass(document.documentElement, className)\n : this._renderer.addClass(document.documentElement, className);\n }\n\n}\n","<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\">\n</ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\">\n </ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n<div *ngIf=\"!!sidebar\"\n [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n</div>\n","import {ChangeDetectionStrategy, Component, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboard} from '../dashboard/dashboard.component';\nimport {of} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-header',\n templateUrl: './dashboard-header.component.html',\n styleUrls: ['./dashboard-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-header'\n }\n})\nexport class BbDashboardHeader {\n\n constructor(@Optional() private _parent: BbDashboard) {\n }\n\n get showSidebarButton() {\n return !!this._parent?.sidebar;\n }\n\n get isSidebarVisible() {\n return this._parent?.sidebar?.visibilityChanges ?? of<boolean>(false);\n }\n\n onToggleSidebarClicked() {\n this._parent?.sidebar?.toggle();\n }\n\n}\n","<!--\n The button that toggles the sidebar.\n-->\n<button *ngIf=\"showSidebarButton\"\n (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"17\"\n height=\"12\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n</button>\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'bb-dashboard-menu',\n templateUrl: './dashboard-menu.component.html',\n styleUrls: ['./dashboard-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-menu',\n 'role': 'navigation'\n }\n})\nexport class BbDashboardMenu {\n\n // Inputs.\n @Input() title: string | null = null;\n @Input() imageUrl: string | null = null;\n @Input() backUrlLink: string | null = null;\n @Input() backUrlTitle: string | null = null;\n\n}\n","<a *ngIf=\"backUrlLink && backUrlTitle\"\n [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">\n {{ backUrlTitle }}\n</a>\n\n<div class=\"bb-dashboard-menu-row\">\n <img *ngIf=\"imageUrl\"\n [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n <h1 *ngIf=\"title as titleLabel\"\n class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n","import {CanDisable, CanDisableConstructor, mixinDisabled} from '@bravobit/bb-foundation';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\nclass BbDashboardMenuItemBase {\n}\n\nconst BbDashboardMenuItemMixinBase: CanDisableConstructor\n & typeof BbDashboardMenuItemBase\n = mixinDisabled(BbDashboardMenuItemBase);\n\n@Component({\n selector: '[bb-dashboard-menu-item]',\n templateUrl: './dashboard-menu-item.component.html',\n styleUrls: ['./dashboard-menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n inputs: ['disabled'],\n host: {\n 'class': 'bb-dashboard-menu-item',\n '[class.disabled]': 'disabled',\n '(click)': 'stopDisabledEvents($event)'\n }\n})\nexport class BbDashboardMenuItem extends BbDashboardMenuItemMixinBase implements CanDisable {\n\n stopDisabledEvents(event: Event) {\n // If the menu item is not disabled let all events pass.\n if (!this.disabled) {\n return;\n }\n\n // If the menu item is disabled stop the event from\n // bubbling up.\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n}\n","<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n Host,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {CanDisableConstructor, mixinDisabled} from '@bravobit/bb-foundation';\nimport {of, Subscription} from 'rxjs';\n\nclass BbDashboardSidebarGroupBase {\n constructor(protected _parent: BbDashboardSidebar) {\n }\n}\n\nconst BbDashboardSidebarGroupMixinBase: CanDisableConstructor\n & typeof BbDashboardSidebarGroupBase\n = mixinDisabled(BbDashboardSidebarGroupBase);\n\n@Component({\n selector: 'bb-dashboard-sidebar-group',\n templateUrl: './dashboard-sidebar-group.component.html',\n styleUrls: ['./dashboard-sidebar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n inputs: ['disabled'],\n host: {\n 'class': 'bb-dashboard-sidebar-group',\n '[class.expanded]': 'isExpanded',\n '[class.with-toggle]': 'hasToggle',\n '[class.has-icon]': '!!icon',\n '[class.disabled]': 'disabled',\n 'role': 'group'\n }\n})\nexport class BbDashboardSidebarGroup extends BbDashboardSidebarGroupMixinBase implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() id: string | null = null;\n @Input() icon: string | null = null;\n @Input() title: string | null = null;\n\n // State.\n private _isExpanded: boolean = false;\n\n // Subscriptions.\n private _subscription: Subscription;\n\n constructor(@Optional() @Host() protected override _parent: BbDashboardSidebar) {\n super(_parent);\n }\n\n get hasToggle() {\n // Check if the user provided a icon and/or title.\n return !!this.icon || !!this.title;\n }\n\n get isExpanded() {\n // If there is an icon or title the group can be\n // expanded by clicking, else not.\n return this.hasToggle\n ? this._isExpanded\n : true;\n }\n\n ngOnInit() {\n // Check if the id has been supplied.\n if (!this.id) {\n throw new Error('Id is required.');\n }\n\n // Register the group at the parent and\n // retrieve the slice of the state.\n const observable$ = this._parent?.registerGroup(this.id) ?? of(false);\n\n // Subscribe to the state.\n this._subscription = observable$\n .subscribe(isExpanded => this._isExpanded = isExpanded);\n }\n\n ngOnDestroy() {\n // Unsubscribe to prevent memory leaks.\n this._subscription && this._subscription.unsubscribe();\n\n // Unregister the group at the parent.\n this._parent && this._parent.unregisterGroup(this.id);\n }\n\n onClick() {\n // Verify the group is not disabled.\n if (this.disabled) {\n return;\n }\n\n // Change the state.\n const newValue = !this._isExpanded;\n\n // Set the state of the sidebar group.\n this._parent?.toggleGroup(this.id, newValue);\n }\n\n @HostListener('click', ['$event'])\n onGroupClicked(event: MouseEvent) {\n // If the group is not disabled don't do anything.\n if (!this.disabled) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n}\n","<!--\n The wrapper that contains the title and icon.\n-->\n<button *ngIf=\"hasToggle\"\n (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n <bb-icon *ngIf=\"icon as iconName\"\n [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n <span *ngIf=\"title as titleText\"\n role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">\n {{ titleText }}\n </span>\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"10\"\n height=\"10\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n</button>\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\">\n</ng-content>\n","import {ChangeDetectionStrategy, Component, Host, Input, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebarGroup} from '../dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\n\n@Component({\n selector: '[bb-dashboard-sidebar-item]',\n templateUrl: './dashboard-sidebar-item.component.html',\n styleUrls: ['./dashboard-sidebar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-dashboard-sidebar-item',\n '[attr.tabindex]': 'attributeTabIndex',\n '[attr.aria-hidden]': 'isHidden',\n '(click)': 'onClick()'\n }\n})\nexport class BbDashboardSidebarItem {\n\n // Inputs.\n @Input() tabIndex: number = 0;\n\n constructor(@Optional() @Host() private _sidebar: BbDashboardSidebar,\n @Optional() @Host() private _group: BbDashboardSidebarGroup) {\n }\n\n onClick() {\n // Try to \"open\" the sidebar if it exists.\n // This will close it on mobile.\n this._sidebar?.open();\n }\n\n get attributeTabIndex() {\n // Make the items tabindex -1 so it can't\n // be tabbed to when the parent is not visible\n // or the parent is disabled.\n if (this.isHidden) {\n return -1;\n }\n\n // Else return the specified tabindex.\n return this.tabIndex;\n }\n\n get isHidden() {\n return !this.isVisible || this.isDisabled;\n }\n\n private get isVisible() {\n return this._group\n ? this._group.isExpanded\n : true;\n }\n\n private get isDisabled() {\n return this._group\n ? this._group.disabled\n : false;\n }\n\n}\n","<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n","import {ElementsModule} from '@bravobit/bb-foundation/elements';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {NgModule} from '@angular/core';\n\nimport {BbDashboard} from './dashboard/dashboard.component';\nimport {BbDashboardHeader} from './dashboard-header/dashboard-header.component';\nimport {BbDashboardMenu} from './dashboard-menu/dashboard-menu.component';\nimport {BbDashboardMenuItem} from './dashboard-menu-item/dashboard-menu-item.component';\nimport {BbDashboardSidebar} from './dashboard-sidebar/dashboard-sidebar.component';\nimport {BbDashboardSidebarGroup} from './dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebarItem} from './dashboard-sidebar-item/dashboard-sidebar-item.component';\n\nconst DECLARATIONS_EXPORTS = [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n];\n\n@NgModule({\n imports: [CommonModule, RouterModule, ElementsModule],\n declarations: [...DECLARATIONS_EXPORTS],\n exports: [...DECLARATIONS_EXPORTS]\n})\nexport class DashboardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i1.BbDashboard","i2","i1.BbDashboardSidebar","i2.BbDashboardSidebarGroup"],"mappings":"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"}
@@ -118,9 +118,9 @@ class BbDialogOverlay {
118
118
  this._subscription.add(subscription);
119
119
  }
120
120
  }
121
- BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
122
- BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogOverlay, selector: "bb-dialog-overlay", outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogOverlayAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogOverlayAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [bbDialogOverlayAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogOverlay, decorators: [{
121
+ BbDialogOverlay.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogOverlay, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
122
+ BbDialogOverlay.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogOverlay, selector: "bb-dialog-overlay", outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)", "@bbDialogOverlayAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogOverlayAnimation": "state" }, classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<div class=\"bb-dialog-overlay-backdrop\"></div>\n\n<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay,.bb-dialog-overlay-backdrop{top:0;left:0;right:0;bottom:0;display:flex;z-index:1000;position:fixed;flex-direction:column}.bb-dialog-overlay{padding:20px}.bb-dialog-overlay-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-overlay-component{z-index:1001;display:block;position:relative}\n"], animations: [bbDialogOverlayAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogOverlay, decorators: [{
124
124
  type: Component,
125
125
  args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
126
126
  'class': 'bb-dialog-overlay',
@@ -165,9 +165,9 @@ class BbDialogModal {
165
165
  : this._renderer.setStyle(element, 'overflow', 'hidden');
166
166
  }
167
167
  }
168
- BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
169
- BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;will-change:opacity,transform;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 });
170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogModal, decorators: [{
168
+ BbDialogModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogModal, deps: [{ token: i1.Patch }, { token: i0.Renderer2 }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
169
+ BbDialogModal.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: { maxWidth: "maxWidth" }, host: { attributes: { "role": "dialog" }, listeners: { "click": "onOverlayClickedEvent($event)", "touchstart": "onOverlayClickedEvent($event)", "touchend": "onOverlayClickedEvent($event)", "mouseup": "onOverlayClickedEvent($event)", "mousedown": "onOverlayClickedEvent($event)" }, properties: { "style.max-width": "this.maxWidth" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\">\n\n</ng-content>\n\n<div class=\"bb-dialog-modal-body\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"[bb-dialog-actions]\">\n\n</ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;max-width:420px;border-radius:4px;position:relative;flex-direction:column;background-color:#fff;will-change:opacity,transform;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 });
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogModal, decorators: [{
171
171
  type: Component,
172
172
  args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
173
173
  'class': 'bb-dialog-modal',
@@ -208,9 +208,9 @@ class BbDialogHeader {
208
208
  this.closeRequested = new EventEmitter();
209
209
  }
210
210
  }
211
- BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
- BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogHeader, decorators: [{
211
+ BbDialogHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
212
+ BbDialogHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-header" }, ngImport: i0, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-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: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogHeader, decorators: [{
214
214
  type: Component,
215
215
  args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-header' }, template: "<div class=\"bb-dialog-header-row\">\n <div class=\"bb-dialog-header-content\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"closeRequested?.observed\"\n (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n </button>\n</div>\n\n<nav class=\"bb-dialog-header-navigation\">\n <ng-content select=\"[bb-dialog-link]\"></ng-content>\n</nav>\n", styles: [".bb-dialog-header{display:flex;min-height:60px;flex-direction:column;justify-content:center;background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid #d8d8d8}.bb-dialog-header .bb-dialog-header-content,.bb-dialog-header .bb-dialog-header-content h1{max-width:100%;font-size:20px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-row,.bb-dialog-header-navigation{width:100%;display:flex;align-items:center}.bb-dialog-header-row{padding:10px 20px}.bb-dialog-header-navigation{width:100%;padding:0 20px;overflow-x:auto;white-space:nowrap}.bb-dialog-header-navigation:empty{margin:0;height:0;padding:0;visibility:hidden}.bb-dialog-header-content{flex:1}.bb-dialog-header-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"] }]
216
216
  }], propDecorators: { closeRequested: [{
@@ -219,18 +219,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImpor
219
219
 
220
220
  class BbDialogLink {
221
221
  }
222
- BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
223
- BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;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 });
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogLink, decorators: [{
222
+ BbDialogLink.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogLink, deps: [], target: i0.ɵɵFactoryTarget.Component });
223
+ BbDialogLink.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogLink, selector: "[bb-dialog-link]", host: { classAttribute: "bb-dialog-link" }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;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 });
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogLink, decorators: [{
225
225
  type: Component,
226
226
  args: [{ selector: '[bb-dialog-link]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-link' }, template: "<ng-content></ng-content>\n", styles: [".bb-dialog-link{border:none;height:30px;display:flex;font-size:16px;-webkit-appearance:none;appearance:none;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"] }]
227
227
  }] });
228
228
 
229
229
  class BbDialogActions {
230
230
  }
231
- BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
232
- BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], dependencies: [{ kind: "component", type: i1$1.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogActions, decorators: [{
231
+ BbDialogActions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
232
+ BbDialogActions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogActions, selector: "[bb-dialog-actions]", host: { classAttribute: "bb-dialog-actions" }, ngImport: i0, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"], dependencies: [{ kind: "component", type: i1$1.BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogActions, decorators: [{
234
234
  type: Component,
235
235
  args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-actions' }, template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{padding:20px;display:block;background-color:#fff;border-top:1px solid #d8d8d8;border-bottom-left-radius:4px;border-bottom-right-radius:4px}\n"] }]
236
236
  }] });
@@ -268,9 +268,9 @@ class BbDialogInsertion {
268
268
  this.viewContainerRef = viewContainerRef;
269
269
  }
270
270
  }
271
- BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
272
- BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogInsertion, decorators: [{
271
+ BbDialogInsertion.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogInsertion, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
272
+ BbDialogInsertion.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogInsertion, selector: "[bbDialogInsertion]", ngImport: i0 });
273
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogInsertion, decorators: [{
274
274
  type: Directive,
275
275
  args: [{
276
276
  selector: '[bbDialogInsertion]'
@@ -334,9 +334,9 @@ class BbDialogContainer {
334
334
  this.componentRef = viewContainerRef.createComponent(componentType);
335
335
  }
336
336
  }
337
- BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
338
- BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogContainerAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogContainerAnimation": "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\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block;will-change:opacity,transform}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [bbDialogContainerAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogContainer, decorators: [{
337
+ BbDialogContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogContainer, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
338
+ BbDialogContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogContainer, selector: "bb-dialog-container", host: { listeners: { "@bbDialogContainerAnimation.done": "onAnimationDone($event)" }, properties: { "@bbDialogContainerAnimation": "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\"></div>\n\n<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container,.bb-dialog-container-backdrop{top:0;left:0;right:0;bottom:0;z-index:1000;position:fixed}.bb-dialog-container{display:flex}.bb-dialog-container-backdrop{will-change:opacity;background-color:#1119}.bb-dialog-container-component{width:100%;margin:auto;padding:20px;z-index:1001;display:block;will-change:opacity,transform}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], animations: [bbDialogContainerAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogContainer, decorators: [{
340
340
  type: Component,
341
341
  args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
342
342
  'class': 'bb-dialog-container',
@@ -376,9 +376,9 @@ class BbDialogConfirm {
376
376
  this._dialogRef.close(result);
377
377
  }
378
378
  }
379
- BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
380
- BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleContent\"\n [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n [ngClass]=\"cancelButtonClass ? cancelButtonClass : null\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "directive", type: i5.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: i5.BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: ["closeRequested"] }, { kind: "component", type: BbDialogActions, selector: "[bb-dialog-actions]" }, { kind: "pipe", type: i9.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
381
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbDialogConfirm, decorators: [{
379
+ BbDialogConfirm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogConfirm, deps: [{ token: BbDialogConfig }, { token: BbDialogRef }], target: i0.ɵɵFactoryTarget.Component });
380
+ BbDialogConfirm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDialogConfirm, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, viewQueries: [{ propertyName: "confirmButton", first: true, predicate: ["confirm"], descendants: true, read: BbButton }], ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleContent\"\n [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n [ngClass]=\"cancelButtonClass ? cancelButtonClass : null\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "directive", type: i5.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: i5.BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["maxWidth"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", outputs: ["closeRequested"] }, { kind: "component", type: BbDialogActions, selector: "[bb-dialog-actions]" }, { kind: "pipe", type: i9.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
381
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDialogConfirm, decorators: [{
382
382
  type: Component,
383
383
  args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-dialog-confirm' }, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header bb-dialog-header>\n <h1 *ngIf=\"title as titleContent\"\n [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </h1>\n </header>\n\n <p *ngIf=\"description as descriptionContent\"\n class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n\n <footer bb-dialog-actions>\n <button *ngIf=\"cancelButtonText as cancelButtonTextLabel\"\n [ngClass]=\"cancelButtonClass ? cancelButtonClass : null\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n <button #confirm\n *ngIf=\"confirmButtonText as confirmButtonTextLabel\"\n [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive'\"\n (click)=\"onClose(true)\"\n bb-button\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm-description{line-height:2}\n"] }]
384
384
  }], ctorParameters: function () { return [{ type: BbDialogConfig }, { type: BbDialogRef }]; }, propDecorators: { confirmButton: [{
@@ -440,9 +440,9 @@ class Dialog {
440
440
  dialogComponentRef = null;
441
441
  }
442
442
  }
443
- Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
444
- Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog });
445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Dialog, decorators: [{
443
+ Dialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Dialog, deps: [{ token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable });
444
+ Dialog.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Dialog });
445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: Dialog, decorators: [{
446
446
  type: Injectable
447
447
  }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }]; } });
448
448
 
@@ -454,8 +454,8 @@ class DialogModule {
454
454
  };
455
455
  }
456
456
  }
457
- DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
458
- DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
457
+ DialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
458
+ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: DialogModule, declarations: [BbDialogContainer,
459
459
  BbDialogOverlay,
460
460
  BbDialogModal,
461
461
  BbDialogHeader,
@@ -469,10 +469,10 @@ DialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
469
469
  BbDialogHeader,
470
470
  BbDialogLink,
471
471
  BbDialogActions] });
472
- DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, imports: [CommonModule,
472
+ DialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DialogModule, imports: [CommonModule,
473
473
  LocalizeModule,
474
474
  ElementsModule] });
475
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DialogModule, decorators: [{
475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: DialogModule, decorators: [{
476
476
  type: NgModule,
477
477
  args: [{
478
478
  imports: [