@bravobit/bb-foundation 0.32.1 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/elements/lib/directives/image-upload.directive.d.ts +28 -0
  2. package/elements/lib/elements.module.d.ts +21 -20
  3. package/elements/public_api.d.ts +1 -0
  4. package/esm2022/auth/lib/auth.interceptor.mjs +3 -3
  5. package/esm2022/auth/lib/auth.module.mjs +4 -4
  6. package/esm2022/auth/lib/auth.service.mjs +3 -3
  7. package/esm2022/auth/lib/directives/authenticated.directive.mjs +3 -3
  8. package/esm2022/auth/lib/guards/anonymous.guard.mjs +3 -3
  9. package/esm2022/auth/lib/guards/authenticated.guard.mjs +3 -3
  10. package/esm2022/collections/lib/collections.module.mjs +4 -4
  11. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  12. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  13. package/esm2022/collections/lib/components/collections.directive.mjs +12 -12
  14. package/esm2022/combobox/combobox/combobox-container.directive.mjs +3 -3
  15. package/esm2022/combobox/combobox/combobox.component.mjs +3 -3
  16. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  17. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  18. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +3 -3
  19. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
  20. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +3 -3
  21. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +4 -4
  22. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
  23. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
  24. package/esm2022/controls/lib/control-error/control-error.module.mjs +4 -4
  25. package/esm2022/controls/lib/controls.module.mjs +4 -4
  26. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +3 -3
  27. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
  28. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +3 -3
  29. package/esm2022/controls/lib/form-control/form-control.module.mjs +4 -4
  30. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +3 -3
  31. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +3 -3
  32. package/esm2022/controls/lib/radio/radio.module.mjs +4 -4
  33. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +3 -3
  34. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +3 -3
  35. package/esm2022/controls/lib/toggle/toggle.module.mjs +4 -4
  36. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  37. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  38. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  39. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  40. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  41. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  42. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  43. package/esm2022/dashboard/lib/dashboard.module.mjs +4 -4
  44. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  45. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +3 -3
  46. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +3 -3
  47. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  48. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  49. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  50. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  51. package/esm2022/dialog/lib/dialog.insertion.mjs +3 -3
  52. package/esm2022/dialog/lib/dialog.module.mjs +4 -4
  53. package/esm2022/dialog/lib/dialog.service.mjs +3 -3
  54. package/esm2022/elements/lib/avatar/avatar.component.mjs +3 -3
  55. package/esm2022/elements/lib/button/button.component.mjs +6 -6
  56. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +3 -3
  57. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +3 -3
  58. package/esm2022/elements/lib/directives/addon.directive.mjs +6 -6
  59. package/esm2022/elements/lib/directives/form-submit.directive.mjs +3 -3
  60. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +3 -3
  61. package/esm2022/elements/lib/directives/image-upload.directive.mjs +139 -0
  62. package/esm2022/elements/lib/directives/input.directive.mjs +6 -6
  63. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +6 -6
  64. package/esm2022/elements/lib/elements.module.mjs +9 -5
  65. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +3 -3
  66. package/esm2022/elements/lib/form-control/form-control.component.mjs +3 -3
  67. package/esm2022/elements/lib/form-error/form-error.component.mjs +3 -3
  68. package/esm2022/elements/lib/form-group/form-group.component.mjs +3 -3
  69. package/esm2022/elements/lib/icon/icon.component.mjs +3 -3
  70. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +3 -3
  71. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +3 -3
  72. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +3 -3
  73. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  74. package/esm2022/elements/lib/spinner/spinner.component.mjs +3 -3
  75. package/esm2022/elements/lib/tag/tag.component.mjs +3 -3
  76. package/esm2022/elements/public_api.mjs +2 -1
  77. package/esm2022/http/lib/http.module.mjs +4 -4
  78. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  79. package/esm2022/http/lib/interceptors/error.interceptor.mjs +3 -3
  80. package/esm2022/lib/core/functions/array.utils.mjs +7 -0
  81. package/esm2022/lib/core/miscellaneous/regex.mjs +41 -2
  82. package/esm2022/lib/core/services/exif.service.mjs +3 -3
  83. package/esm2022/lib/core/services/file-loader.service.mjs +3 -3
  84. package/esm2022/lib/core/services/files.service.mjs +86 -0
  85. package/esm2022/lib/core/services/image-converter.service.mjs +3 -3
  86. package/esm2022/lib/core/services/languages.service.mjs +3 -3
  87. package/esm2022/lib/core/services/network.service.mjs +5 -5
  88. package/esm2022/lib/core/services/patch.service.mjs +3 -3
  89. package/esm2022/localize/lib/localize.module.mjs +4 -4
  90. package/esm2022/localize/lib/localize.pipe.mjs +3 -3
  91. package/esm2022/localize/lib/localize.service.mjs +3 -3
  92. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  93. package/esm2022/localize/lib/views/localize-template.directive.mjs +3 -3
  94. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +3 -3
  95. package/esm2022/masking/lib/directives/date-mask.directive.mjs +3 -3
  96. package/esm2022/masking/lib/directives/input-mask.directive.mjs +3 -3
  97. package/esm2022/masking/lib/masking.module.mjs +4 -4
  98. package/esm2022/masking/lib/masking.service.mjs +3 -3
  99. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  100. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  101. package/esm2022/notifications/lib/notifications.module.mjs +4 -4
  102. package/esm2022/notifications/lib/notifications.service.mjs +3 -3
  103. package/esm2022/permissions/lib/directives/permission.directive.mjs +3 -3
  104. package/esm2022/permissions/lib/guards/permission.guard.mjs +3 -3
  105. package/esm2022/permissions/lib/permissions.module.mjs +4 -4
  106. package/esm2022/permissions/lib/permissions.service.mjs +3 -3
  107. package/esm2022/public_api.mjs +3 -2
  108. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  109. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  110. package/esm2022/recaptcha/lib/recaptcha.module.mjs +4 -4
  111. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +5 -0
  112. package/esm2022/rxjs/public_api.mjs +2 -1
  113. package/esm2022/storage/lib/storage.service.mjs +3 -3
  114. package/esm2022/table/lib/components/table/table.component.mjs +9 -9
  115. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  116. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  117. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  118. package/esm2022/table/lib/table.module.mjs +4 -4
  119. package/esm2022/theming/lib/theming.directive.mjs +3 -3
  120. package/esm2022/theming/lib/theming.module.mjs +4 -4
  121. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +3 -3
  122. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  123. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  124. package/esm2022/utils/lib/directives/autosize.directive.mjs +3 -3
  125. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +3 -3
  126. package/esm2022/utils/lib/directives/focus.directive.mjs +3 -3
  127. package/esm2022/utils/lib/directives/template.directive.mjs +3 -3
  128. package/esm2022/utils/lib/utils.module.mjs +4 -4
  129. package/fesm2022/bravobit-bb-foundation-auth.mjs +19 -19
  130. package/fesm2022/bravobit-bb-foundation-collections.mjs +22 -22
  131. package/fesm2022/bravobit-bb-foundation-combobox.mjs +15 -15
  132. package/fesm2022/bravobit-bb-foundation-controls.mjs +57 -57
  133. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
  134. package/fesm2022/bravobit-bb-foundation-dialog.mjs +31 -31
  135. package/fesm2022/bravobit-bb-foundation-elements.mjs +218 -80
  136. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  137. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  138. package/fesm2022/bravobit-bb-foundation-localize.mjs +16 -16
  139. package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
  140. package/fesm2022/bravobit-bb-foundation-notifications.mjs +13 -13
  141. package/fesm2022/bravobit-bb-foundation-permissions.mjs +13 -13
  142. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +10 -10
  143. package/fesm2022/bravobit-bb-foundation-rxjs.mjs +5 -1
  144. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  145. package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
  146. package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
  147. package/fesm2022/bravobit-bb-foundation-theming.mjs +7 -7
  148. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
  149. package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
  150. package/fesm2022/bravobit-bb-foundation.mjs +161 -100
  151. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  152. package/lib/core/functions/array.utils.d.ts +1 -0
  153. package/lib/core/miscellaneous/regex.d.ts +1 -0
  154. package/lib/core/services/files.service.d.ts +19 -0
  155. package/package.json +27 -27
  156. package/public_api.d.ts +2 -1
  157. package/rxjs/lib/observables/get-route-param.observable.d.ts +3 -0
  158. package/rxjs/public_api.d.ts +1 -0
  159. package/esm2022/lib/core/services/clipboard.service.mjs +0 -70
  160. package/lib/core/services/clipboard.service.d.ts +0 -18
