@bravobit/bb-foundation 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/controls/bravobit-bb-foundation-controls.d.ts +5 -0
  2. package/controls/lib/checkbox/checkbox.component.d.ts +27 -0
  3. package/controls/lib/checkbox/checkbox.module.d.ts +9 -0
  4. package/controls/lib/controls.module.d.ts +7 -0
  5. package/controls/package.json +10 -0
  6. package/controls/public_api.d.ts +3 -0
  7. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  8. package/esm2020/auth/lib/auth.module.mjs +4 -4
  9. package/esm2020/auth/lib/auth.service.mjs +3 -3
  10. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  11. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  12. package/esm2020/auth/lib/directives/role.directive.mjs +3 -3
  13. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  14. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  15. package/esm2020/auth/lib/helpers/mapper.helper.mjs +3 -3
  16. package/esm2020/auth/lib/permissions.service.mjs +3 -3
  17. package/esm2020/collections/lib/collections.module.mjs +4 -4
  18. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +8 -8
  19. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  20. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  21. package/esm2020/controls/bravobit-bb-foundation-controls.mjs +5 -0
  22. package/esm2020/controls/lib/checkbox/checkbox.component.mjs +86 -0
  23. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -0
  24. package/esm2020/controls/lib/controls.module.mjs +16 -0
  25. package/esm2020/controls/public_api.mjs +4 -0
  26. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  27. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  28. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  29. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  30. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  31. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  32. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  33. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  34. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  35. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
  36. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
  37. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  38. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  39. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  40. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  41. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  42. package/esm2020/dialog/lib/dialog.module.mjs +5 -9
  43. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  44. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  45. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  46. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  47. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
  48. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  49. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  50. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +3 -3
  51. package/esm2020/elements/lib/directives/focus.directive.mjs +3 -3
  52. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  53. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  54. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  55. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  56. package/esm2020/elements/lib/elements.module.mjs +4 -4
  57. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
  58. package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
  59. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  60. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  61. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  62. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  63. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  64. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  65. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  66. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  67. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  68. package/esm2020/http/lib/http.module.mjs +4 -4
  69. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  70. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  71. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  72. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  73. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  74. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  75. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  76. package/esm2020/lib/core/services/network.service.mjs +3 -3
  77. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  78. package/esm2020/lib/core/services/platform.service.mjs +3 -3
  79. package/esm2020/localize/lib/localize.module.mjs +4 -4
  80. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  81. package/esm2020/localize/lib/localize.service.mjs +3 -3
  82. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  83. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  84. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  85. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  86. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  87. package/esm2020/notifications/lib/notifications.module.mjs +6 -7
  88. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  89. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  90. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  91. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  92. package/esm2020/storage/lib/storage.service.mjs +3 -3
  93. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  94. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  95. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  96. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  97. package/esm2020/table/lib/table.module.mjs +4 -4
  98. package/fesm2015/bravobit-bb-foundation-auth.mjs +32 -31
  99. package/fesm2015/bravobit-bb-foundation-collections.mjs +27 -26
  100. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  101. package/fesm2015/bravobit-bb-foundation-controls.mjs +123 -0
  102. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -0
  103. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
  104. package/fesm2015/bravobit-bb-foundation-dialog.mjs +32 -35
  105. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  106. package/fesm2015/bravobit-bb-foundation-elements.mjs +85 -85
  107. package/fesm2015/bravobit-bb-foundation-http.mjs +11 -10
  108. package/fesm2015/bravobit-bb-foundation-localize.mjs +20 -19
  109. package/fesm2015/bravobit-bb-foundation-notifications.mjs +15 -15
  110. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  111. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +11 -10
  112. package/fesm2015/bravobit-bb-foundation-rxjs.mjs +1 -0
  113. package/fesm2015/bravobit-bb-foundation-storage.mjs +4 -3
  114. package/fesm2015/bravobit-bb-foundation-table.mjs +23 -22
  115. package/fesm2015/bravobit-bb-foundation.mjs +25 -24
  116. package/fesm2020/bravobit-bb-foundation-auth.mjs +32 -31
  117. package/fesm2020/bravobit-bb-foundation-collections.mjs +27 -26
  118. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  119. package/fesm2020/bravobit-bb-foundation-controls.mjs +121 -0
  120. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -0
  121. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
  122. package/fesm2020/bravobit-bb-foundation-dialog.mjs +32 -35
  123. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  124. package/fesm2020/bravobit-bb-foundation-elements.mjs +85 -85
  125. package/fesm2020/bravobit-bb-foundation-http.mjs +11 -10
  126. package/fesm2020/bravobit-bb-foundation-localize.mjs +20 -19
  127. package/fesm2020/bravobit-bb-foundation-notifications.mjs +15 -15
  128. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  129. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +11 -10
  130. package/fesm2020/bravobit-bb-foundation-rxjs.mjs +1 -0
  131. package/fesm2020/bravobit-bb-foundation-storage.mjs +4 -3
  132. package/fesm2020/bravobit-bb-foundation-table.mjs +23 -22
  133. package/fesm2020/bravobit-bb-foundation.mjs +25 -24
  134. package/package.json +9 -1
@@ -97,9 +97,9 @@ class BaseUrlInterceptor {
97
97
  return null;
98
98
  }
99
99
  }
100
- BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseUrlInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
101
- BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseUrlInterceptor });
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
100
+ BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BaseUrlInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
101
+ BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BaseUrlInterceptor });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
103
103
  type: Injectable
104
104
  }], ctorParameters: function () { return [{ type: HttpConfig }]; } });
105
105
 
@@ -123,9 +123,9 @@ class ErrorInterceptor {
123
123
  }));
124
124
  }
125
125
  }
126
- ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ErrorInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
127
- ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ErrorInterceptor });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: ErrorInterceptor, decorators: [{
126
+ ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ErrorInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
127
+ ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ErrorInterceptor });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ErrorInterceptor, decorators: [{
129
129
  type: Injectable
130
130
  }], ctorParameters: function () { return [{ type: HttpConfig }]; } });
131
131
 
@@ -148,10 +148,10 @@ class HttpModule {
148
148
  };
149
149
  }
150
150
  }
