@bravobit/bb-foundation 0.57.2 → 0.57.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.
@@ -67,10 +67,10 @@ class BbDashboardSidebar {
67
67
  close() {
68
68
  this.visibilityChanges.next(false);
69
69
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: BbDashboardSidebar, isStandalone: true, selector: "bb-dashboard-sidebar", host: { attributes: { "role": "navigation" }, properties: { "class.visible": "visibilityChanges.getValue()" }, classAttribute: "bb-dashboard-sidebar" }, ngImport: i0, template: "<!--\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", styles: [".bb-dashboard-sidebar{top:0;bottom:0;z-index:10;left:-16rem;width:16rem;height:100vh;display:flex;position:fixed;min-width:16rem;will-change:transform;flex-direction:column;transform:translate(16rem);height:calc(var(--vh, 1vh) * 100);border-right:1px solid hsla(0,0%,0%,.4);transition:transform .2s cubic-bezier(0,0,.2,1);background:#fff linear-gradient(to bottom,#fff,#f2f2f2)}.bb-dashboard-sidebar.visible{transform:none}.bb-dashboard-sidebar-scroll{flex:1;overflow:auto}.bb-dashboard-sidebar>header{border-bottom:1px solid #d8d8d8;background-color:#ffffff80}.bb-dashboard-sidebar>footer{border-top:1px solid #d8d8d8;background-color:#ffffff80}@media only screen and (min-width: 768px){.bb-dashboard-sidebar{left:0;z-index:auto;transform:none;position:relative;margin-left:-16rem;transition:margin-left .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: BbDashboardSidebar, isStandalone: true, selector: "bb-dashboard-sidebar", host: { attributes: { "role": "navigation" }, properties: { "class.visible": "visibilityChanges.getValue()" }, classAttribute: "bb-dashboard-sidebar" }, ngImport: i0, template: "<!--\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", styles: [".bb-dashboard-sidebar{top:0;bottom:0;z-index:10;left:-16rem;width:16rem;height:100vh;display:flex;position:fixed;min-width:16rem;will-change:transform;flex-direction:column;transform:translate(16rem);height:calc(var(--vh, 1vh) * 100);border-right:1px solid hsla(0,0%,0%,.4);transition:transform .2s cubic-bezier(0,0,.2,1);background:#fff linear-gradient(to bottom,#fff,#f2f2f2)}.bb-dashboard-sidebar.visible{transform:none}.bb-dashboard-sidebar-scroll{flex:1;overflow:auto}.bb-dashboard-sidebar>header{border-bottom:1px solid #d8d8d8;background-color:#ffffff80}.bb-dashboard-sidebar>footer{border-top:1px solid #d8d8d8;background-color:#ffffff80}@media only screen and (min-width: 768px){.bb-dashboard-sidebar{left:0;z-index:auto;transform:none;position:relative;margin-left:-16rem;transition:margin-left .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebar, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebar, decorators: [{
74
74
  type: Component,
75
75
  args: [{ selector: 'bb-dashboard-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
76
76
  'class': 'bb-dashboard-sidebar',
@@ -106,10 +106,10 @@ class BbDashboard {
106
106
  ? this._renderer.removeClass(document.documentElement, className)
107
107
  : this._renderer.addClass(document.documentElement, className);
108
108
  }
109
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboard, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDashboard, isStandalone: true, selector: "bb-dashboard", inputs: { backgroundColor: "backgroundColor", maxWidth: "maxWidth", padding: "padding" }, host: { classAttribute: "bb-dashboard" }, queries: [{ propertyName: "sidebar", first: true, predicate: BbDashboardSidebar, descendants: true }], ngImport: i0, template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></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\"></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@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{inset:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
109
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboard, deps: [], target: i0.ɵɵFactoryTarget.Component });
110
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDashboard, isStandalone: true, selector: "bb-dashboard", inputs: { backgroundColor: "backgroundColor", maxWidth: "maxWidth", padding: "padding" }, host: { classAttribute: "bb-dashboard" }, queries: [{ propertyName: "sidebar", first: true, predicate: BbDashboardSidebar, descendants: true }], ngImport: i0, template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></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\"></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@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{inset:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboard, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboard, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: 'bb-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard' }, imports: [AsyncPipe], template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></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\"></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@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{inset:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"] }]
115
115
  }], propDecorators: { sidebar: [{
@@ -135,10 +135,10 @@ class BbDashboardHeader {
135
135
  onToggleSidebarClicked() {
136
136
  this._parent?.sidebar?.toggle();
137
137
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
139
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDashboardHeader, isStandalone: true, selector: "bb-dashboard-header", host: { classAttribute: "bb-dashboard-header" }, ngImport: i0, template: "<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (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=\"1.0625rem\"\n height=\"0.75rem\"\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<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:3rem;display:flex;font-size:1rem;min-height:3rem;padding:0 .5rem;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:4.25rem;height:2.125rem;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:.5rem}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDashboardHeader, isStandalone: true, selector: "bb-dashboard-header", host: { classAttribute: "bb-dashboard-header" }, ngImport: i0, template: "<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (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=\"1.0625rem\"\n height=\"0.75rem\"\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<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:3rem;display:flex;font-size:1rem;min-height:3rem;padding:0 .5rem;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:4.25rem;height:2.125rem;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:.5rem}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardHeader, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardHeader, decorators: [{
142
142
  type: Component,
143
143
  args: [{ selector: 'bb-dashboard-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard-header' }, imports: [AsyncPipe], template: "<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (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=\"1.0625rem\"\n height=\"0.75rem\"\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<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:3rem;display:flex;font-size:1rem;min-height:3rem;padding:0 .5rem;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:4.25rem;height:2.125rem;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:.5rem}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"] }]
144
144
  }] });