@@ -75,10 +75,10 @@ export class FileLoader {
75
75
  const blobFile = new Blob([blob], { type: blob?.type });
76
76
  return this.blobToFile(blobFile, name);
77
77
  }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, providedIn: 'root' }); }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FileLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
79
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FileLoader, providedIn: 'root' }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: FileLoader, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FileLoader, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{
84
84
  providedIn: 'root'
@@ -0,0 +1,86 @@
1
+ import { Inject, Injectable, Optional } from '@angular/core';
2
+ import { WINDOW } from '../tokens/window.token';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/cdk/platform";
5
+ export class Files {
6
+ constructor(_platform, _rendererFactory, _window) {
7
+ this._platform = _platform;
8
+ this._rendererFactory = _rendererFactory;
9
+ this._window = _window;
10
+ this._renderer = this._rendererFactory.createRenderer(null, null);
11
+ }
12
+ download(blobOrFile, name) {
13
+ if (!this._platform.isBrowser) {
14
+ return;
15
+ }
16
+ const anchor = this.createAnchorElement(blobOrFile, name);
17
+ this.revokeUrlAndPressAnchor(anchor);
18
+ }
19
+ fromDataUri(dataUri, name) {
20
+ if (!dataUri) {
21
+ return null;
22
+ }
23
+ try {
24
+ const byteString = this._window.atob(dataUri.split(',')[1]);
25
+ // Separate out the mime component.
26
+ const mimeString = dataUri
27
+ .split(',')[0]
28
+ .split(':')[1]
29
+ .split(';')[0];
30
+ // Write the bytes of the string to an ArrayBuffer.
31
+ const arrayBuffer = new ArrayBuffer(byteString.length);
32
+ const uint8Array = new Uint8Array(arrayBuffer);
33
+ for (let index = 0; index < byteString.length; index++) {
34
+ uint8Array[index] = byteString.charCodeAt(index);
35
+ }
36
+ const dataView = new DataView(arrayBuffer);
37
+ const blob = new Blob([dataView.buffer], { type: mimeString });
38
+ return this.create(blob, name);
39
+ }
40
+ catch {
41
+ return null;
42
+ }
43
+ }
44
+ create(blob, name) {
45
+ if (!navigator['msSaveBlob']) {
46
+ return new File([blob], name, { lastModified: Date.now(), type: blob?.type });
47
+ }
48
+ const anyBlob = new Blob([blob], { type: blob?.type });
49
+ anyBlob.lastModifiedDate = new Date();
50
+ anyBlob.name = name;
51
+ return anyBlob;
52
+ }
53
+ createAnchorElement(blobOrFile, name) {
54
+ const anchor = this._renderer.createElement('a');
55
+ this._renderer.setProperty(anchor, 'download', name ?? blobOrFile?.['name']);
56
+ this._renderer.setProperty(anchor, 'rel', 'noopener');
57
+ this._renderer.setProperty(anchor, 'href', URL.createObjectURL(blobOrFile));
58
+ return anchor;
59
+ }
60
+ revokeUrlAndPressAnchor(anchor) {
61
+ setTimeout(() => URL.revokeObjectURL(anchor?.href), 40_000);
62
+ setTimeout(() => this.pressAnchor(anchor), 0);
63
+ }
64
+ pressAnchor(anchor) {
65
+ try {
66
+ anchor.dispatchEvent(new MouseEvent('click'));
67
+ }
68
+ catch {
69
+ anchor.click();
70
+ }
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Files, deps: [{ token: i1.Platform }, { token: i0.RendererFactory2 }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
73
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Files, providedIn: 'root' }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Files, decorators: [{
76
+ type: Injectable,
77
+ args: [{
78
+ providedIn: 'root'
79
+ }]
80
+ }], ctorParameters: () => [{ type: i1.Platform }, { type: i0.RendererFactory2 }, { type: Window, decorators: [{
81
+ type: Optional
82
+ }, {
83
+ type: Inject,
84
+ args: [WINDOW]
85
+ }] }] });
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2ZpbGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7OztBQUs5QyxNQUFNLE9BQU8sS0FBSztJQUlkLFlBQW9CLFNBQW1CLEVBQ25CLGdCQUFrQyxFQUNOLE9BQWU7UUFGM0MsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUo5QyxjQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFLOUUsQ0FBQztJQUlELFFBQVEsQ0FBQyxVQUF1QixFQUFFLElBQWE7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWUsRUFBRSxJQUFZO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUQsbUNBQW1DO1lBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU87aUJBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDYixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbkIsbURBQW1EO1lBQ25ELE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RCxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMvQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNyRCxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDTCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVLEVBQUUsSUFBWTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBUSxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sT0FBZSxDQUFDO0lBQzNCLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUF1QixFQUFFLElBQWE7UUFDOUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxNQUF5QjtRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxNQUF5QjtRQUN6QyxJQUFJLENBQUM7WUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztZQUNMLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0wsQ0FBQzs4R0EvRVEsS0FBSywwRUFNa0IsTUFBTTtrSEFON0IsS0FBSyxjQUZGLE1BQU07OzJGQUVULEtBQUs7a0JBSGpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFPZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBSZW5kZXJlckZhY3RvcnkyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi4vdG9rZW5zL3dpbmRvdy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsZXMge1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXIgPSB0aGlzLl9yZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXJGYWN0b3J5OiBSZW5kZXJlckZhY3RvcnkyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c6IFdpbmRvdykge1xuICAgIH1cblxuICAgIGRvd25sb2FkKGZpbGU6IEZpbGUsIG5hbWU/OiBzdHJpbmcpOiB2b2lkO1xuICAgIGRvd25sb2FkKGJsb2I6IEJsb2IsIG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgZG93bmxvYWQoYmxvYk9yRmlsZTogRmlsZSB8IEJsb2IsIG5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFuY2hvciA9IHRoaXMuY3JlYXRlQW5jaG9yRWxlbWVudChibG9iT3JGaWxlLCBuYW1lKTtcbiAgICAgICAgdGhpcy5yZXZva2VVcmxBbmRQcmVzc0FuY2hvcihhbmNob3IpO1xuICAgIH1cblxuICAgIGZyb21EYXRhVXJpKGRhdGFVcmk6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghZGF0YVVyaSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgYnl0ZVN0cmluZyA9IHRoaXMuX3dpbmRvdy5hdG9iKGRhdGFVcmkuc3BsaXQoJywnKVsxXSk7XG5cbiAgICAgICAgICAgIC8vIFNlcGFyYXRlIG91dCB0aGUgbWltZSBjb21wb25lbnQuXG4gICAgICAgICAgICBjb25zdCBtaW1lU3RyaW5nID0gZGF0YVVyaVxuICAgICAgICAgICAgICAgIC5zcGxpdCgnLCcpWzBdXG4gICAgICAgICAgICAgICAgLnNwbGl0KCc6JylbMV1cbiAgICAgICAgICAgICAgICAuc3BsaXQoJzsnKVswXTtcblxuICAgICAgICAgICAgLy8gV3JpdGUgdGhlIGJ5dGVzIG9mIHRoZSBzdHJpbmcgdG8gYW4gQXJyYXlCdWZmZXIuXG4gICAgICAgICAgICBjb25zdCBhcnJheUJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihieXRlU3RyaW5nLmxlbmd0aCk7XG4gICAgICAgICAgICBjb25zdCB1aW50OEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGJ5dGVTdHJpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICAgICAgdWludDhBcnJheVtpbmRleF0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaW5kZXgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkYXRhVmlldyA9IG5ldyBEYXRhVmlldyhhcnJheUJ1ZmZlcik7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2RhdGFWaWV3LmJ1ZmZlcl0sIHt0eXBlOiBtaW1lU3RyaW5nfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUoYmxvYiwgbmFtZSk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGUoYmxvYjogQmxvYiwgbmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbmF2aWdhdG9yWydtc1NhdmVCbG9iJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmlsZShbYmxvYl0sIG5hbWUsIHtsYXN0TW9kaWZpZWQ6IERhdGUubm93KCksIHR5cGU6IGJsb2I/LnR5cGV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFueUJsb2I6IGFueSA9IG5ldyBCbG9iKFtibG9iXSwge3R5cGU6IGJsb2I/LnR5cGV9KTtcbiAgICAgICAgYW55QmxvYi5sYXN0TW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgYW55QmxvYi5uYW1lID0gbmFtZTtcbiAgICAgICAgcmV0dXJuIGFueUJsb2IgYXMgRmlsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUFuY2hvckVsZW1lbnQoYmxvYk9yRmlsZTogRmlsZSB8IEJsb2IsIG5hbWU/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYW5jaG9yID0gdGhpcy5fcmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShhbmNob3IsICdkb3dubG9hZCcsIG5hbWUgPz8gYmxvYk9yRmlsZT8uWyduYW1lJ10pO1xuICAgICAgICB0aGlzLl9yZW5kZXJlci5zZXRQcm9wZXJ0eShhbmNob3IsICdyZWwnLCAnbm9vcGVuZXInKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0UHJvcGVydHkoYW5jaG9yLCAnaHJlZicsIFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYk9yRmlsZSkpO1xuICAgICAgICByZXR1cm4gYW5jaG9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmV2b2tlVXJsQW5kUHJlc3NBbmNob3IoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IFVSTC5yZXZva2VPYmplY3RVUkwoYW5jaG9yPy5ocmVmKSwgNDBfMDAwKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnByZXNzQW5jaG9yKGFuY2hvciksIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlc3NBbmNob3IoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYW5jaG9yLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoJ2NsaWNrJykpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIGFuY2hvci5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=
@@ -111,10 +111,10 @@ export class ImageConverter {
111
111
  // If the contents is a string convert it to an HTML image element.
112
112
  return this.stringToImage(contents);
113
113
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, deps: [{ token: i1.Exif }, { token: i2.Platform }, { token: i3.FileLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
115
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, providedIn: 'root' }); }
114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImageConverter, deps: [{ token: i1.Exif }, { token: i2.Platform }, { token: i3.FileLoader }], target: i0.ɵɵFactoryTarget.Injectable }); }
115
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImageConverter, providedIn: 'root' }); }
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageConverter, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImageConverter, decorators: [{
118
118
  type: Injectable,
119
119
  args: [{
120
120
  providedIn: 'root'
@@ -57,10 +57,10 @@ export class Languages {
57
57
  .filter(item => !!item)
58
58
  .sort((a, b) => b.quality - a.quality);
59
59
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, providedIn: 'root' }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Languages, providedIn: 'root' }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Languages, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Languages, decorators: [{
64
64
  type: Injectable,
65
65
  args: [{
66
66
  providedIn: 'root'
@@ -31,12 +31,12 @@ export class Network {
31
31
  });
32
32
  // Merge all event so we get notified when
33
33
  // a user is online/offline.
34
- this._online$ = merge(now$, online$, offline$).pipe(map(value => value), distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
34
+ this._online$ = merge(now$, online$, offline$).pipe(distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Network, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Network, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Network, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root'
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
52
52
  type: Inject,
53
53
  args: [NAVIGATOR]
54
54
  }] }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxPQUFPO0lBS2hCLFlBQW9CLFNBQW1CLEVBQ1MsT0FBZ0IsRUFDYixVQUFzQjtRQUZyRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNiLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMekUsUUFBUTtRQUNBLGFBQVEsR0FBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSzdDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQWdCLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FDL0MsQ0FBQztJQUNOLENBQUM7OEdBcENRLE9BQU8sMENBTWdCLE1BQU0sNkJBQ04sU0FBUztrSEFQaEMsT0FBTyxjQUZKLE1BQU07OzJGQUVULE9BQU87a0JBSG5CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFPZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNOzswQkFDekIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOQVZJR0FUT1J9IGZyb20gJy4uL3Rva2Vucy9uYXZpZ2F0b3IudG9rZW4nO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuLi90b2tlbnMvd2luZG93LnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZXR3b3JrIHtcblxuICAgIC8vIERhdGEuXG4gICAgcHJpdmF0ZSBfb25saW5lJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG9mKHRydWUpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c/OiBXaW5kb3csXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChOQVZJR0FUT1IpIHByaXZhdGUgX25hdmlnYXRvcj86IE5hdmlnYXRvcikge1xuICAgICAgICB0aGlzLmdldE9ubGluZU9ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBvbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vbmxpbmUkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T25saW5lT2JzZXJ2YWJsZSgpIHtcbiAgICAgICAgLy8gVmFsaWRhdGUgd2UgYXJlIG9uIGEgYnJvd3Nlci5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCBhbGwgdGhlIGV2ZW50cyBmcm9tIHRoZSB3aW5kb3cuXG4gICAgICAgIGNvbnN0IG9ubGluZSQgPSBmcm9tRXZlbnQodGhpcy5fd2luZG93LCAnb25saW5lJykucGlwZShtYXAoKCkgPT4gdHJ1ZSkpO1xuICAgICAgICBjb25zdCBvZmZsaW5lJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdvZmZsaW5lJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcbiAgICAgICAgY29uc3Qgbm93JCA9IG5ldyBPYnNlcnZhYmxlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRoaXMuX25hdmlnYXRvcj8ub25MaW5lKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gTWVyZ2UgYWxsIGV2ZW50IHNvIHdlIGdldCBub3RpZmllZCB3aGVuXG4gICAgICAgIC8vIGEgdXNlciBpcyBvbmxpbmUvb2ZmbGluZS5cbiAgICAgICAgdGhpcy5fb25saW5lJCA9IG1lcmdlKG5vdyQsIG9ubGluZSQsIG9mZmxpbmUkKS5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIGFzIGJvb2xlYW4pLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KHtyZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMX0pXG4gICAgICAgICk7XG4gICAgfVxuXG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxPQUFPO0lBS2hCLFlBQW9CLFNBQW1CLEVBQ1MsT0FBZ0IsRUFDYixVQUFzQjtRQUZyRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNiLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMekUsUUFBUTtRQUNBLGFBQVEsR0FBd0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBSzdDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsZ0NBQWdDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQVUsVUFBVSxDQUFDLEVBQUU7WUFDOUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQy9DLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQy9DLENBQUM7SUFDTixDQUFDOzhHQW5DUSxPQUFPLDBDQU1nQixNQUFNLDZCQUNOLFNBQVM7a0hBUGhDLE9BQU8sY0FGSixNQUFNOzsyRkFFVCxPQUFPO2tCQUhuQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT2dCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTTs7MEJBQ3pCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgc2hhcmVSZXBsYXl9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TkFWSUdBVE9SfSBmcm9tICcuLi90b2tlbnMvbmF2aWdhdG9yLnRva2VuJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi4vdG9rZW5zL3dpbmRvdy50b2tlbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmV0d29yayB7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX29ubGluZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZih0cnVlKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSBfd2luZG93PzogV2luZG93LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTkFWSUdBVE9SKSBwcml2YXRlIF9uYXZpZ2F0b3I/OiBOYXZpZ2F0b3IpIHtcbiAgICAgICAgdGhpcy5nZXRPbmxpbmVPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgb25saW5lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb25saW5lJDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9ubGluZU9ic2VydmFibGUoKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHdlIGFyZSBvbiBhIGJyb3dzZXIuXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZXQgYWxsIHRoZSBldmVudHMgZnJvbSB0aGUgd2luZG93LlxuICAgICAgICBjb25zdCBvbmxpbmUkID0gZnJvbUV2ZW50KHRoaXMuX3dpbmRvdywgJ29ubGluZScpLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICAgICAgY29uc3Qgb2ZmbGluZSQgPSBmcm9tRXZlbnQodGhpcy5fd2luZG93LCAnb2ZmbGluZScpLnBpcGUobWFwKCgpID0+IGZhbHNlKSk7XG4gICAgICAgIGNvbnN0IG5vdyQgPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPihzdWJzY3JpYmVyID0+IHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh0aGlzLl9uYXZpZ2F0b3I/Lm9uTGluZSk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE1lcmdlIGFsbCBldmVudCBzbyB3ZSBnZXQgbm90aWZpZWQgd2hlblxuICAgICAgICAvLyBhIHVzZXIgaXMgb25saW5lL29mZmxpbmUuXG4gICAgICAgIHRoaXMuX29ubGluZSQgPSBtZXJnZShub3ckLCBvbmxpbmUkLCBvZmZsaW5lJCkucGlwZShcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSh7cmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDF9KVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
@@ -41,10 +41,10 @@ export class Patch {
41
41
  // Save the subscription so we can destroy it later.
42
42
  this._subscription.add(subscription);
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
45
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, providedIn: 'root' }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Patch, providedIn: 'root' }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Patch, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Patch, decorators: [{
48
48
  type: Injectable,
49
49
  args: [{
50
50
  providedIn: 'root'
@@ -50,15 +50,15 @@ export class LocalizeModule {
50
50
  ]
51
51
  };
52
52
  }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
54
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
54
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
55
55
  BbLocalizeString,
56
56
  BbLocalizeTemplate], imports: [CommonModule, UtilsModule], exports: [BbLocalize,
57
57
  BbLocalizeString,
58
58
  BbLocalizeTemplate] }); }
59
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: LocalizeModule, imports: [CommonModule, UtilsModule] }); }
59
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LocalizeModule, imports: [CommonModule, UtilsModule] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: LocalizeModule, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LocalizeModule, decorators: [{
62
62
  type: NgModule,
63
63
  args: [{
64
64
  imports: [CommonModule, UtilsModule],
@@ -32,10 +32,10 @@ export class BbLocalize {
32
32
  // Return the combined params and options.
33
33
  return { ...params, ...options };
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalize, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
36
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BbLocalize, name: "bbLocalize" }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalize, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
36
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: BbLocalize, name: "bbLocalize" }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalize, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalize, decorators: [{
39
39
  type: Pipe,
40
40
  args: [{
41
41
  name: 'bbLocalize'
@@ -159,10 +159,10 @@ export class Localize {
159
159
  ?.map(language => language?.id);
160
160
  return await this.current.compare(languageIds);
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Localize, deps: [{ token: i1.Storage }, { token: i2.Languages }, { token: i3.LocalizeMissingHandler }, { token: i4.LocalizeConfig, optional: true }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }, { token: LOCALIZE_TRANSFORM, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Localize }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Localize, deps: [{ token: i1.Storage }, { token: i2.Languages }, { token: i3.LocalizeMissingHandler }, { token: i4.LocalizeConfig, optional: true }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }, { token: LOCALIZE_TRANSFORM, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Localize }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Localize, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Localize, decorators: [{
166
166
  type: Injectable
167
167
  }], ctorParameters: () => [{ type: i1.Storage }, { type: i2.Languages }, { type: i3.LocalizeMissingHandler }, { type: i4.LocalizeConfig, decorators: [{
168
168
  type: Optional
@@ -69,10 +69,10 @@ export class BbLocalizeString {
69
69
  end.replace(escape, '\\$&')
70
70
  ];
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: { substitutions: "substitutions", value: ["bb-localize-string", "value"] }, host: { attributes: { "ngSkipHydration": "true" }, classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: { substitutions: "substitutions", value: ["bb-localize-string", "value"] }, host: { attributes: { "ngSkipHydration": "true" }, classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalizeString, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalizeString, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: '[bb-localize-string]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
78
78
  'class': 'bb-localize-string',
@@ -6,10 +6,10 @@ export class BbLocalizeTemplate {
6
6
  // Inputs.
7
7
  this.name = null;
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: '[bbLocalizeTemplate]'
@@ -15,10 +15,10 @@ export class BbCurrencyMask {
15
15
  const options = changes?.['options']?.currentValue ?? this.options ?? {};
16
16
  this._inputMask.mask = this._masking.currency(currencyCode, options);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbCurrencyMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbCurrencyMask, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbCurrencyMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BbCurrencyMask, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbCurrencyMask, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbCurrencyMask, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: 'input[bbCurrencyMask]'
@@ -15,10 +15,10 @@ export class BbDateMask {
15
15
  const separator = changes?.['separator']?.currentValue ?? this.separator ?? '-';
16
16
  this._inputMask.mask = this._masking.date(format, separator);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbDateMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbDateMask, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbDateMask, deps: [{ token: i1.Masking }, { token: i2.BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
19
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BbDateMask, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbDateMask, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbDateMask, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: 'input[bbDateMask]'
@@ -93,10 +93,10 @@ export class BbInputMask {
93
93
  this.inputMaskPlugin?.remove();
94
94
  this.inputMaskPlugin = null;
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
97
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbInputMask, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 }); }
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
97
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BbInputMask, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 }); }
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbInputMask, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbInputMask, decorators: [{
100
100
  type: Directive,
101
101
  args: [{
102
102
  selector: 'input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]'
@@ -4,15 +4,15 @@ import { BbDateMask } from './directives/date-mask.directive';
4
4
  import { NgModule } from '@angular/core';
5
5
  import * as i0 from "@angular/core";
6
6
  export class MaskingModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: MaskingModule, declarations: [BbInputMask,
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: MaskingModule, declarations: [BbInputMask,
9
9
  BbCurrencyMask,
10
10
  BbDateMask], exports: [BbInputMask,
11
11
  BbCurrencyMask,
12
12
  BbDateMask] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MaskingModule }); }
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MaskingModule }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: MaskingModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MaskingModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  declarations: [
@@ -89,10 +89,10 @@ export class Masking {
89
89
  return ['yyyy', 'MM', 'dd'];
90
90
  }
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Masking, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Masking, providedIn: 'root' }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Masking, deps: [{ token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Masking, providedIn: 'root' }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Masking, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Masking, decorators: [{
96
96
  type: Injectable,
97
97
  args: [{
98
98
  providedIn: 'root'
@@ -78,10 +78,10 @@ export class BbNotificationsItem {
78
78
  // Set a new timer outside of Angular.
79
79
  this._zone.runOutsideAngular(() => this._timer = this.setTimeout(this.instance, this._speed));
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbNotificationsItem, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.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{inset:0;width:100%;height:100%;position:absolute}.notification-progress-circle{transform:rotate(-90deg);transform-origin:50% 50%;stroke:#657385}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i3.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
83
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbNotificationsItem, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbNotificationsItem, decorators: [{
85
85
  type: Component,
86
86
  args: [{ selector: 'bb-notifications-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
87
87
  'role': 'alert'
@@ -28,10 +28,10 @@ export class BbNotificationsList {
28
28
  const [y, x] = (this.data.position ?? '').split('|');
29
29
  return { vertical: y ?? null, horizontal: x ?? null };
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.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{inset: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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbNotificationsList, deps: [{ token: i1.NotificationsData }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.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{inset: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"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbNotificationsItem, selector: "bb-notifications-item", inputs: ["notification", "dismissButtonText"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [notificationAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbNotificationsList, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbNotificationsList, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: 'bb-notifications-list', animations: [notificationAnimation], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
37
37
  'class': 'bb-notifications-list',
@@ -16,11 +16,11 @@ export class NotificationsModule {
16
16
  ]
17
17
  };
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: NotificationsModule, declarations: [BbNotificationsList, BbNotificationsItem], imports: [CommonModule, LocalizeModule] }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NotificationsModule, imports: [CommonModule, LocalizeModule] }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: NotificationsModule, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NotificationsModule, decorators: [{
24
24
  type: NgModule,
25
25
  args: [{
26
26
  imports: [CommonModule, LocalizeModule],
@@ -128,10 +128,10 @@ export class Notifications {
128
128
  // Don't do anything, because it must've failed.
129
129
  }
130
130
  }
131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
132
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Notifications }); }
131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Notifications, deps: [{ token: i1.Platform }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }, { token: i2.Localize, optional: true }, { token: i3.NotificationsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
132
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Notifications }); }
133
133
  }
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: Notifications, decorators: [{
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Notifications, decorators: [{
135
135
  type: Injectable
136
136
  }], ctorParameters: () => [{ type: i1.Platform }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }, { type: i2.Localize, decorators: [{
137
137
  type: Optional
@@ -70,10 +70,10 @@ export class BbPermission {
70
70
  throw new Error(`${property} must be a TemplateRef.`);
71
71
  }
72
72
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
74
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbPermission, deps: [{ token: i1.Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
74
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, ngImport: i0 }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbPermission, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbPermission, decorators: [{
77
77
  type: Directive,
78
78
  args: [{
79
79
  selector: '[bbPermission]'
@@ -42,10 +42,10 @@ export class BbPermissionGuard {
42
42
  }
43
43
  return this._permissions.has(data?.value, data?.options);
44
44
  }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i1.Router }, { token: i2.Permissions }, { token: i3.PermissionsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' }); }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i1.Router }, { token: i2.Permissions }, { token: i3.PermissionsConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
46
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' }); }
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbPermissionGuard, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: BbPermissionGuard, decorators: [{
49
49
  type: Injectable,
50
50
  args: [{
51
51
  providedIn: 'root'
@@ -25,11 +25,11 @@ export class PermissionsModule {
25
25
  ]
26
26
  };
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PermissionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: PermissionsModule, declarations: [BbPermission], exports: [BbPermission] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PermissionsModule }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PermissionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: PermissionsModule, declarations: [BbPermission], exports: [BbPermission] }); }
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PermissionsModule }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: PermissionsModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: PermissionsModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  declarations: [BbPermission],