151
- HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
152
- HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
153
- HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpModule, imports: [[HttpClientModule]] });
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: HttpModule, decorators: [{
151
+ HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
152
+ HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
153
+ HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: HttpModule, imports: [[HttpClientModule]] });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: HttpModule, decorators: [{
155
155
  type: NgModule,
156
156
  args: [{
157
157
  imports: [HttpClientModule]
@@ -173,3 +173,4 @@ function createHttpConfig(data) {
173
173
  */
174
174
 
175
175
  export { BaseUrlInterceptor, ErrorInterceptor, HTTP_CONFIGURATION_DATA, HttpConfig, HttpError, HttpModule, createHttpConfig };
176
+ //# sourceMappingURL=bravobit-bb-foundation-http.mjs.map
@@ -209,9 +209,9 @@ class BbLocalizeTemplate {
209
209
  this.name = null;
210
210
  }
211
211
  }
212
- BbLocalizeTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
213
- BbLocalizeTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
212
+ BbLocalizeTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
213
+ BbLocalizeTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
215
215
  type: Directive,
216
216
  args: [{
217
217
  selector: '[bbLocalizeTemplate]'
@@ -236,9 +236,9 @@ class BbLocalizeTemplateOrString {
236
236
  this._viewContainerRef.createEmbeddedView(template);
237
237
  }
238
238
  }
239
- BbLocalizeTemplateOrString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeTemplateOrString, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
240
- BbLocalizeTemplateOrString.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: { bbLocalizeTemplateOrString: "bbLocalizeTemplateOrString" }, ngImport: i0 });
241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeTemplateOrString, decorators: [{
239
+ BbLocalizeTemplateOrString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeTemplateOrString, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
240
+ BbLocalizeTemplateOrString.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: { bbLocalizeTemplateOrString: "bbLocalizeTemplateOrString" }, ngImport: i0 });
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeTemplateOrString, decorators: [{
242
242
  type: Directive,
243
243
  args: [{
244
244
  selector: '[bbLocalizeTemplateOrString]'
@@ -315,9 +315,9 @@ class BbLocalizeString {
315
315
  ];
316
316
  }
317
317
  }
318
- BbLocalizeString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
319
- BbLocalizeString.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BbLocalizeString, selector: "bb-localize-string", inputs: { substitutions: "substitutions", value: "value" }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: ["bbLocalizeTemplateOrString"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
320
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalizeString, decorators: [{
318
+ BbLocalizeString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
319
+ BbLocalizeString.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbLocalizeString, selector: "bb-localize-string", inputs: { substitutions: "substitutions", value: "value" }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: ["bbLocalizeTemplateOrString"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalizeString, decorators: [{
321
321
  type: Component,
322
322
  args: [{ selector: 'bb-localize-string', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
323
323
  'class': 'bb-localize-string'
@@ -697,9 +697,9 @@ class Localize {
697
697
  element.lang = (_d = (_c = (_b = this._currentDictionary) === null || _b === void 0 ? void 0 : _b.supportedLanguages) === null || _c === void 0 ? void 0 : _c[0]) !== null && _d !== void 0 ? _d : (_e = this._currentDictionary) === null || _e === void 0 ? void 0 : _e.locale;
698
698
  }
699
699
  }
700
- Localize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Localize, deps: [{ token: i1$1.HttpClient }, { token: i2.Storage }, { token: i3.Platform }, { token: i3.Languages }, { token: i4.TransferState, optional: true }, { token: LocalizeConfig, optional: true }, { token: LocalizeMissingHandler }, { token: DOCUMENT, optional: true }, { token: LOCATION, optional: true }, { token: BASE_URL, optional: true }, { token: LOCALIZE_FUNCTION, optional: true }, { token: LOCALIZE_EXTRA_DICTIONARY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
701
- Localize.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Localize });
702
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Localize, decorators: [{
700
+ Localize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Localize, deps: [{ token: i1$1.HttpClient }, { token: i2.Storage }, { token: i3.Platform }, { token: i3.Languages }, { token: i4.TransferState, optional: true }, { token: LocalizeConfig, optional: true }, { token: LocalizeMissingHandler }, { token: DOCUMENT, optional: true }, { token: LOCATION, optional: true }, { token: BASE_URL, optional: true }, { token: LOCALIZE_FUNCTION, optional: true }, { token: LOCALIZE_EXTRA_DICTIONARY, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
701
+ Localize.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Localize });
702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Localize, decorators: [{
703
703
  type: Injectable
704
704
  }], ctorParameters: function () {
705
705
  return [{ type: i1$1.HttpClient }, { type: i2.Storage }, { type: i3.Platform }, { type: i3.Languages }, { type: i4.TransferState, decorators: [{
@@ -769,9 +769,9 @@ class BbLocalize {
769
769
  return Object.assign(Object.assign({}, params), options);
770
770
  }
771
771
  }
772
- BbLocalize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
773
- BbLocalize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalize, name: "bbLocalize" });
774
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbLocalize, decorators: [{
772
+ BbLocalize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
773
+ BbLocalize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalize, name: "bbLocalize" });
774
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbLocalize, decorators: [{
775
775
  type: Pipe,
776
776
  args: [{
777
777
  name: 'bbLocalize'
@@ -804,15 +804,15 @@ class LocalizeModule {
804
804
  };
805
805
  }
806
806
  }
807
- LocalizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
808
- LocalizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
807
+ LocalizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
808
+ LocalizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
809
809
  BbLocalizeString,
810
810
  BbLocalizeTemplate,
811
811
  BbLocalizeTemplateOrString], imports: [CommonModule, HttpClientModule], exports: [BbLocalize,
812
812
  BbLocalizeString,
813
813
  BbLocalizeTemplate] });
814
- LocalizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LocalizeModule, imports: [[CommonModule, HttpClientModule]] });
815
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: LocalizeModule, decorators: [{
814
+ LocalizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LocalizeModule, imports: [[CommonModule, HttpClientModule]] });
815
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: LocalizeModule, decorators: [{
816
816
  type: NgModule,
817
817
  args: [{
818
818
  imports: [CommonModule, HttpClientModule],
@@ -841,3 +841,4 @@ function getLocale(localize) {
841
841
  */
842
842
 
843
843
  export { BbLocalize, BbLocalizeString, BbLocalizeTemplate, LOCALIZATION_EXTRA_DUTCH, LOCALIZATION_EXTRA_ENGLISH, LOCALIZE_EXTRA_DICTIONARY, LOCALIZE_FUNCTION, Localize, LocalizeConfig, LocalizeDateFunction, LocalizeDictionary, LocalizeLowercaseFunction, LocalizeMissingHandler, LocalizeModule, LocalizeUppercaseFunction, getLocale, initializeLocale };
844
+ //# sourceMappingURL=bravobit-bb-foundation-localize.mjs.map
@@ -132,9 +132,9 @@ class BbNotificationsItem {
132
132
  this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
133
133
  }
134
134
  }
135
- BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
136
- BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{top:0;left:0;right:0;bottom:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "bbLocalize": i2$1.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbNotificationsItem, decorators: [{
135
+ BbNotificationsItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
136
+ BbNotificationsItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbNotificationsItem, selector: "bb-notifications-item", inputs: { notification: "notification", dismissButtonText: "dismissButtonText" }, host: { attributes: { "role": "alert" }, properties: { "class": "this.getClass" } }, viewQueries: [{ propertyName: "progressElementRef", first: true, predicate: ["progress"], descendants: true }], ngImport: i0, template: "<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n", styles: [".bb-notifications-item{display:flex;border-radius:4px;flex-direction:column;background-color:#fff;border:1px solid #d6dbe0}.bb-notifications-item.success .notification-icon-wrapper{color:#2dc05d;background-color:#ebfaf0}.bb-notifications-item.success .notification-progress-circle{stroke:#36d068}.bb-notifications-item.error .notification-icon-wrapper{color:#f43e3e;background-color:#feeeee}.bb-notifications-item.error .notification-progress-circle{stroke:#f55656}.bb-notifications-item.warning .notification-icon-wrapper{color:#f1ae00;background-color:#fff8e7}.bb-notifications-item.warning .notification-progress-circle{stroke:#ffbc0b}.bb-notifications-item.info .notification-icon-wrapper{color:#099bf6;background-color:#e9f6fe}.bb-notifications-item.info .notification-progress-circle{stroke:#22a5f7}.bb-notifications-item.custom .notification-icon-wrapper{color:#657385;background-color:#f3f5f6}.bb-notifications-item.custom .notification-progress-circle{stroke:#657385}.notification-content-wrapper{padding:20px;display:flex;align-items:center}.notification-icon-wrapper{width:40px;height:40px;display:flex;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;justify-content:center;color:#657385;background-color:#f3f5f6}.notification-icon{width:100%;height:100%;padding:10px;fill:currentColor}.notification-content{flex:1;font-size:14px;line-height:1.5;font-weight:500;margin-left:20px;color:#000000d9}.notification-content i{font-style:italic}.notification-content,.notification-actions-button{font-family:inherit}.notification-actions{display:flex;margin:0 20px;-webkit-user-select:none;user-select:none;border-top:1px solid #f3f5f6}.notification-actions-button{flex:1;border:none;color:#22a5f7;cursor:pointer;font-size:14px;font-weight:500;padding:12px 2px;text-align:center;background-color:transparent}.notification-actions-button:hover>.notification-actions-button-highlight,.notification-actions-button:focus>.notification-actions-button-highlight{background-color:#22a5f71a}.notification-actions-button:active>.notification-actions-button-highlight{background-color:#22a5f733}.notification-actions-button.destructive{color:#f55656}.notification-actions-button.destructive:hover>.notification-actions-button-highlight,.notification-actions-button.destructive:focus>.notification-actions-button-highlight{background-color:#f556561a}.notification-actions-button.destructive:active>.notification-actions-button-highlight{background-color:#f5565633}.notification-actions-button-highlight{padding:4px 12px;border-radius:12px;display:inline-flex;transition:background-color .15s cubic-bezier(0,0,.2,1)}.notification-progress-ring{top:0;left:0;right:0;bottom:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "bbLocalize": i2$1.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbNotificationsItem, decorators: [{
138
138
  type: Component,
139
139
  args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
140
140
  'role': 'alert'
@@ -176,9 +176,9 @@ class BbNotificationsList {
176
176
  return { vertical: y || null, horizontal: x || null };
177
177
  }
178
178
  }
179
- BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbNotificationsList, deps: [{ token: NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
180
- BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{top:0;left:0;right:0;bottom:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], components: [{ type: BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe }, animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: BbNotificationsList, decorators: [{
179
+ BbNotificationsList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbNotificationsList, deps: [{ token: NotificationsData }], target: i0.ɵɵFactoryTarget.Component });
180
+ BbNotificationsList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: BbNotificationsList, selector: "bb-notifications-list", host: { attributes: { "role": "list" }, properties: { "style.justify-content": "this.horizontalPosition", "style.align-items": "this.verticalPosition" }, classAttribute: "bb-notifications-list" }, ngImport: i0, template: "<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n", styles: [".bb-notifications-list{top:0;left:0;right:0;bottom:0;z-index:1100;padding:10px;display:flex;position:fixed;pointer-events:none}.notifications-list-wrapper{width:100%;display:block;max-width:400px;position:relative}.notifications-item-wrapper{padding:0;margin:0 0 10px;pointer-events:all}\n"], components: [{ type: BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i2.AsyncPipe }, animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: BbNotificationsList, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: 'bb-notifications-list', animations: [notificationAnimation], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
184
184
  'class': 'bb-notifications-list',
@@ -335,9 +335,9 @@ class Notifications {
335
335
  }
336
336
  }
337
337
  }
338
- Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Notifications, deps: [{ token: i0.Injector }, { token: i1.Platform }, { token: i0.ApplicationRef }, { token: i2$1.Localize, optional: true }, { token: NotificationsConfig, optional: true }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
339
- Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Notifications });
340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Notifications, decorators: [{
338
+ Notifications.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Notifications, deps: [{ token: i0.Injector }, { token: i1.Platform }, { token: i0.ApplicationRef }, { token: i2$1.Localize, optional: true }, { token: NotificationsConfig, optional: true }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
339
+ Notifications.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Notifications });
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Notifications, decorators: [{
341
341
  type: Injectable
342
342
  }], ctorParameters: function () {
343
343
  return [{ type: i0.Injector }, { type: i1.Platform }, { type: i0.ApplicationRef }, { type: i2$1.Localize, decorators: [{
@@ -358,15 +358,14 @@ class NotificationsModule {
358
358
  };
359
359
  }
360
360
  }
361
- NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
362
- NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] });
363
- NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NotificationsModule, imports: [[CommonModule, LocalizeModule]] });
364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: NotificationsModule, decorators: [{
361
+ NotificationsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
362
+ NotificationsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] });
363
+ NotificationsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NotificationsModule, imports: [[CommonModule, LocalizeModule]] });
364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NotificationsModule, decorators: [{
365
365
  type: NgModule,
366
366
  args: [{
367
367
  imports: [CommonModule, LocalizeModule],
368
- declarations: [BbNotificationsList, BbNotificationsItem],
369
- entryComponents: [BbNotificationsList]
368
+ declarations: [BbNotificationsList, BbNotificationsItem]
370
369
  }]
371
370
  }] });
372
371
 
@@ -375,3 +374,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
375
374
  */
376
375
 
377
376
  export { NotificationType, Notifications, NotificationsConfig, NotificationsData, NotificationsModule, NotificationsPosition };
377
+ //# sourceMappingURL=bravobit-bb-foundation-notifications.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-notifications.mjs","sources":["../../../projects/bb-foundation/notifications/src/lib/notifications.interfaces.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.animations.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-item/notifications-item.component.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-item/notifications-item.component.html","../../../projects/bb-foundation/notifications/src/lib/notifications-list/notifications-list.component.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-list/notifications-list.component.html","../../../projects/bb-foundation/notifications/src/lib/notifications.injector.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.service.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.module.ts","../../../projects/bb-foundation/notifications/src/bravobit-bb-foundation-notifications.ts"],"sourcesContent":["import {TemplateRef} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nexport interface Notification {\n content: string | TemplateRef<any>;\n\n id?: string;\n\n timeout?: number;\n localize?: boolean;\n dismiss?: boolean;\n dismissText?: string;\n data?: { [key: string]: any };\n type?: NotificationType;\n actions?: NotificationAction[];\n\n color?: string;\n backgroundColor?: string;\n\n destroy?: () => void;\n}\n\nexport interface NotificationAction {\n title: string;\n callback?: () => any;\n type?: 'default' | 'cancel';\n}\n\nexport enum NotificationType {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Custom = 'custom'\n}\n\nexport class NotificationsConfig {\n mode?: 'append' | 'prepend';\n position?: NotificationsPosition;\n timeout?: number;\n dismiss?: boolean;\n localize?: boolean;\n dismissText?: string;\n}\n\nexport enum NotificationsPosition {\n TopRight = 'flex-start|flex-end',\n BottomRight = 'flex-end|flex-end',\n TopLeft = 'flex-start|flex-start',\n BottomLeft = 'flex-end|flex-start'\n}\n\nexport class NotificationsData {\n data: Observable<Notification[]>;\n dismissText: string;\n position: NotificationsPosition;\n}\n","import {animate, group, query, stagger, style, transition, trigger} from '@angular/animations';\n\nconst s = '250ms cubic-bezier(0, 0, .2, 1)';\nconst l = '400ms cubic-bezier(0, 0, .2, 1)';\n\nexport const notificationAnimation = trigger('notificationListAnimation', [\n transition('* => *', [\n query(':enter', group([\n // 1. Set the initial state.\n style({height: 0, opacity: 0, transform: 'translateX({{ to }}%) scale(0.95)'}),\n // 2. Start the animation to show the item.\n stagger(0, [\n animate(s, style({height: '*'})),\n animate(l, style({opacity: 1, transform: 'translateX(0) scale(0.95)'})),\n animate(s, style({transform: 'translateX(0) scale(1)'}))\n ])\n ]), {optional: true}),\n\n query(':leave', group([\n // 1. Set the initial state.\n style({height: '*', opacity: 1, transform: 'translateX(0) scale(1)'}),\n // 2. Start the animation to hide the item.\n stagger(0, [\n animate(s, style({transform: 'translateX(0) scale(0.95)'})),\n animate(l, style({opacity: 0, transform: 'translateX({{ to }}%) scale(0.95)'})),\n animate(s, style({height: 0}))\n ])\n ]), {optional: true})\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {Notification, NotificationAction} from '../notifications.interfaces';\nimport {Platform} from '@bravobit/bb-foundation';\n\n@Component({\n selector: 'bb-notifications-item',\n templateUrl: './notifications-item.component.html',\n styleUrls: ['./notifications-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'role': 'alert'\n }\n})\nexport class BbNotificationsItem implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() notification: Notification;\n @Input() dismissButtonText: string | null;\n\n // Elements.\n @ViewChild('progress') progressElementRef: ElementRef;\n\n // Data.\n private _progress = 0;\n private _count = 0;\n\n // Helper variables.\n private _steps: number;\n private _speed: number;\n private _timer: number;\n private _startTime: number;\n private _difference: number;\n\n // Data.\n private readonly _radius = 19;\n private readonly _circumference = this._radius * 2 * Math.PI;\n\n @HostBinding('class') get getClass() {\n return `bb-notifications-item ${this.notification.type}`;\n }\n\n constructor(private _zone: NgZone,\n private _platform: Platform,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n get progressStrokeArray() {\n const value = Math.floor(this._circumference);\n return `${value}, ${value}`;\n }\n\n get progressStrokeOffset() {\n return Math.floor(this._circumference - this._progress / 100 * this._circumference);\n }\n\n get isContentString() {\n return typeof this.notification.content === 'string';\n }\n\n ngOnInit() {\n // Check if the notification timeout is not 0 and the platform is a browser.\n if (this.notification.timeout <= 0 || !this._platform.isBrowser) {\n this.notification.dismiss = true;\n return;\n }\n\n // Start the timeout.\n this.startTimeout();\n }\n\n ngOnDestroy() {\n // Clear the timeout if it was set.\n this._timer && window && window.clearTimeout && window.clearTimeout(this._timer);\n }\n\n callActionAndDestroy = (notification: Notification, action: NotificationAction) => {\n // Perform the callback (if it exists).\n action && action.callback && action.callback();\n\n // Call the destroy method (if it exists).\n notification && notification.destroy && notification.destroy();\n };\n\n private startTimeout() {\n // Calculate the steps of the timeout.\n this._steps = this.notification.timeout / 10;\n\n // Calculate the speed of the timeout.\n this._speed = this.notification.timeout / this._steps;\n\n // Get the start time.\n this._startTime = Date.now();\n\n // Set a new timer outside of Angular.\n this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));\n }\n\n private instance = () => {\n // Calculate the difference.\n this._difference = (Date.now() - this._startTime) - (this._count * this._speed);\n\n // Add up the count.\n if (this._count++ === this._steps) {\n this.notification.destroy();\n }\n\n // Add the steps to the progress.\n this._progress += 100 / this._steps;\n\n // Set a new timer.\n this._timer = this.setTimeout(this.instance, this._speed - this._difference);\n\n // Run a new change detection cycle.\n this._zone.run(() => this._changeDetection.detectChanges());\n };\n\n private setTimeout = (method: () => void, timeout: number) => {\n // Check if the window and method exist.\n if (!window || !window.setTimeout) {\n return null;\n }\n\n return window.setTimeout(method, timeout);\n };\n\n}\n","<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n","import {Notification, NotificationsData, NotificationsPosition} from '../notifications.interfaces';\nimport {ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation} from '@angular/core';\nimport {notificationAnimation} from '../notifications.animations';\n\n@Component({\n selector: 'bb-notifications-list',\n templateUrl: './notifications-list.component.html',\n styleUrls: ['./notifications-list.component.scss'],\n animations: [notificationAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-notifications-list',\n 'role': 'list'\n }\n})\nexport class BbNotificationsList {\n\n // Data.\n position: NotificationsPosition | null = null;\n\n // Track by function.\n trackByFn = (_, item: Notification) => item.id;\n\n constructor(public data: NotificationsData) {\n }\n\n @HostBinding('style.justify-content')\n get horizontalPosition() {\n return this.location.horizontal;\n }\n\n @HostBinding('style.align-items')\n get verticalPosition() {\n return this.location.vertical;\n }\n\n get animation() {\n const to = this.horizontalPosition === 'flex-start'\n ? -50\n : 50;\n\n return {to};\n }\n\n private get location() {\n const [y, x] = (this.data.position || '').split('|');\n\n return {vertical: y || null, horizontal: x || null};\n }\n\n}\n","<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class NotificationsInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injectable,\n Injector,\n Optional,\n TemplateRef\n} from '@angular/core';\nimport {\n Notification,\n NotificationAction,\n NotificationsPosition,\n NotificationsConfig,\n NotificationType,\n NotificationsData\n} from './notifications.interfaces';\nimport {BbNotificationsList} from './notifications-list/notifications-list.component';\nimport {NotificationsInjector} from './notifications.injector';\nimport {Localize} from '@bravobit/bb-foundation/localize';\nimport {Platform} from '@bravobit/bb-foundation';\nimport {BehaviorSubject} from 'rxjs';\nimport {share} from 'rxjs/operators';\n\n@Injectable()\nexport class Notifications {\n\n // Reference to the list.\n private _ref: ComponentRef<BbNotificationsList>;\n\n // The default settings for the notifications.\n private readonly _defaultMode: 'prepend' | 'append';\n private readonly _defaultTimeout: number;\n private readonly _defaultLocalize: boolean;\n private readonly _defaultDismiss: boolean;\n private readonly _defaultDismissText: string;\n private readonly _defaultPosition: NotificationsPosition;\n\n // The data containing the notifications.\n private _notifications$ = new BehaviorSubject<Notification[]>([]);\n\n constructor(private _injector: Injector,\n private _platform: Platform,\n private _applicationRef: ApplicationRef,\n @Optional() private _localize: Localize,\n @Optional() private _config: NotificationsConfig,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n // Get the config.\n const config = this._config || {};\n\n // Set the config.\n this._defaultMode = this.getProperty(config.mode, 'prepend');\n this._defaultTimeout = this.getProperty(config.timeout, 8000);\n this._defaultLocalize = this.getProperty(config.localize, false);\n this._defaultDismiss = this.getProperty(config.dismiss, true);\n this._defaultDismissText = this.getProperty(config.dismissText, 'Dismiss');\n this._defaultPosition = this.getProperty(config.position, NotificationsPosition.TopRight);\n\n // Create the element that holds all notifications.\n this.createElement();\n }\n\n success(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Success});\n }\n\n error(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Error});\n }\n\n warn(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Warning});\n }\n\n info(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Info});\n }\n\n create(notification: Notification) {\n // Compose a new notification item.\n const item = this.compose(notification);\n\n // Add the destroy function to the notification.\n item.destroy = () => this.pull(item);\n\n // Add the notification to the list\n // and return the item.\n return this.push(item);\n }\n\n private push(notification: Notification) {\n // Get the current list.\n const oldList = this._notifications$.getValue();\n\n // Check which mode is activated.\n let newList: Notification[];\n switch (this._defaultMode) {\n case 'append':\n newList = [...oldList, notification];\n break;\n case 'prepend':\n default:\n newList = [notification, ...oldList];\n }\n\n // Push the new notifications.\n this._notifications$.next(newList);\n\n // Return the notification for further use.\n return notification;\n }\n\n private pull(notification: Notification) {\n // Get the current list.\n const newList = this._notifications$\n .getValue()\n .filter(item => item.id !== notification.id);\n\n // Push a new list.\n this._notifications$.next(newList);\n }\n\n private compose(notification: Notification) {\n // Attach a random id to the notification.\n notification.id = Math.random().toString(36).substr(2, 10);\n\n // Set all properties.\n notification.type = this.getProperty(notification.type, NotificationType.Custom);\n notification.content = this.getProperty(notification.content, null);\n notification.data = this.getProperty(notification.data, {});\n notification.timeout = this.getProperty(notification.timeout, this._defaultTimeout);\n notification.localize = this.getProperty(notification.localize, this._defaultLocalize);\n notification.dismiss = this.getProperty(notification.dismiss, this._defaultDismiss);\n\n // Dismiss text localization.\n const dismissText = this.getProperty(notification.dismissText, this._defaultDismissText);\n notification.dismissText = this._defaultLocalize && this._localize\n ? this._localize.translate(dismissText)\n : dismissText;\n\n // Return the composed notification.\n return notification;\n }\n\n private createElement() {\n // Create a map with the config.\n const map = new WeakMap();\n map.set(NotificationsData, {\n data: this._notifications$.pipe(share()),\n dismissText: this._defaultDismissText,\n position: this._defaultPosition\n });\n\n // Create a custom injector.\n const notificationsInjector = new NotificationsInjector(this._injector, map);\n\n // Create the notification list and\n // get a reference to the component.\n this._ref = this._componentFactoryResolver\n .resolveComponentFactory(BbNotificationsList)\n .create(notificationsInjector);\n\n // Detect the changes.\n this._ref.changeDetectorRef.detectChanges();\n\n // Attach the component's view to the application\n // so that the change detection will run properly.\n this._applicationRef.attachView(this._ref.hostView);\n\n // If the platform is not a browser return.\n if (!this._platform.isBrowser) {\n return;\n }\n\n try {\n // Append the element to the DOM.\n document.body.appendChild(this._ref.location.nativeElement);\n } catch {\n // Don't do anything, because it must've failed.\n }\n }\n\n private getProperty = (property: any, defaultValue: any) => {\n return typeof property === 'undefined'\n ? defaultValue\n : property;\n };\n\n}\n","import {BbNotificationsList} from './notifications-list/notifications-list.component';\nimport {BbNotificationsItem} from './notifications-item/notifications-item.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {NotificationsConfig} from './notifications.interfaces';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {Notifications} from './notifications.service';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n imports: [CommonModule, LocalizeModule],\n declarations: [BbNotificationsList, BbNotificationsItem],\n entryComponents: [BbNotificationsList]\n})\nexport class NotificationsModule {\n\n static forRoot(config?: NotificationsConfig): ModuleWithProviders<NotificationsModule> {\n return {\n ngModule: NotificationsModule,\n providers: [\n {provide: NotificationsConfig, useValue: config},\n Notifications\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-notifications.mjs","sources":["../../../projects/bb-foundation/notifications/src/lib/notifications.interfaces.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.animations.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-item/notifications-item.component.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-item/notifications-item.component.html","../../../projects/bb-foundation/notifications/src/lib/notifications-list/notifications-list.component.ts","../../../projects/bb-foundation/notifications/src/lib/notifications-list/notifications-list.component.html","../../../projects/bb-foundation/notifications/src/lib/notifications.injector.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.service.ts","../../../projects/bb-foundation/notifications/src/lib/notifications.module.ts","../../../projects/bb-foundation/notifications/src/bravobit-bb-foundation-notifications.ts"],"sourcesContent":["import {TemplateRef} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nexport interface Notification {\n content: string | TemplateRef<any>;\n\n id?: string;\n\n timeout?: number;\n localize?: boolean;\n dismiss?: boolean;\n dismissText?: string;\n data?: { [key: string]: any };\n type?: NotificationType;\n actions?: NotificationAction[];\n\n color?: string;\n backgroundColor?: string;\n\n destroy?: () => void;\n}\n\nexport interface NotificationAction {\n title: string;\n callback?: () => any;\n type?: 'default' | 'cancel';\n}\n\nexport enum NotificationType {\n Success = 'success',\n Error = 'error',\n Warning = 'warning',\n Info = 'info',\n Custom = 'custom'\n}\n\nexport class NotificationsConfig {\n mode?: 'append' | 'prepend';\n position?: NotificationsPosition;\n timeout?: number;\n dismiss?: boolean;\n localize?: boolean;\n dismissText?: string;\n}\n\nexport enum NotificationsPosition {\n TopRight = 'flex-start|flex-end',\n BottomRight = 'flex-end|flex-end',\n TopLeft = 'flex-start|flex-start',\n BottomLeft = 'flex-end|flex-start'\n}\n\nexport class NotificationsData {\n data: Observable<Notification[]>;\n dismissText: string;\n position: NotificationsPosition;\n}\n","import {animate, group, query, stagger, style, transition, trigger} from '@angular/animations';\n\nconst s = '250ms cubic-bezier(0, 0, .2, 1)';\nconst l = '400ms cubic-bezier(0, 0, .2, 1)';\n\nexport const notificationAnimation = trigger('notificationListAnimation', [\n transition('* => *', [\n query(':enter', group([\n // 1. Set the initial state.\n style({height: 0, opacity: 0, transform: 'translateX({{ to }}%) scale(0.95)'}),\n // 2. Start the animation to show the item.\n stagger(0, [\n animate(s, style({height: '*'})),\n animate(l, style({opacity: 1, transform: 'translateX(0) scale(0.95)'})),\n animate(s, style({transform: 'translateX(0) scale(1)'}))\n ])\n ]), {optional: true}),\n\n query(':leave', group([\n // 1. Set the initial state.\n style({height: '*', opacity: 1, transform: 'translateX(0) scale(1)'}),\n // 2. Start the animation to hide the item.\n stagger(0, [\n animate(s, style({transform: 'translateX(0) scale(0.95)'})),\n animate(l, style({opacity: 0, transform: 'translateX({{ to }}%) scale(0.95)'})),\n animate(s, style({height: 0}))\n ])\n ]), {optional: true})\n ])\n]);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {Notification, NotificationAction} from '../notifications.interfaces';\nimport {Platform} from '@bravobit/bb-foundation';\n\n@Component({\n selector: 'bb-notifications-item',\n templateUrl: './notifications-item.component.html',\n styleUrls: ['./notifications-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'role': 'alert'\n }\n})\nexport class BbNotificationsItem implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() notification: Notification;\n @Input() dismissButtonText: string | null;\n\n // Elements.\n @ViewChild('progress') progressElementRef: ElementRef;\n\n // Data.\n private _progress = 0;\n private _count = 0;\n\n // Helper variables.\n private _steps: number;\n private _speed: number;\n private _timer: number;\n private _startTime: number;\n private _difference: number;\n\n // Data.\n private readonly _radius = 19;\n private readonly _circumference = this._radius * 2 * Math.PI;\n\n @HostBinding('class') get getClass() {\n return `bb-notifications-item ${this.notification.type}`;\n }\n\n constructor(private _zone: NgZone,\n private _platform: Platform,\n private _changeDetection: ChangeDetectorRef) {\n }\n\n get progressStrokeArray() {\n const value = Math.floor(this._circumference);\n return `${value}, ${value}`;\n }\n\n get progressStrokeOffset() {\n return Math.floor(this._circumference - this._progress / 100 * this._circumference);\n }\n\n get isContentString() {\n return typeof this.notification.content === 'string';\n }\n\n ngOnInit() {\n // Check if the notification timeout is not 0 and the platform is a browser.\n if (this.notification.timeout <= 0 || !this._platform.isBrowser) {\n this.notification.dismiss = true;\n return;\n }\n\n // Start the timeout.\n this.startTimeout();\n }\n\n ngOnDestroy() {\n // Clear the timeout if it was set.\n this._timer && window && window.clearTimeout && window.clearTimeout(this._timer);\n }\n\n callActionAndDestroy = (notification: Notification, action: NotificationAction) => {\n // Perform the callback (if it exists).\n action && action.callback && action.callback();\n\n // Call the destroy method (if it exists).\n notification && notification.destroy && notification.destroy();\n };\n\n private startTimeout() {\n // Calculate the steps of the timeout.\n this._steps = this.notification.timeout / 10;\n\n // Calculate the speed of the timeout.\n this._speed = this.notification.timeout / this._steps;\n\n // Get the start time.\n this._startTime = Date.now();\n\n // Set a new timer outside of Angular.\n this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));\n }\n\n private instance = () => {\n // Calculate the difference.\n this._difference = (Date.now() - this._startTime) - (this._count * this._speed);\n\n // Add up the count.\n if (this._count++ === this._steps) {\n this.notification.destroy();\n }\n\n // Add the steps to the progress.\n this._progress += 100 / this._steps;\n\n // Set a new timer.\n this._timer = this.setTimeout(this.instance, this._speed - this._difference);\n\n // Run a new change detection cycle.\n this._zone.run(() => this._changeDetection.detectChanges());\n };\n\n private setTimeout = (method: () => void, timeout: number) => {\n // Check if the window and method exist.\n if (!window || !window.setTimeout) {\n return null;\n }\n\n return window.setTimeout(method, timeout);\n };\n\n}\n","<div class=\"notification-content-wrapper\">\n <!--\n The icon for the notification.\n\n The icon is reflected by the type of the\n notification. Same goes for the color and\n background-color.\n -->\n <div [style.color]=\"notification?.color\"\n [style.background-color]=\"notification?.backgroundColor\"\n class=\"notification-icon-wrapper\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 16 19.5\"\n class=\"notification-icon\">\n <path\n d=\"M8 19.5c1.1 0 2-.9 2-2H6c0 1.1.9 2 2 2zM14 13.5v-5c0-3.1-1.6-5.6-4.5-6.3v-.7C9.5.7 8.8 0 8 0S6.5.7 6.5 1.5v.7C3.6 2.9 2 5.4 2 8.5v5l-2 2v1h16v-1l-2-2z\">\n </path>\n </svg>\n\n <!--\n The circular progress for the notification.\n\n The progress is only visible when a timeout is\n set. The progress adapts to the time remaining\n for the notification.\n -->\n <svg *ngIf=\"notification?.timeout > 0\"\n class=\"notification-progress-ring\"\n viewBox=\"0 0 40 40\"\n role=\"progressbar\">\n <circle #progress\n [attr.stroke-dasharray]=\"progressStrokeArray\"\n [attr.stroke-dashoffset]=\"progressStrokeOffset\"\n [style.stroke]=\"notification?.color\"\n class=\"notification-progress-circle\"\n stroke-width=\"2\"\n fill=\"transparent\"\n r=\"19\"\n cx=\"20\"\n cy=\"20\">\n </circle>\n </svg>\n </div>\n\n <!--\n The content for the notification.\n\n This displays a string or a template based\n on the given parameter by the user.\n -->\n <div class=\"notification-content\">\n <ng-container *ngIf=\"isContentString; else templateContent\"\n [ngSwitch]=\"notification?.localize\">\n <ng-container *ngSwitchCase=\"true\">\n {{ $any(notification?.content) | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ notification?.content }}\n </ng-container>\n </ng-container>\n </div>\n</div>\n\n<!--\n The actions of the notification.\n\n All actions are displayed here and are\n based on the actions array the user provided.\n-->\n<div *ngIf=\"notification?.actions?.length > 0 || notification?.dismiss\"\n class=\"notification-actions\">\n <button *ngFor=\"let action of notification?.actions\"\n (click)=\"callActionAndDestroy(notification, action)\"\n type=\"button\"\n [class.destructive]=\"action?.type === 'cancel'\"\n class=\"notification-actions-button\">\n <span [ngSwitch]=\"notification?.localize\"\n class=\"notification-actions-button-highlight\">\n <ng-container *ngSwitchCase=\"true\">\n {{ action?.title | bbLocalize:{data: notification?.data} }}\n </ng-container>\n <ng-container *ngSwitchDefault>\n {{ action?.title }}\n </ng-container>\n </span>\n </button>\n <button *ngIf=\"notification?.dismiss\"\n (click)=\"notification?.destroy()\"\n class=\"notification-actions-button destructive\"\n type=\"button\">\n <span class=\"notification-actions-button-highlight\">\n {{ notification?.dismissText || dismissButtonText }}\n </span>\n </button>\n</div>\n\n<!--\n The outlet for the notification content template ref.\n-->\n<ng-template #templateContent>\n <ng-container *ngTemplateOutlet=\"$any(notification?.content)\"></ng-container>\n</ng-template>\n","import {Notification, NotificationsData, NotificationsPosition} from '../notifications.interfaces';\nimport {ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation} from '@angular/core';\nimport {notificationAnimation} from '../notifications.animations';\n\n@Component({\n selector: 'bb-notifications-list',\n templateUrl: './notifications-list.component.html',\n styleUrls: ['./notifications-list.component.scss'],\n animations: [notificationAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-notifications-list',\n 'role': 'list'\n }\n})\nexport class BbNotificationsList {\n\n // Data.\n position: NotificationsPosition | null = null;\n\n // Track by function.\n trackByFn = (_, item: Notification) => item.id;\n\n constructor(public data: NotificationsData) {\n }\n\n @HostBinding('style.justify-content')\n get horizontalPosition() {\n return this.location.horizontal;\n }\n\n @HostBinding('style.align-items')\n get verticalPosition() {\n return this.location.vertical;\n }\n\n get animation() {\n const to = this.horizontalPosition === 'flex-start'\n ? -50\n : 50;\n\n return {to};\n }\n\n private get location() {\n const [y, x] = (this.data.position || '').split('|');\n\n return {vertical: y || null, horizontal: x || null};\n }\n\n}\n","<!--\n The notifications list.\n\n The list provides the animation effect for the\n incoming notifications.\n-->\n<div *ngIf=\"data?.data | async as notifications\"\n [@notificationListAnimation]=\"{value: notifications?.length, params: animation}\"\n class=\"notifications-list-wrapper\">\n <!--\n The loop for the notifications.\n\n All notifications will be displayed here. They\n are wrapped within a wrapper which separates them.\n -->\n <div *ngFor=\"let notification of notifications; trackBy: trackByFn\"\n class=\"notifications-item-wrapper\">\n <bb-notifications-item [notification]=\"notification\"\n [dismissButtonText]=\"data?.dismissText\">\n </bb-notifications-item>\n </div>\n</div>\n","import {InjectionToken, Injector, Type} from '@angular/core';\n\nexport class NotificationsInjector implements Injector {\n\n constructor(private _parentInjector: Injector,\n private _additionalTokens: WeakMap<any, any>) {\n }\n\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T;\n get(token: any, notFoundValue?: any);\n get(token: any, notFoundValue?: any) {\n // First check if the additional token\n // contains the token.\n const value = this._additionalTokens.get(token);\n\n // If that value exists return it.\n if (value) {\n return value;\n }\n\n // Else query the parent injector.\n return this._parentInjector.get<any>(token, notFoundValue);\n }\n\n}\n","import {\n ApplicationRef,\n ComponentFactoryResolver,\n ComponentRef,\n Injectable,\n Injector,\n Optional,\n TemplateRef\n} from '@angular/core';\nimport {\n Notification,\n NotificationAction,\n NotificationsPosition,\n NotificationsConfig,\n NotificationType,\n NotificationsData\n} from './notifications.interfaces';\nimport {BbNotificationsList} from './notifications-list/notifications-list.component';\nimport {NotificationsInjector} from './notifications.injector';\nimport {Localize} from '@bravobit/bb-foundation/localize';\nimport {Platform} from '@bravobit/bb-foundation';\nimport {BehaviorSubject} from 'rxjs';\nimport {share} from 'rxjs/operators';\n\n@Injectable()\nexport class Notifications {\n\n // Reference to the list.\n private _ref: ComponentRef<BbNotificationsList>;\n\n // The default settings for the notifications.\n private readonly _defaultMode: 'prepend' | 'append';\n private readonly _defaultTimeout: number;\n private readonly _defaultLocalize: boolean;\n private readonly _defaultDismiss: boolean;\n private readonly _defaultDismissText: string;\n private readonly _defaultPosition: NotificationsPosition;\n\n // The data containing the notifications.\n private _notifications$ = new BehaviorSubject<Notification[]>([]);\n\n constructor(private _injector: Injector,\n private _platform: Platform,\n private _applicationRef: ApplicationRef,\n @Optional() private _localize: Localize,\n @Optional() private _config: NotificationsConfig,\n private _componentFactoryResolver: ComponentFactoryResolver) {\n // Get the config.\n const config = this._config || {};\n\n // Set the config.\n this._defaultMode = this.getProperty(config.mode, 'prepend');\n this._defaultTimeout = this.getProperty(config.timeout, 8000);\n this._defaultLocalize = this.getProperty(config.localize, false);\n this._defaultDismiss = this.getProperty(config.dismiss, true);\n this._defaultDismissText = this.getProperty(config.dismissText, 'Dismiss');\n this._defaultPosition = this.getProperty(config.position, NotificationsPosition.TopRight);\n\n // Create the element that holds all notifications.\n this.createElement();\n }\n\n success(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Success});\n }\n\n error(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Error});\n }\n\n warn(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Warning});\n }\n\n info(content: string | TemplateRef<any>, actions: NotificationAction[] = [], timeout = this._defaultTimeout) {\n return this.create({content, timeout, actions, type: NotificationType.Info});\n }\n\n create(notification: Notification) {\n // Compose a new notification item.\n const item = this.compose(notification);\n\n // Add the destroy function to the notification.\n item.destroy = () => this.pull(item);\n\n // Add the notification to the list\n // and return the item.\n return this.push(item);\n }\n\n private push(notification: Notification) {\n // Get the current list.\n const oldList = this._notifications$.getValue();\n\n // Check which mode is activated.\n let newList: Notification[];\n switch (this._defaultMode) {\n case 'append':\n newList = [...oldList, notification];\n break;\n case 'prepend':\n default:\n newList = [notification, ...oldList];\n }\n\n // Push the new notifications.\n this._notifications$.next(newList);\n\n // Return the notification for further use.\n return notification;\n }\n\n private pull(notification: Notification) {\n // Get the current list.\n const newList = this._notifications$\n .getValue()\n .filter(item => item.id !== notification.id);\n\n // Push a new list.\n this._notifications$.next(newList);\n }\n\n private compose(notification: Notification) {\n // Attach a random id to the notification.\n notification.id = Math.random().toString(36).substr(2, 10);\n\n // Set all properties.\n notification.type = this.getProperty(notification.type, NotificationType.Custom);\n notification.content = this.getProperty(notification.content, null);\n notification.data = this.getProperty(notification.data, {});\n notification.timeout = this.getProperty(notification.timeout, this._defaultTimeout);\n notification.localize = this.getProperty(notification.localize, this._defaultLocalize);\n notification.dismiss = this.getProperty(notification.dismiss, this._defaultDismiss);\n\n // Dismiss text localization.\n const dismissText = this.getProperty(notification.dismissText, this._defaultDismissText);\n notification.dismissText = this._defaultLocalize && this._localize\n ? this._localize.translate(dismissText)\n : dismissText;\n\n // Return the composed notification.\n return notification;\n }\n\n private createElement() {\n // Create a map with the config.\n const map = new WeakMap();\n map.set(NotificationsData, {\n data: this._notifications$.pipe(share()),\n dismissText: this._defaultDismissText,\n position: this._defaultPosition\n });\n\n // Create a custom injector.\n const notificationsInjector = new NotificationsInjector(this._injector, map);\n\n // Create the notification list and\n // get a reference to the component.\n this._ref = this._componentFactoryResolver\n .resolveComponentFactory(BbNotificationsList)\n .create(notificationsInjector);\n\n // Detect the changes.\n this._ref.changeDetectorRef.detectChanges();\n\n // Attach the component's view to the application\n // so that the change detection will run properly.\n this._applicationRef.attachView(this._ref.hostView);\n\n // If the platform is not a browser return.\n if (!this._platform.isBrowser) {\n return;\n }\n\n try {\n // Append the element to the DOM.\n document.body.appendChild(this._ref.location.nativeElement);\n } catch {\n // Don't do anything, because it must've failed.\n }\n }\n\n private getProperty = (property: any, defaultValue: any) => {\n return typeof property === 'undefined'\n ? defaultValue\n : property;\n };\n\n}\n","import {BbNotificationsList} from './notifications-list/notifications-list.component';\nimport {BbNotificationsItem} from './notifications-item/notifications-item.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {NotificationsConfig} from './notifications.interfaces';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {Notifications} from './notifications.service';\nimport {CommonModule} from '@angular/common';\n\n@NgModule({\n imports: [CommonModule, LocalizeModule],\n declarations: [BbNotificationsList, BbNotificationsItem]\n})\nexport class NotificationsModule {\n\n static forRoot(config?: NotificationsConfig): ModuleWithProviders<NotificationsModule> {\n return {\n ngModule: NotificationsModule,\n providers: [\n {provide: NotificationsConfig, useValue: config},\n Notifications\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;IA4BY;AAAZ,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,qCAAiB,CAAA;AACrB,CAAC,EANW,gBAAgB,KAAhB,gBAAgB,QAM3B;MAEY,mBAAmB;CAO/B;IAEW;AAAZ,WAAY,qBAAqB;IAC7B,yDAAgC,CAAA;IAChC,0DAAiC,CAAA;IACjC,0DAAiC,CAAA;IACjC,2DAAkC,CAAA;AACtC,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC;MAEY,iBAAiB;;;AClD9B,MAAM,CAAC,GAAG,iCAAiC,CAAC;AAC5C,MAAM,CAAC,GAAG,iCAAiC,CAAC;AAErC,MAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,EAAE;IACtE,UAAU,CAAC,QAAQ,EAAE;QACjB,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;;YAElB,KAAK,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mCAAmC,EAAC,CAAC;;YAE9E,OAAO,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC;gBAChC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAC,CAAC,CAAC;gBACvE,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,wBAAwB,EAAC,CAAC,CAAC;aAC3D,CAAC;SACL,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAErB,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;;YAElB,KAAK,CAAC,EAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAC,CAAC;;YAErE,OAAO,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,SAAS,EAAE,2BAA2B,EAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,mCAAmC,EAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;aACjC,CAAC;SACL,CAAC,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;KACxB,CAAC;CACL,CAAC;;MCFW,mBAAmB;IA4B5B,YAAoB,KAAa,EACb,SAAmB,EACnB,gBAAmC;QAFnC,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAU;QACnB,qBAAgB,GAAhB,gBAAgB,CAAmB;;QApB/C,cAAS,GAAG,CAAC,CAAC;QACd,WAAM,GAAG,CAAC,CAAC;;QAUF,YAAO,GAAG,EAAE,CAAC;QACb,mBAAc,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAwC7D,yBAAoB,GAAG,CAAC,YAA0B,EAAE,MAA0B;;YAE1E,MAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;;YAG/C,YAAY,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;SAClE,CAAC;QAgBM,aAAQ,GAAG;;YAEf,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;;YAGhF,IAAI,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;aAC/B;;YAGD,IAAI,CAAC,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;;YAGpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;;YAG7E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;SAC/D,CAAC;QAEM,eAAU,GAAG,CAAC,MAAkB,EAAE,OAAe;;YAErD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBAC/B,OAAO,IAAI,CAAC;aACf;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC7C,CAAC;KA/ED;IAPD,IAA0B,QAAQ;QAC9B,OAAO,yBAAyB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5D;IAOD,IAAI,mBAAmB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9C,OAAO,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC;KAC/B;IAED,IAAI,oBAAoB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;KACvF;IAED,IAAI,eAAe;QACf,OAAO,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,QAAQ,CAAC;KACxD;IAED,QAAQ;;QAEJ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC7D,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,OAAO;SACV;;QAGD,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IAED,WAAW;;QAEP,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpF;IAUO,YAAY;;QAEhB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC;;QAG7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;;QAGtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;;QAG7B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACjG;;gHAlFQ,mBAAmB;oGAAnB,mBAAmB,oVC3BhC,0yHAsGA;2FD3Ea,mBAAmB;kBAX/B,SAAS;+BACI,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,uBAChB,KAAK,QACpB;wBACF,MAAM,EAAE,OAAO;qBAClB;oJAKQ,YAAY;sBAApB,KAAK;gBACG,iBAAiB;sBAAzB,KAAK;gBAGiB,kBAAkB;sBAAxC,SAAS;uBAAC,UAAU;gBAiBK,QAAQ;sBAAjC,WAAW;uBAAC,OAAO;;;MElCX,mBAAmB;IAQ5B,YAAmB,IAAuB;QAAvB,SAAI,GAAJ,IAAI,CAAmB;;QAL1C,aAAQ,GAAiC,IAAI,CAAC;;QAG9C,cAAS,GAAG,CAAC,CAAC,EAAE,IAAkB,KAAK,IAAI,CAAC,EAAE,CAAC;KAG9C;IAED,IACI,kBAAkB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;KACnC;IAED,IACI,gBAAgB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACjC;IAED,IAAI,SAAS;QACT,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,KAAK,YAAY;cAC7C,CAAC,EAAE;cACH,EAAE,CAAC;QAET,OAAO,EAAC,EAAE,EAAC,CAAC;KACf;IAED,IAAY,QAAQ;QAChB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAErD,OAAO,EAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC,IAAI,IAAI,EAAC,CAAC;KACvD;;gHAjCQ,mBAAmB;oGAAnB,mBAAmB,kQCjBhC,oyBAsBA,uqBDdgB,CAAC,qBAAqB,CAAC;2FAS1B,mBAAmB;kBAb/B,SAAS;+BACI,uBAAuB,cAGrB,CAAC,qBAAqB,CAAC,mBAClB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,uBAChB,KAAK,QACpB;wBACF,OAAO,EAAE,uBAAuB;wBAChC,MAAM,EAAE,MAAM;qBACjB;qGAcG,kBAAkB;sBADrB,WAAW;uBAAC,uBAAuB;gBAMhC,gBAAgB;sBADnB,WAAW;uBAAC,mBAAmB;;;ME/BvB,qBAAqB;IAE9B,YAAoB,eAAyB,EACzB,iBAAoC;QADpC,oBAAe,GAAf,eAAe,CAAU;QACzB,sBAAiB,GAAjB,iBAAiB,CAAmB;KACvD;IAID,GAAG,CAAC,KAAU,EAAE,aAAmB;;;QAG/B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;;QAGhD,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;;QAGD,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KAC9D;;;MCGQ,aAAa;IAgBtB,YAAoB,SAAmB,EACnB,SAAmB,EACnB,eAA+B,EACnB,SAAmB,EACnB,OAA4B,EACxC,yBAAmD;QALnD,cAAS,GAAT,SAAS,CAAU;QACnB,cAAS,GAAT,SAAS,CAAU;QACnB,oBAAe,GAAf,eAAe,CAAgB;QACnB,cAAS,GAAT,SAAS,CAAU;QACnB,YAAO,GAAP,OAAO,CAAqB;QACxC,8BAAyB,GAAzB,yBAAyB,CAA0B;;QAP/D,oBAAe,GAAG,IAAI,eAAe,CAAiB,EAAE,CAAC,CAAC;QA+I1D,gBAAW,GAAG,CAAC,QAAa,EAAE,YAAiB;YACnD,OAAO,OAAO,QAAQ,KAAK,WAAW;kBAChC,YAAY;kBACZ,QAAQ,CAAC;SAClB,CAAC;;QA1IE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;;QAGlC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;;QAG1F,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,OAAO,CAAC,OAAkC,EAAE,UAAgC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;QAC1G,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAC;KACnF;IAED,KAAK,CAAC,OAAkC,EAAE,UAAgC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;QACxG,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAC,CAAC,CAAC;KACjF;IAED,IAAI,CAAC,OAAkC,EAAE,UAAgC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;QACvG,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAC,CAAC,CAAC;KACnF;IAED,IAAI,CAAC,OAAkC,EAAE,UAAgC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe;QACvG,OAAO,IAAI,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAC,CAAC,CAAC;KAChF;IAED,MAAM,CAAC,YAA0B;;QAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;;QAGxC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;QAIrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAEO,IAAI,CAAC,YAA0B;;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;;QAGhD,IAAI,OAAuB,CAAC;QAC5B,QAAQ,IAAI,CAAC,YAAY;YACrB,KAAK,QAAQ;gBACT,OAAO,GAAG,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrC,MAAM;YACV,KAAK,SAAS,CAAC;YACf;gBACI,OAAO,GAAG,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC;SAC5C;;QAGD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAGnC,OAAO,YAAY,CAAC;KACvB;IAEO,IAAI,CAAC,YAA0B;;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe;aAC/B,QAAQ,EAAE;aACV,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;;QAGjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACtC;IAEO,OAAO,CAAC,YAA0B;;QAEtC,YAAY,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;QAG3D,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpE,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACpF,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACvF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;;QAGpF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzF,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS;cAC5D,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;cACrC,WAAW,CAAC;;QAGlB,OAAO,YAAY,CAAC;KACvB;IAEO,aAAa;;QAEjB,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACxC,WAAW,EAAE,IAAI,CAAC,mBAAmB;YACrC,QAAQ,EAAE,IAAI,CAAC,gBAAgB;SAClC,CAAC,CAAC;;QAGH,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;;;QAI7E,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB;aACrC,uBAAuB,CAAC,mBAAmB,CAAC;aAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAC;;QAGnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;;;QAI5C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;QAGpD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;YAC3B,OAAO;SACV;QAED,IAAI;;YAEA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SAC/D;QAAC,WAAM;;SAEP;KACJ;;0GA3JQ,aAAa;8GAAb,aAAa;2FAAb,aAAa;kBADzB,UAAU;;;8BAoBM,QAAQ;;8BACR,QAAQ;;;;MCjCZ,mBAAmB;IAE5B,OAAO,OAAO,CAAC,MAA4B;QACvC,OAAO;YACH,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE;gBACP,EAAC,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAC;gBAChD,aAAa;aAChB;SACJ,CAAC;KACL;;gHAVQ,mBAAmB;iHAAnB,mBAAmB,iBAFb,mBAAmB,EAAE,mBAAmB,aAD7C,YAAY,EAAE,cAAc;iHAG7B,mBAAmB,YAHnB,CAAC,YAAY,EAAE,cAAc,CAAC;2FAG9B,mBAAmB;kBAJ/B,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBACvC,YAAY,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;iBAC3D;;;ACXD;;;;;;"}
@@ -74,9 +74,9 @@ class RecaptchaLoader {
74
74
  .join('&');
75
75
  }
76
76
  }
77
- RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaLoader, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: DOCUMENT, optional: true }, { token: LOCALE_ID, optional: true }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
78
- RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaLoader });
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaLoader, decorators: [{
77
+ RecaptchaLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaLoader, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: DOCUMENT, optional: true }, { token: LOCALE_ID, optional: true }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
78
+ RecaptchaLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaLoader });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaLoader, decorators: [{
80
80
  type: Injectable
81
81
  }], ctorParameters: function () {
82
82
  return [{ type: i1.Platform }, { type: i0.RendererFactory2 }, { type: undefined, decorators: [{
@@ -228,15 +228,15 @@ class RecaptchaComponent extends BbRecaptchaMixinBase {
228
228
  this.badge = (_j = this.badge) !== null && _j !== void 0 ? _j : (_k = this._config) === null || _k === void 0 ? void 0 : _k.badge;
229
229
  }
230
230
  }
231
- RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: RecaptchaLoader }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
232
- RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: RecaptchaComponent, selector: "bb-recaptcha", inputs: { grouped: "grouped", id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode" }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
231
+ RecaptchaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaComponent, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: RecaptchaLoader }, { token: RECAPTCHA_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Component });
232
+ RecaptchaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: RecaptchaComponent, selector: "bb-recaptcha", inputs: { grouped: "grouped", id: "id", siteKey: "siteKey", tabIndex: "tabIndex", type: "type", size: "size", theme: "theme", badge: "badge", errorMode: "errorMode" }, outputs: { resolved: "resolved", error: "error" }, host: { properties: { "class.grouped": "grouped", "attr.id": "this.id" }, classAttribute: "bb-recaptcha" }, providers: [
233
233
  {
234
234
  provide: NG_VALUE_ACCESSOR,
235
235
  useExisting: forwardRef(() => RecaptchaComponent),
236
236
  multi: true
237
237
  }
238
238
  ], exportAs: ["bbRecaptcha"], usesInheritance: true, ngImport: i0, template: "", styles: [".bb-recaptcha{display:block}.bb-recaptcha.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaComponent, decorators: [{
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaComponent, decorators: [{
240
240
  type: Component,
241
241
  args: [{ selector: 'bb-recaptcha', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, exportAs: 'bbRecaptcha', providers: [
242
242
  {
@@ -291,10 +291,10 @@ class RecaptchaModule {
291
291
  };
292
292
  }
293
293
  }
294
- RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
295
- RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaModule, declarations: [RecaptchaComponent], exports: [RecaptchaComponent] });
296
- RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaModule });
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: RecaptchaModule, decorators: [{
294
+ RecaptchaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
295
+ RecaptchaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaModule, declarations: [RecaptchaComponent], exports: [RecaptchaComponent] });
296
+ RecaptchaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaModule });
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RecaptchaModule, decorators: [{
298
298
  type: NgModule,
299
299
  args: [{
300
300
  declarations: [RecaptchaComponent],
@@ -307,3 +307,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
307
307
  */
308
308
 
309
309
  export { RECAPTCHA_CONFIG, RecaptchaComponent, RecaptchaLoader, RecaptchaModule };
310
+ //# sourceMappingURL=bravobit-bb-foundation-recaptcha.mjs.map
@@ -15,3 +15,4 @@ function filterNil() {
15
15
  */
16
16
 
17
17
  export { combineLatestMap, filterNil };
18
+ //# sourceMappingURL=bravobit-bb-foundation-rxjs.mjs.map
@@ -394,9 +394,9 @@ class Storage {
394
394
  return this._strategies.memory;
395
395
  }
396
396
  }
397
- Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
398
- Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Storage, providedIn: 'root' });
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: Storage, decorators: [{
397
+ Storage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Storage, deps: [{ token: i1.Platform }, { token: COOKIE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
398
+ Storage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Storage, providedIn: 'root' });
399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Storage, decorators: [{
400
400
  type: Injectable,
401
401
  args: [{
402
402
  providedIn: 'root'
@@ -415,3 +415,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
415
415
  */
416
416
 
417
417
  export { CookieStorage, MemoryStorage, PolyfillStorage, Storage };
418
+ //# sourceMappingURL=bravobit-bb-foundation-storage.mjs.map