@@ -149,10 +149,10 @@ class BbDashboardMenu {
149
149
  imageUrl = null;
150
150
  backUrlLink = null;
151
151
  backUrlTitle = null;
152
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDashboardMenu, isStandalone: true, selector: "bb-dashboard-menu", inputs: { title: "title", imageUrl: "imageUrl", backUrlLink: "backUrlLink", backUrlTitle: "backUrlTitle" }, host: { attributes: { "role": "navigation" }, classAttribute: "bb-dashboard-menu" }, ngImport: i0, template: "@if (backUrlLink && backUrlTitle) {\n <a [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">{{ backUrlTitle }}</a>\n}\n\n<div class=\"bb-dashboard-menu-row\">\n @if (imageUrl) {\n <img [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n }\n @if (title; as titleLabel) {\n <h1 class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n }\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n", styles: [".bb-dashboard-menu{display:block;margin-bottom:1.5rem}.bb-dashboard-menu-link,.bb-dashboard-menu-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dashboard-menu-link{display:block;font-weight:500;margin-bottom:1rem;text-decoration:none}.bb-dashboard-menu-link,.bb-dashboard-menu-link:visited{color:#a7a9c4!important}.bb-dashboard-menu-link:before{content:\"\";width:.875rem;height:.8125rem;margin-right:.25rem;display:inline-block;background-size:cover;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 492 492'%3E%3Cpath fill='%23a7a9c4' d='M464.344 207.418l.768.168H135.888l103.496-103.724c5.068-5.064 7.848-11.924 7.848-19.124 0-7.2-2.78-14.012-7.848-19.088L223.28 49.538c-5.064-5.064-11.812-7.864-19.008-7.864-7.2 0-13.952 2.78-19.016 7.844L7.844 226.914C2.76 231.998-.02 238.77 0 245.974c-.02 7.244 2.76 14.02 7.844 19.096l177.412 177.412c5.064 5.06 11.812 7.844 19.016 7.844 7.196 0 13.944-2.788 19.008-7.844l16.104-16.112c5.068-5.056 7.848-11.808 7.848-19.008 0-7.196-2.78-13.592-7.848-18.652L134.72 284.406h329.992c14.828 0 27.288-12.78 27.288-27.6v-22.788c0-14.82-12.828-26.6-27.656-26.6z'/%3E%3C/svg%3E\")}.bb-dashboard-menu-row{display:flex;align-items:center;margin-bottom:.75rem}.bb-dashboard-menu-image{width:2rem;height:2rem;display:block;border-radius:50%;margin-right:.75rem}.bb-dashboard-menu-title{color:#272838;display:block;line-height:1;font-size:2rem;font-weight:500}.bb-dashboard-menu-navigation{display:flex;overflow-x:auto;border-bottom:1px solid #d8d8d8}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDashboardMenu, isStandalone: true, selector: "bb-dashboard-menu", inputs: { title: "title", imageUrl: "imageUrl", backUrlLink: "backUrlLink", backUrlTitle: "backUrlTitle" }, host: { attributes: { "role": "navigation" }, classAttribute: "bb-dashboard-menu" }, ngImport: i0, template: "@if (backUrlLink && backUrlTitle) {\n <a [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">{{ backUrlTitle }}</a>\n}\n\n<div class=\"bb-dashboard-menu-row\">\n @if (imageUrl) {\n <img [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n }\n @if (title; as titleLabel) {\n <h1 class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n }\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n", styles: [".bb-dashboard-menu{display:block;margin-bottom:1.5rem}.bb-dashboard-menu-link,.bb-dashboard-menu-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dashboard-menu-link{display:block;font-weight:500;margin-bottom:1rem;text-decoration:none}.bb-dashboard-menu-link,.bb-dashboard-menu-link:visited{color:#a7a9c4!important}.bb-dashboard-menu-link:before{content:\"\";width:.875rem;height:.8125rem;margin-right:.25rem;display:inline-block;background-size:cover;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 492 492'%3E%3Cpath fill='%23a7a9c4' d='M464.344 207.418l.768.168H135.888l103.496-103.724c5.068-5.064 7.848-11.924 7.848-19.124 0-7.2-2.78-14.012-7.848-19.088L223.28 49.538c-5.064-5.064-11.812-7.864-19.008-7.864-7.2 0-13.952 2.78-19.016 7.844L7.844 226.914C2.76 231.998-.02 238.77 0 245.974c-.02 7.244 2.76 14.02 7.844 19.096l177.412 177.412c5.064 5.06 11.812 7.844 19.016 7.844 7.196 0 13.944-2.788 19.008-7.844l16.104-16.112c5.068-5.056 7.848-11.808 7.848-19.008 0-7.196-2.78-13.592-7.848-18.652L134.72 284.406h329.992c14.828 0 27.288-12.78 27.288-27.6v-22.788c0-14.82-12.828-26.6-27.656-26.6z'/%3E%3C/svg%3E\")}.bb-dashboard-menu-row{display:flex;align-items:center;margin-bottom:.75rem}.bb-dashboard-menu-image{width:2rem;height:2rem;display:block;border-radius:50%;margin-right:.75rem}.bb-dashboard-menu-title{color:#272838;display:block;line-height:1;font-size:2rem;font-weight:500}.bb-dashboard-menu-navigation{display:flex;overflow-x:auto;border-bottom:1px solid #d8d8d8}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardMenu, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardMenu, decorators: [{
156
156
  type: Component,
157
157
  args: [{ selector: 'bb-dashboard-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
158
158
  'class': 'bb-dashboard-menu',
@@ -181,10 +181,10 @@ class BbDashboardMenuItem {
181
181
  event.preventDefault();
182
182
  event.stopImmediatePropagation();
183
183
  }
184
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: BbDashboardMenuItem, isStandalone: true, selector: "[bb-dashboard-menu-item]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "class.disabled": "disabled" }, classAttribute: "bb-dashboard-menu-item" }, ngImport: i0, template: "<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", styles: [".bb-dashboard-menu-item{margin:0;padding:0;border:none;display:flex;max-width:100%;font-size:1rem;appearance:none;align-items:center;white-space:nowrap;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dashboard-menu-item,.bb-dashboard-menu-item:visited{color:#6b5c5c}.bb-dashboard-menu-item:not(:first-child){margin-left:.75rem}.bb-dashboard-menu-item:not(:last-child){margin-right:.75rem}.bb-dashboard-menu-item:hover:not(.disabled):not(.active){border-color:#75779433}.bb-dashboard-menu-item.active,.bb-dashboard-menu-item.active:visited .bb-dashboard-menu-item.active:hover{color:#5b53ff;border-color:#5b53ff}.bb-dashboard-menu-item.disabled,.bb-dashboard-menu-item.disabled:focus,.bb-dashboard-menu-item.disabled:hover,.bb-dashboard-menu-item.disabled:active{opacity:.4;cursor:default;box-shadow:none}.bb-dashboard-menu-item>[bbPrefix]{margin-right:.25rem}.bb-dashboard-menu-item>[bbSuffix]{margin-left:.25rem}.bb-dashboard-menu-item-content{height:2.5rem;display:block;font-weight:500;line-height:2.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
184
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
185
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.3", type: BbDashboardMenuItem, isStandalone: true, selector: "[bb-dashboard-menu-item]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "class.disabled": "disabled" }, classAttribute: "bb-dashboard-menu-item" }, ngImport: i0, template: "<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", styles: [".bb-dashboard-menu-item{margin:0;padding:0;border:none;display:flex;max-width:100%;font-size:1rem;appearance:none;align-items:center;white-space:nowrap;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dashboard-menu-item,.bb-dashboard-menu-item:visited{color:#6b5c5c}.bb-dashboard-menu-item:not(:first-child){margin-left:.75rem}.bb-dashboard-menu-item:not(:last-child){margin-right:.75rem}.bb-dashboard-menu-item:hover:not(.disabled):not(.active){border-color:#75779433}.bb-dashboard-menu-item.active,.bb-dashboard-menu-item.active:visited .bb-dashboard-menu-item.active:hover{color:#5b53ff;border-color:#5b53ff}.bb-dashboard-menu-item.disabled,.bb-dashboard-menu-item.disabled:focus,.bb-dashboard-menu-item.disabled:hover,.bb-dashboard-menu-item.disabled:active{opacity:.4;cursor:default;box-shadow:none}.bb-dashboard-menu-item>[bbPrefix]{margin-right:.25rem}.bb-dashboard-menu-item>[bbSuffix]{margin-left:.25rem}.bb-dashboard-menu-item-content{height:2.5rem;display:block;font-weight:500;line-height:2.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
186
186
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
188
188
  type: Component,
189
189
  args: [{ selector: '[bb-dashboard-menu-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
190
190
  'class': 'bb-dashboard-menu-item',
@@ -257,10 +257,10 @@ class BbDashboardSidebarGroup {
257
257
  event.preventDefault();
258
258
  event.stopPropagation();
259
259
  }
260
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: BbDashboardSidebar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDashboardSidebarGroup, isStandalone: true, selector: "bb-dashboard-sidebar-group", inputs: { id: "id", icon: "icon", title: "title", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, ngImport: i0, template: "<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\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=\"0.75rem\"\n height=\"0.75rem\"\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<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid hsla(0,0%,0%,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:2rem;line-height:2rem;padding:.375rem 1rem}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(.75rem)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:1.5rem}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:3.5rem}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;padding:1rem;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;align-items:center;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:1rem;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;max-width:100%;overflow:hidden;font-weight:500;line-height:1rem;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:1.5rem;display:flex;height:1.5rem;min-width:1.5rem;margin-left:auto;min-height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:.75rem;height:.75rem;fill:#00000040}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
260
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: BbDashboardSidebar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
261
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDashboardSidebarGroup, isStandalone: true, selector: "bb-dashboard-sidebar-group", inputs: { id: "id", icon: "icon", title: "title", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, ngImport: i0, template: "<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\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=\"0.75rem\"\n height=\"0.75rem\"\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<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid hsla(0,0%,0%,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:2rem;line-height:2rem;padding:.375rem 1rem}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(.75rem)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:1.5rem}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:3.5rem}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;padding:1rem;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;align-items:center;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:1rem;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;max-width:100%;overflow:hidden;font-weight:500;line-height:1rem;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:1.5rem;display:flex;height:1.5rem;min-width:1.5rem;margin-left:auto;min-height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:.75rem;height:.75rem;fill:#00000040}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
262
262
  }
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
264
264
  type: Component,
265
265
  args: [{ selector: 'bb-dashboard-sidebar-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
266
266
  'class': 'bb-dashboard-sidebar-group',
@@ -323,10 +323,10 @@ class BbDashboardSidebarItem {
323
323
  ? this._group.disabled
324
324
  : false;
325
325
  }
326
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: BbDashboardSidebar, optional: true }, { token: BbDashboardSidebarGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
327
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: BbDashboardSidebarItem, isStandalone: true, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\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", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-weight:500;font-size:.875rem;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
326
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: BbDashboardSidebar, optional: true }, { token: BbDashboardSidebarGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
327
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: BbDashboardSidebarItem, isStandalone: true, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\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", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-weight:500;font-size:.875rem;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
328
328
  }
329
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
330
330
  type: Component,
331
331
  args: [{ selector: '[bb-dashboard-sidebar-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
332
332
  'class': 'bb-dashboard-sidebar-item',
@@ -343,8 +343,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
343
343
  }] } });
344
344
 
345
345
  class DashboardModule {
346
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
347
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: DashboardModule, imports: [BbDashboard,
346
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
347
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: DashboardModule, imports: [BbDashboard,
348
348
  BbDashboardHeader,
349
349
  BbDashboardMenu,
350
350
  BbDashboardMenuItem,
@@ -357,9 +357,9 @@ class DashboardModule {
357
357
  BbDashboardSidebar,
358
358
  BbDashboardSidebarGroup,
359
359
  BbDashboardSidebarItem] });
360
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DashboardModule, imports: [BbDashboardSidebarGroup] });
360
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DashboardModule, imports: [BbDashboardSidebarGroup] });
361
361
  }
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DashboardModule, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DashboardModule, decorators: [{
363
363
  type: NgModule,
364
364
  args: [{
365
365
  imports: [
@@ -1,7 +1,7 @@
1
1
  import { take, filter, switchMap } from 'rxjs/operators';
2
2
  import { Subject, Subscription, timer, firstValueFrom, fromEvent, takeUntil, BehaviorSubject } from 'rxjs';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, inject, Renderer2, ElementRef, DOCUMENT, EventEmitter, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, input, HostListener, ViewContainerRef, Directive, ViewChild, ApplicationRef, EnvironmentInjector, createEnvironmentInjector, createComponent, Injectable, makeEnvironmentProviders, NgModule } from '@angular/core';
4
+ import { InjectionToken, inject, Renderer2, ElementRef, DOCUMENT, EventEmitter, booleanAttribute, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, Injectable, input, HostListener, ViewContainerRef, Directive, ViewChild, ApplicationRef, EnvironmentInjector, createEnvironmentInjector, createComponent, makeEnvironmentProviders, NgModule } from '@angular/core';
5
5
  import { BbIcon, BbFormGroup, BbButton } from '@bravobit/bb-foundation/elements';
6
6
  import { BbFocusTrap, BbTemplate, BbFocus } from '@bravobit/bb-foundation/utils';
7
7
  import { BbLocalize } from '@bravobit/bb-foundation/localize';
@@ -72,10 +72,10 @@ class BbDialogOverlay {
72
72
  return Math.sqrt(Math.pow(event.clientX - initialX, 2) +
73
73
  Math.pow(event.clientY - initialY, 2));
74
74
  }
75
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogOverlay, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.2", type: BbDialogOverlay, isStandalone: true, selector: "bb-dialog-overlay", inputs: { closeRequestedDisabled: ["closeRequestedDisabled", "closeRequestedDisabled", booleanAttribute] }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay{inset:0;display:flex;z-index:1000;position:fixed;padding:1.5rem;flex-direction:column;will-change:background-color;background-color:#1119;animation:dialogOverlayEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-overlay.leaving{animation:dialogOverlayLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}@keyframes dialogOverlayEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogOverlayLeaving{to{background-color:transparent}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogOverlay, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.3", type: BbDialogOverlay, isStandalone: true, selector: "bb-dialog-overlay", inputs: { closeRequestedDisabled: ["closeRequestedDisabled", "closeRequestedDisabled", booleanAttribute] }, outputs: { closeRequested: "closeRequested" }, host: { classAttribute: "bb-dialog-overlay" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay{inset:0;display:flex;z-index:1000;position:fixed;padding:1.5rem;flex-direction:column;will-change:background-color;background-color:#1119;animation:dialogOverlayEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-overlay.leaving{animation:dialogOverlayLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}@keyframes dialogOverlayEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogOverlayLeaving{to{background-color:transparent}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogOverlay, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogOverlay, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'bb-dialog-overlay', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-overlay' }, template: "<ng-content select=\"[bb-dialog-modal]\"></ng-content>\n", styles: [".bb-dialog-overlay{inset:0;display:flex;z-index:1000;position:fixed;padding:1.5rem;flex-direction:column;will-change:background-color;background-color:#1119;animation:dialogOverlayEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-overlay.leaving{animation:dialogOverlayLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-overlay.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}@keyframes dialogOverlayEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogOverlayLeaving{to{background-color:transparent}}\n"] }]
81
81
  }], propDecorators: { closeRequestedDisabled: [{
@@ -85,18 +85,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
85
85
  type: Output
86
86
  }] } });
87
87
 
88
+ class DialogRegistry {
89
+ _items = [];
90
+ add(id) {
91
+ this._items.push(id);
92
+ }
93
+ remove(id) {
94
+ this._items = this._items.filter(item => item !== id);
95
+ }
96
+ isActive(modal) {
97
+ return this._items?.[this._items?.length - 1] === modal?.id;
98
+ }
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
100
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogRegistry, providedIn: 'root' });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogRegistry, decorators: [{
103
+ type: Injectable,
104
+ args: [{
105
+ providedIn: 'root'
106
+ }]
107
+ }] });
108
+
109
+ let nextUniqueId$1 = 0;
88
110
  class BbDialogModal {
89
111
  // Dependencies.
90
112
  _renderer = inject(Renderer2);
113
+ _registry = inject(DialogRegistry);
91
114
  _document = inject(DOCUMENT, { optional: true });
115
+ // Readonly data.
116
+ id = `bb-dialog-${nextUniqueId$1++}`;
92
117
  // Inputs.
93
118
  appearance = input('modal', ...(ngDevMode ? [{ debugName: "appearance" }] : []));
94
119
  withoutBodyPadding = input(false, ...(ngDevMode ? [{ debugName: "withoutBodyPadding", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
95
120
  maxWidth = input('30rem', ...(ngDevMode ? [{ debugName: "maxWidth" }] : []));
96
121
  ngOnInit() {
122
+ this._registry.add(this.id);
97
123
  this.allowGlobalOverflow(false);
98
124
  }
99
125
  ngOnDestroy() {
126
+ this._registry.remove(this.id);
100
127
  this.allowGlobalOverflow(true);
101
128
  }
102
129
  allowGlobalOverflow(allow) {
@@ -108,10 +135,10 @@ class BbDialogModal {
108
135
  ? this._renderer.removeStyle(element, 'overflow')
109
136
  : this._renderer.setStyle(element, 'overflow', 'hidden');
110
137
  }
111
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
112
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.2", type: BbDialogModal, isStandalone: true, selector: "[bb-dialog-modal]", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, withoutBodyPadding: { classPropertyName: "withoutBodyPadding", publicName: "withoutBodyPadding", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "dialog" }, properties: { "class.without-body-padding": "withoutBodyPadding()", "class.fullscreen": "appearance() === 'fullscreen'", "class.bottom-sheet": "appearance() === 'bottom-sheet'", "style.max-width": "appearance() === 'modal' ? maxWidth() : null" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\"></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]\"></ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;overflow:clip;max-width:25rem;position:relative;pointer-events:auto;flex-direction:column;background-color:#fff;max-height:calc(100dvh - 3rem);will-change:opacity,transform;border-radius:var(--bb-dialog-border-radius, .25rem);animation:dialogModalEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.fullscreen{min-width:100vw;border-radius:0;min-height:100dvh;max-height:100dvh;animation:dialogModalFullscreenEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.fullscreen>.bb-dialog-modal-body{flex:1}.bb-dialog-modal.bottom-sheet{min-width:100vw;margin-bottom:0;border-radius:1rem 1rem 0 0;min-height:calc(100dvh - 10%);max-height:calc(100dvh - 10%);box-shadow:0 -.25rem .5rem .25rem #0000001f;animation:dialogModalBottomSheetEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.bottom-sheet>.bb-dialog-modal-body{flex:1}.bb-dialog-modal.without-body-padding>.bb-dialog-modal-body{padding:0}.bb-dialog-modal-body{color:#738694;padding:1.5rem;overflow-y:auto;line-height:1.4;font-size:.8125rem;background-color:#f1f3f6}@keyframes dialogModalEntering{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes dialogModalLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}@keyframes dialogModalFullscreenEntering{0%{opacity:0}to{opacity:1}}@keyframes dialogModalFullscreenLeaving{0%{opacity:1}to{opacity:0}}@keyframes dialogModalBottomSheetEntering{0%{opacity:0;transform:translateY(10%)}to{opacity:1;transform:none}}@keyframes dialogModalBottomSheetLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10%)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogModal, deps: [], target: i0.ɵɵFactoryTarget.Component });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.3", type: BbDialogModal, isStandalone: true, selector: "[bb-dialog-modal]", inputs: { appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, withoutBodyPadding: { classPropertyName: "withoutBodyPadding", publicName: "withoutBodyPadding", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "dialog" }, properties: { "class.without-body-padding": "withoutBodyPadding()", "class.fullscreen": "appearance() === 'fullscreen'", "class.bottom-sheet": "appearance() === 'bottom-sheet'", "style.max-width": "appearance() === 'modal' ? maxWidth() : null" }, classAttribute: "bb-dialog-modal" }, ngImport: i0, template: "<ng-content select=\"[bb-dialog-header]\"></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]\"></ng-content>\n", styles: [".bb-dialog-modal{width:100%;margin:auto;z-index:1001;display:flex;overflow:clip;max-width:25rem;position:relative;pointer-events:auto;flex-direction:column;background-color:#fff;max-height:calc(100dvh - 3rem);will-change:opacity,transform;border-radius:var(--bb-dialog-border-radius, .25rem);animation:dialogModalEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.fullscreen{min-width:100vw;border-radius:0;min-height:100dvh;max-height:100dvh;animation:dialogModalFullscreenEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.fullscreen>.bb-dialog-modal-body{flex:1}.bb-dialog-modal.bottom-sheet{min-width:100vw;margin-bottom:0;border-radius:1rem 1rem 0 0;min-height:calc(100dvh - 10%);max-height:calc(100dvh - 10%);box-shadow:0 -.25rem .5rem .25rem #0000001f;animation:dialogModalBottomSheetEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-modal.bottom-sheet>.bb-dialog-modal-body{flex:1}.bb-dialog-modal.without-body-padding>.bb-dialog-modal-body{padding:0}.bb-dialog-modal-body{color:#738694;padding:1.5rem;overflow-y:auto;line-height:1.4;font-size:.8125rem;background-color:#f1f3f6}@keyframes dialogModalEntering{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@keyframes dialogModalLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}@keyframes dialogModalFullscreenEntering{0%{opacity:0}to{opacity:1}}@keyframes dialogModalFullscreenLeaving{0%{opacity:1}to{opacity:0}}@keyframes dialogModalBottomSheetEntering{0%{opacity:0;transform:translateY(10%)}to{opacity:1;transform:none}}@keyframes dialogModalBottomSheetLeaving{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(10%)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
113
140
  }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogModal, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogModal, decorators: [{
115
142
  type: Component,
116
143
  args: [{ selector: '[bb-dialog-modal]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
117
144
  'class': 'bb-dialog-modal',
@@ -126,6 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
126
153
  class BbDialogHeader {
127
154
  // Dependencies.
128
155
  _config = inject(DIALOG_CONFIG);
156
+ _registry = inject(DialogRegistry);
157
+ _modal = inject(BbDialogModal, { optional: true });
129
158
  // Readonly data.
130
159
  closeIconName = this._config?.icons?.closeIcon ?? 'material:close';
131
160
  // Inputs.
@@ -133,16 +162,16 @@ class BbDialogHeader {
133
162
  closeRequestedDisabled = false;
134
163
  // Outputs.
135
164
  closeRequested = new EventEmitter();
136
- onKeyEvent(event) {
137
- if (event?.key !== 'Escape' || this.closeRequestedDisabled) {
165
+ onKeyEvent() {
166
+ if (this.closeRequestedDisabled || !this._registry.isActive(this._modal)) {
138
167
  return;
139
168
  }
140
169
  this.closeRequested.emit();
141
170
  }
142
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
143
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDialogHeader, isStandalone: true, selector: "[bb-dialog-header]", inputs: { icon: "icon", closeRequestedDisabled: ["closeRequestedDisabled", "closeRequestedDisabled", booleanAttribute] }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup": "onKeyEvent($event)" }, classAttribute: "bb-dialog-header" }, ngImport: i0, template: "@if (icon; as iconSrc) {\n <bb-icon [src]=\"iconSrc\"></bb-icon>\n}\n\n<ng-content></ng-content>\n\n@if (closeRequested?.observed && !closeRequestedDisabled) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n}\n", styles: [".bb-dialog-header{gap:.5rem;display:flex;align-items:center;min-height:3.75rem;padding:.75rem 1.5rem;background-color:#fff;border-bottom:1px solid #d8d8d8}.bb-dialog-header>h1,.bb-dialog-header>strong{flex:1;color:#111;display:block;max-width:100%;font-weight:500;overflow:hidden;font-size:1.125rem;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-close{width:2rem;height:2rem;border:none;display:flex;min-width:2rem;min-height:2rem;overflow:hidden;position:relative;border-radius:50%;align-items:center;margin-right:-.5rem;justify-content:center;background-color:transparent}.bb-dialog-header-close:hover,.bb-dialog-header-close:focus{background-color:#f2f2f2}.bb-dialog-header-close:active{background-color:#e6e6e6}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
171
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
172
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDialogHeader, isStandalone: true, selector: "[bb-dialog-header]", inputs: { icon: "icon", closeRequestedDisabled: ["closeRequestedDisabled", "closeRequestedDisabled", booleanAttribute] }, outputs: { closeRequested: "closeRequested" }, host: { listeners: { "window:keyup.escape": "onKeyEvent()" }, classAttribute: "bb-dialog-header" }, ngImport: i0, template: "@if (icon; as iconSrc) {\n <bb-icon [src]=\"iconSrc\"></bb-icon>\n}\n\n<ng-content></ng-content>\n\n@if (closeRequested?.observed && !closeRequestedDisabled) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n}\n", styles: [".bb-dialog-header{gap:.5rem;display:flex;align-items:center;min-height:3.75rem;padding:.75rem 1.5rem;background-color:#fff;border-bottom:1px solid #d8d8d8}.bb-dialog-header>h1,.bb-dialog-header>strong{flex:1;color:#111;display:block;max-width:100%;font-weight:500;overflow:hidden;font-size:1.125rem;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-close{width:2rem;height:2rem;border:none;display:flex;min-width:2rem;min-height:2rem;overflow:hidden;position:relative;border-radius:50%;align-items:center;margin-right:-.5rem;justify-content:center;background-color:transparent}.bb-dialog-header-close:hover,.bb-dialog-header-close:focus{background-color:#f2f2f2}.bb-dialog-header-close:active{background-color:#e6e6e6}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
144
173
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogHeader, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogHeader, decorators: [{
146
175
  type: Component,
147
176
  args: [{ selector: '[bb-dialog-header]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-header' }, imports: [BbIcon], template: "@if (icon; as iconSrc) {\n <bb-icon [src]=\"iconSrc\"></bb-icon>\n}\n\n<ng-content></ng-content>\n\n@if (closeRequested?.observed && !closeRequestedDisabled) {\n <button (click)=\"closeRequested?.emit()\"\n type=\"button\"\n class=\"bb-dialog-header-close\">\n <bb-icon [src]=\"closeIconName\"></bb-icon>\n </button>\n}\n", styles: [".bb-dialog-header{gap:.5rem;display:flex;align-items:center;min-height:3.75rem;padding:.75rem 1.5rem;background-color:#fff;border-bottom:1px solid #d8d8d8}.bb-dialog-header>h1,.bb-dialog-header>strong{flex:1;color:#111;display:block;max-width:100%;font-weight:500;overflow:hidden;font-size:1.125rem;white-space:nowrap;text-overflow:ellipsis}.bb-dialog-header-close{width:2rem;height:2rem;border:none;display:flex;min-width:2rem;min-height:2rem;overflow:hidden;position:relative;border-radius:50%;align-items:center;margin-right:-.5rem;justify-content:center;background-color:transparent}.bb-dialog-header-close:hover,.bb-dialog-header-close:focus{background-color:#f2f2f2}.bb-dialog-header-close:active{background-color:#e6e6e6}\n"] }]
148
177
  }], propDecorators: { icon: [{
@@ -154,24 +183,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImpor
154
183
  type: Output
155
184
  }], onKeyEvent: [{
156
185
  type: HostListener,
157
- args: ['window:keyup', ['$event']]
186
+ args: ['window:keyup.escape']
158
187
  }] } });
159
188
 
160
189
  class BbDialogActions {
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
162
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: BbDialogActions, isStandalone: true, 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{display:block;padding:1rem 1.5rem;background-color:#fff;border-top:1px solid #d8d8d8}\n"], dependencies: [{ kind: "component", type: BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogActions, deps: [], target: i0.ɵɵFactoryTarget.Component });
191
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: BbDialogActions, isStandalone: true, 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{display:block;padding:1rem 1.5rem;background-color:#fff;border-top:1px solid #d8d8d8}\n"], dependencies: [{ kind: "component", type: BbFormGroup, selector: "bb-form-group", inputs: ["grouped"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
163
192
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogActions, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogActions, decorators: [{
165
194
  type: Component,
166
195
  args: [{ selector: '[bb-dialog-actions]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-actions' }, imports: [BbFormGroup], template: "<bb-form-group class=\"end\">\n <ng-content></ng-content>\n</bb-form-group>\n", styles: [".bb-dialog-actions{display:block;padding:1rem 1.5rem;background-color:#fff;border-top:1px solid #d8d8d8}\n"] }]
167
196
  }] });
168
197
 
169
198
  class BbDialogInsertion {
170
199
  viewContainerRef = inject(ViewContainerRef);
171
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogInsertion, deps: [], target: i0.ɵɵFactoryTarget.Directive });
172
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.2", type: BbDialogInsertion, isStandalone: true, selector: "[bbDialogInsertion]", ngImport: i0 });
200
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogInsertion, deps: [], target: i0.ɵɵFactoryTarget.Directive });
201
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: BbDialogInsertion, isStandalone: true, selector: "[bbDialogInsertion]", ngImport: i0 });
173
202
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogInsertion, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogInsertion, decorators: [{
175
204
  type: Directive,
176
205
  args: [{
177
206
  selector: '[bbDialogInsertion]'
@@ -227,10 +256,10 @@ class BbDialogContainer {
227
256
  return Math.sqrt(Math.pow(event.clientX - initialX, 2) +
228
257
  Math.pow(event.clientY - initialY, 2));
229
258
  }
230
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
231
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.2", type: BbDialogContainer, isStandalone: true, selector: "bb-dialog-container", host: { classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container{inset:0;z-index:1000;display:flex;position:fixed;will-change:opacity;background-color:#1119;animation:dialogContainerEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving{animation:dialogContainerLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container-component{width:100%;margin:auto;z-index:1001;display:block;padding:1.5rem;pointer-events:none;will-change:opacity,transform}.bb-dialog-container-component:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet){margin:0;display:flex}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet)>*{flex:1;display:flex}@keyframes dialogContainerEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogContainerLeaving{to{background-color:transparent}}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
259
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
260
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.3", type: BbDialogContainer, isStandalone: true, selector: "bb-dialog-container", host: { classAttribute: "bb-dialog-container" }, viewQueries: [{ propertyName: "insertion", first: true, predicate: BbDialogInsertion, descendants: true, static: true }], ngImport: i0, template: "<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container{inset:0;z-index:1000;display:flex;position:fixed;will-change:opacity;background-color:#1119;animation:dialogContainerEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving{animation:dialogContainerLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container-component{width:100%;margin:auto;z-index:1001;display:block;padding:1.5rem;pointer-events:none;will-change:opacity,transform}.bb-dialog-container-component:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet){margin:0;display:flex}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet)>*{flex:1;display:flex}@keyframes dialogContainerEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogContainerLeaving{to{background-color:transparent}}\n"], dependencies: [{ kind: "directive", type: BbDialogInsertion, selector: "[bbDialogInsertion]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
232
261
  }
233
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogContainer, decorators: [{
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogContainer, decorators: [{
234
263
  type: Component,
235
264
  args: [{ selector: 'bb-dialog-container', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-container' }, imports: [BbDialogInsertion], template: "<div class=\"bb-dialog-container-component\">\n <ng-container bbDialogInsertion></ng-container>\n</div>\n", styles: [".bb-dialog-container{inset:0;z-index:1000;display:flex;position:fixed;will-change:opacity;background-color:#1119;animation:dialogContainerEntering .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving{animation:dialogContainerLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal{animation:dialogModalLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.fullscreen{animation:dialogModalFullscreenLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container.leaving .bb-dialog-modal.bottom-sheet{animation:dialogModalBottomSheetLeaving .24s cubic-bezier(0,0,.2,1) forwards}.bb-dialog-container-component{width:100%;margin:auto;z-index:1001;display:block;padding:1.5rem;pointer-events:none;will-change:opacity,transform}.bb-dialog-container-component:has(.bb-dialog-modal.fullscreen,.bb-dialog-modal.bottom-sheet){padding:0}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet){margin:0;display:flex}.bb-dialog-container-component:has(.bb-dialog-modal.bottom-sheet)>*{flex:1;display:flex}@keyframes dialogContainerEntering{0%{background-color:transparent}to{background-color:#1119}}@keyframes dialogContainerLeaving{to{background-color:transparent}}\n"] }]
236
265
  }], propDecorators: { insertion: [{
@@ -275,10 +304,10 @@ class BbDialogConfirm {
275
304
  this._dialogRef.close(true);
276
305
  }
277
306
  }
278
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component });
279
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: BbDialogConfirm, isStandalone: true, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header [icon]=\"icon\"\n bb-dialog-header>\n @if (title; as titleContent) {\n <strong [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </strong>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n [disabled]=\"loading$ | async\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n [loading]=\"loading$ | async\"\n (click)=\"onClose(true)\"\n bb-button\n bbFocus\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-modal-body{background-color:#fff}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-header>.bb-icon{color:var(--bb-destructive-color-500)}.bb-dialog-confirm-description{line-height:2;font-size:.875rem}.bb-dialog-confirm-footer{gap:1rem;display:flex;margin-top:1.5rem;flex-direction:column}@media only screen and (min-width: 768px){.bb-dialog-confirm-footer{flex-direction:row}}\n"], dependencies: [{ kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["appearance", "withoutBodyPadding", "maxWidth"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["icon", "closeRequestedDisabled"], outputs: ["closeRequested"] }, { kind: "directive", type: BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "directive", type: BbFocus, selector: "[bbFocus]", inputs: ["bbFocusMode"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
307
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component });
308
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: BbDialogConfirm, isStandalone: true, selector: "bb-dialog-confirm", host: { classAttribute: "bb-dialog-confirm" }, ngImport: i0, template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header [icon]=\"icon\"\n bb-dialog-header>\n @if (title; as titleContent) {\n <strong [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </strong>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n [disabled]=\"loading$ | async\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n [loading]=\"loading$ | async\"\n (click)=\"onClose(true)\"\n bb-button\n bbFocus\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-modal-body{background-color:#fff}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-header>.bb-icon{color:var(--bb-destructive-color-500)}.bb-dialog-confirm-description{line-height:2;font-size:.875rem}.bb-dialog-confirm-footer{gap:1rem;display:flex;margin-top:1.5rem;flex-direction:column}@media only screen and (min-width: 768px){.bb-dialog-confirm-footer{flex-direction:row}}\n"], dependencies: [{ kind: "component", type: BbDialogModal, selector: "[bb-dialog-modal]", inputs: ["appearance", "withoutBodyPadding", "maxWidth"] }, { kind: "component", type: BbDialogHeader, selector: "[bb-dialog-header]", inputs: ["icon", "closeRequestedDisabled"], outputs: ["closeRequested"] }, { kind: "directive", type: BbFocusTrap, selector: "[bbFocusTrap]" }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "directive", type: BbFocus, selector: "[bbFocus]", inputs: ["bbFocusMode"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
280
309
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbDialogConfirm, decorators: [{
310
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbDialogConfirm, decorators: [{
282
311
  type: Component,
283
312
  args: [{ selector: 'bb-dialog-confirm', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dialog-confirm' }, imports: [BbDialogModal, BbDialogHeader, BbFocusTrap, BbLocalize, BbTemplate, NgClass, BbButton, BbFocus, AsyncPipe], template: "<div [attr.aria-labelledby]=\"dialogId\"\n [maxWidth]=\"width\"\n bb-dialog-modal\n bbFocusTrap>\n <header [icon]=\"icon\"\n bb-dialog-header>\n @if (title; as titleContent) {\n <strong [id]=\"dialogId\">\n <ng-template [bbTemplate]=\"titleContent\">\n {{ $any(titleContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </strong>\n }\n </header>\n\n @if (description; as descriptionContent) {\n <p class=\"bb-dialog-confirm-description\">\n <ng-template [bbTemplate]=\"descriptionContent\">\n {{ $any(descriptionContent) | bbLocalize:{optional: true} }}\n </ng-template>\n </p>\n }\n\n <footer class=\"bb-dialog-confirm-footer\">\n @if (cancelButtonText; as cancelButtonTextLabel) {\n <button [ngClass]=\"cancelButtonClass ? cancelButtonClass : 'secondary full'\"\n [disabled]=\"loading$ | async\"\n (click)=\"onClose(false)\"\n bb-button\n type=\"button\">\n {{ cancelButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n @if (confirmButtonText; as confirmButtonTextLabel) {\n <button [ngClass]=\"confirmButtonClass ? confirmButtonClass : 'destructive full'\"\n [loading]=\"loading$ | async\"\n (click)=\"onClose(true)\"\n bb-button\n bbFocus\n type=\"button\">\n {{ confirmButtonTextLabel | bbLocalize:{optional: true} }}\n </button>\n }\n </footer>\n</div>\n", styles: [".bb-dialog-confirm{display:block}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-modal-body{background-color:#fff}.bb-dialog-confirm>.bb-dialog-modal>.bb-dialog-header>.bb-icon{color:var(--bb-destructive-color-500)}.bb-dialog-confirm-description{line-height:2;font-size:.875rem}.bb-dialog-confirm-footer{gap:1rem;display:flex;margin-top:1.5rem;flex-direction:column}@media only screen and (min-width: 768px){.bb-dialog-confirm-footer{flex-direction:row}}\n"] }]
284
313
  }] });
@@ -340,10 +369,10 @@ class Dialog {
340
369
  dialogComponentRef.destroy();
341
370
  dialogComponentRef = null;
342
371
  }
343
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Dialog, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
344
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Dialog, providedIn: 'root' });
372
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: Dialog, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
373
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: Dialog, providedIn: 'root' });
345
374
  }
346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: Dialog, decorators: [{
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: Dialog, decorators: [{
347
376
  type: Injectable,
348
377
  args: [{
349
378
  providedIn: 'root'
@@ -374,10 +403,10 @@ class BbConfirm {
374
403
  }
375
404
  this.confirm.emit(event);
376
405
  }
377
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbConfirm, deps: [], target: i0.ɵɵFactoryTarget.Directive });
378
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.2", type: BbConfirm, isStandalone: true, selector: "[bbConfirm]", inputs: { bbConfirmTitle: "bbConfirmTitle", bbConfirmDescription: "bbConfirmDescription", bbConfirmIconName: "bbConfirmIconName", bbConfirmButtonText: "bbConfirmButtonText", bbConfirmWidth: "bbConfirmWidth", bbCancelButtonText: "bbCancelButtonText" }, outputs: { confirm: "bbConfirm" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbConfirm, deps: [], target: i0.ɵɵFactoryTarget.Directive });
407
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: BbConfirm, isStandalone: true, selector: "[bbConfirm]", inputs: { bbConfirmTitle: "bbConfirmTitle", bbConfirmDescription: "bbConfirmDescription", bbConfirmIconName: "bbConfirmIconName", bbConfirmButtonText: "bbConfirmButtonText", bbConfirmWidth: "bbConfirmWidth", bbCancelButtonText: "bbCancelButtonText" }, outputs: { confirm: "bbConfirm" }, host: { listeners: { "click": "onClick($event)" } }, ngImport: i0 });
379
408
  }
380
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: BbConfirm, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BbConfirm, decorators: [{
381
410
  type: Directive,
382
411
  args: [{
383
412
  selector: '[bbConfirm]'
@@ -417,8 +446,8 @@ class DialogModule {
417
446
  ]
418
447
  };
419
448
  }
420
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
421
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.2", ngImport: i0, type: DialogModule, imports: [BbDialogContainer,
449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
450
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: DialogModule, imports: [BbDialogContainer,
422
451
  BbDialogOverlay,
423
452
  BbDialogModal,
424
453
  BbDialogHeader,
@@ -430,11 +459,11 @@ class DialogModule {
430
459
  BbDialogHeader,
431
460
  BbDialogActions,
432
461
  BbConfirm] });
433
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DialogModule, imports: [BbDialogHeader,
462
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogModule, imports: [BbDialogHeader,
434
463
  BbDialogActions,
435
464
  BbDialogConfirm] });
436
465
  }
437
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: DialogModule, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: DialogModule, decorators: [{
438
467
  type: NgModule,
439
468
  args: [{
440
469
  imports: [