@bravobit/bb-foundation 0.22.0 → 0.22.3

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 (186) hide show
  1. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -2
  2. package/controls/lib/checkbox/checkbox.module.d.ts +2 -1
  3. package/controls/lib/form-control/form-control/form-control.component.d.ts +5 -5
  4. package/controls/lib/form-control/form-control.module.d.ts +2 -1
  5. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +4 -2
  6. package/dialog/lib/dialog.interfaces.d.ts +7 -0
  7. package/dialog/lib/dialog.service.d.ts +5 -9
  8. package/elements/lib/elements.module.d.ts +25 -28
  9. package/elements/public_api.d.ts +0 -4
  10. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  11. package/esm2020/auth/lib/auth.module.mjs +4 -4
  12. package/esm2020/auth/lib/auth.service.mjs +3 -3
  13. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  14. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  15. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  16. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  17. package/esm2020/auth/lib/guards/permission.guard.mjs +3 -3
  18. package/esm2020/auth/lib/permissions/permissions.service.mjs +3 -3
  19. package/esm2020/collections/lib/collections.module.mjs +4 -4
  20. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  21. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  22. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  23. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
  24. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +7 -6
  25. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +7 -6
  26. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
  27. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
  28. package/esm2020/controls/lib/control-error/control-error.module.mjs +4 -4
  29. package/esm2020/controls/lib/controls.module.mjs +4 -4
  30. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +6 -5
  31. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
  32. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +3 -3
  33. package/esm2020/controls/lib/form-control/form-control.module.mjs +8 -7
  34. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  35. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  36. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  37. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  38. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  39. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  40. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  41. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  42. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  43. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +15 -12
  44. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +5 -5
  45. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  46. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  47. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +5 -5
  48. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  49. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  50. package/esm2020/dialog/lib/dialog.interfaces.mjs +1 -1
  51. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  52. package/esm2020/dialog/lib/dialog.service.mjs +15 -27
  53. package/esm2020/elements/lib/avatar/avatar.component.mjs +7 -7
  54. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  55. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  56. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +4 -4
  57. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  58. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  59. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
  60. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  61. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  62. package/esm2020/elements/lib/elements.module.mjs +21 -25
  63. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +4 -4
  64. package/esm2020/elements/lib/form-control/form-control.component.mjs +4 -4
  65. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  66. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  67. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  68. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  69. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  70. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  71. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  72. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  73. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  74. package/esm2020/elements/public_api.mjs +1 -5
  75. package/esm2020/http/lib/classes/http.config.mjs +2 -3
  76. package/esm2020/http/lib/http.module.mjs +4 -4
  77. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +6 -6
  78. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  79. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  80. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  81. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  82. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  83. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  84. package/esm2020/lib/core/services/network.service.mjs +3 -3
  85. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  86. package/esm2020/localize/lib/localize.dictionary.mjs +2 -4
  87. package/esm2020/localize/lib/localize.module.mjs +9 -11
  88. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  89. package/esm2020/localize/lib/localize.service.mjs +3 -3
  90. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +6 -6
  91. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  92. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  93. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  94. package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
  95. package/esm2020/masking/lib/masking.module.mjs +4 -4
  96. package/esm2020/masking/lib/masking.service.mjs +3 -3
  97. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  98. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  99. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  100. package/esm2020/notifications/lib/notifications.service.mjs +22 -26
  101. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  102. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  103. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  104. package/esm2020/storage/lib/storage.service.mjs +7 -7
  105. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  106. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  107. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  108. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  109. package/esm2020/table/lib/table.module.mjs +4 -4
  110. package/esm2020/theming/lib/theming.directive.mjs +3 -3
  111. package/esm2020/theming/lib/theming.module.mjs +4 -4
  112. package/esm2020/utils/bravobit-bb-foundation-utils.mjs +5 -0
  113. package/esm2020/utils/lib/directives/autosize.directive.mjs +72 -0
  114. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +77 -0
  115. package/esm2020/utils/lib/directives/focus.directive.mjs +37 -0
  116. package/esm2020/utils/lib/directives/template.directive.mjs +28 -0
  117. package/esm2020/utils/lib/utils.module.mjs +35 -0
  118. package/esm2020/utils/public_api.mjs +6 -0
  119. package/fesm2015/bravobit-bb-foundation-auth.mjs +28 -28
  120. package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
  121. package/fesm2015/bravobit-bb-foundation-controls.mjs +47 -45
  122. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  123. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
  124. package/fesm2015/bravobit-bb-foundation-dialog.mjs +55 -82
  125. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  126. package/fesm2015/bravobit-bb-foundation-elements.mjs +100 -306
  127. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  128. package/fesm2015/bravobit-bb-foundation-http.mjs +14 -14
  129. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  130. package/fesm2015/bravobit-bb-foundation-localize.mjs +26 -53
  131. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  132. package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
  133. package/fesm2015/bravobit-bb-foundation-notifications.mjs +31 -52
  134. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  135. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  136. package/fesm2015/bravobit-bb-foundation-storage.mjs +6 -6
  137. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  138. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  139. package/fesm2015/bravobit-bb-foundation-theming.mjs +7 -7
  140. package/fesm2015/bravobit-bb-foundation-utils.mjs +246 -0
  141. package/fesm2015/bravobit-bb-foundation-utils.mjs.map +1 -0
  142. package/fesm2015/bravobit-bb-foundation.mjs +21 -21
  143. package/fesm2020/bravobit-bb-foundation-auth.mjs +28 -28
  144. package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
  145. package/fesm2020/bravobit-bb-foundation-controls.mjs +47 -45
  146. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  147. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
  148. package/fesm2020/bravobit-bb-foundation-dialog.mjs +54 -80
  149. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  150. package/fesm2020/bravobit-bb-foundation-elements.mjs +100 -304
  151. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  152. package/fesm2020/bravobit-bb-foundation-http.mjs +14 -14
  153. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  154. package/fesm2020/bravobit-bb-foundation-localize.mjs +26 -53
  155. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  156. package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
  157. package/fesm2020/bravobit-bb-foundation-notifications.mjs +31 -52
  158. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  159. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  160. package/fesm2020/bravobit-bb-foundation-storage.mjs +6 -6
  161. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  162. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  163. package/fesm2020/bravobit-bb-foundation-theming.mjs +7 -7
  164. package/fesm2020/bravobit-bb-foundation-utils.mjs +244 -0
  165. package/fesm2020/bravobit-bb-foundation-utils.mjs.map +1 -0
  166. package/fesm2020/bravobit-bb-foundation.mjs +21 -21
  167. package/localize/lib/localize.module.d.ts +3 -3
  168. package/notifications/lib/notifications.service.d.ts +6 -7
  169. package/package.json +9 -1
  170. package/utils/index.d.ts +5 -0
  171. package/{elements → utils}/lib/directives/autosize.directive.d.ts +0 -0
  172. package/{elements → utils}/lib/directives/focus-trap.directive.d.ts +0 -0
  173. package/{elements → utils}/lib/directives/focus.directive.d.ts +0 -0
  174. package/{elements → utils}/lib/directives/template.directive.d.ts +1 -0
  175. package/utils/lib/utils.module.d.ts +10 -0
  176. package/utils/public_api.d.ts +5 -0
  177. package/dialog/lib/dialog.injector.d.ts +0 -8
  178. package/esm2020/dialog/lib/dialog.injector.mjs +0 -18
  179. package/esm2020/elements/lib/directives/autosize.directive.mjs +0 -72
  180. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +0 -77
  181. package/esm2020/elements/lib/directives/focus.directive.mjs +0 -37
  182. package/esm2020/elements/lib/directives/template.directive.mjs +0 -28
  183. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +0 -28
  184. package/esm2020/notifications/lib/notifications.injector.mjs +0 -18
  185. package/localize/lib/views/localize-template-or-string.directive.d.ts +0 -10
  186. package/notifications/lib/notifications.injector.d.ts +0 -8
@@ -0,0 +1,246 @@
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef, Directive, Input, HostBinding, HostListener, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/platform';
4
+
5
+ class BbTemplate {
6
+ constructor(_templateRef, _viewContainerRef) {
7
+ this._templateRef = _templateRef;
8
+ this._viewContainerRef = _viewContainerRef;
9
+ }
10
+ set bbTemplate(content) {
11
+ // Get the template.
12
+ const template = content instanceof TemplateRef
13
+ ? content
14
+ : this._templateRef;
15
+ // Clear the view container ref and create the view.
16
+ this._viewContainerRef.clear();
17
+ this._viewContainerRef.createEmbeddedView(template);
18
+ }
19
+ }
20
+ BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
21
+ BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbTemplate, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[bbTemplate]'
26
+ }]
27
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { bbTemplate: [{
28
+ type: Input
29
+ }] } });
30
+
31
+ class BbAutosize {
32
+ constructor(_renderer, _elementRef) {
33
+ this._renderer = _renderer;
34
+ this._elementRef = _elementRef;
35
+ // Min/max heights for the textarea.
36
+ this.minHeight = null;
37
+ this.maxHeight = null;
38
+ this.rows = 1;
39
+ }
40
+ get element() {
41
+ var _a;
42
+ return (_a = this._elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement;
43
+ }
44
+ ngAfterViewInit() {
45
+ // Update the styles after the DOM has loaded.
46
+ this.updateStyles();
47
+ }
48
+ onWindowResize() {
49
+ // Update the styles when the window is resized.
50
+ this.updateStyles();
51
+ }
52
+ onInputReceived() {
53
+ // Update the styles after the textarea received input.
54
+ this.updateStyles();
55
+ }
56
+ updateStyles() {
57
+ var _a, _b, _c;
58
+ // Validate the element exists.
59
+ if (!this.element) {
60
+ return;
61
+ }
62
+ // Calculate border height which is not included in the scroll height.
63
+ const borderHeight = ((_a = this.element) === null || _a === void 0 ? void 0 : _a.offsetHeight) - ((_b = this.element) === null || _b === void 0 ? void 0 : _b.clientHeight);
64
+ // Reset textarea height to auto that correctly calculate the new height.
65
+ this.setHeight('auto');
66
+ // Set new height.
67
+ this.setHeight(`${((_c = this.element) === null || _c === void 0 ? void 0 : _c.scrollHeight) + borderHeight}px`);
68
+ }
69
+ setHeight(value) {
70
+ this._renderer.setStyle(this.element, 'height', value);
71
+ }
72
+ }
73
+ BbAutosize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAutosize, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
74
+ BbAutosize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbAutosize, selector: "textarea[bbAutosize]", inputs: { minHeight: "minHeight", maxHeight: "maxHeight", rows: "rows" }, host: { listeners: { "window:resize": "onWindowResize()", "input": "onInputReceived()" }, properties: { "style.min-height": "this.minHeight", "style.max-height": "this.maxHeight", "rows": "this.rows" } }, ngImport: i0 });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAutosize, decorators: [{
76
+ type: Directive,
77
+ args: [{
78
+ selector: 'textarea[bbAutosize]'
79
+ }]
80
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { minHeight: [{
81
+ type: Input
82
+ }, {
83
+ type: HostBinding,
84
+ args: ['style.min-height']
85
+ }], maxHeight: [{
86
+ type: Input
87
+ }, {
88
+ type: HostBinding,
89
+ args: ['style.max-height']
90
+ }], rows: [{
91
+ type: Input
92
+ }, {
93
+ type: HostBinding,
94
+ args: ['rows']
95
+ }], onWindowResize: [{
96
+ type: HostListener,
97
+ args: ['window:resize']
98
+ }], onInputReceived: [{
99
+ type: HostListener,
100
+ args: ['input']
101
+ }] } });
102
+
103
+ class BbFocus {
104
+ constructor(_zone, _elementRef) {
105
+ this._zone = _zone;
106
+ this._elementRef = _elementRef;
107
+ }
108
+ get nativeElement() {
109
+ return this._elementRef.nativeElement;
110
+ }
111
+ ngAfterViewInit() {
112
+ // Run the method outside the Angular zone.
113
+ this._zone.runOutsideAngular(() => this.focus());
114
+ }
115
+ focus() {
116
+ // Check if set timeout exists and the user is
117
+ // using the site on desktop devices.
118
+ if (!setTimeout) {
119
+ return;
120
+ }
121
+ // Check if the element and the focus method exist, if so focus the element.
122
+ if (!this.nativeElement || !this.nativeElement.focus) {
123
+ return;
124
+ }
125
+ // Execute the focus method in a timeout.
126
+ setTimeout(() => this.nativeElement.focus(), 0);
127
+ }
128
+ }
129
+ BbFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbFocus, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
130
+ BbFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbFocus, selector: "[bbFocus]", ngImport: i0 });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbFocus, decorators: [{
132
+ type: Directive,
133
+ args: [{
134
+ selector: '[bbFocus]'
135
+ }]
136
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ElementRef }]; } });
137
+
138
+ class BbFocusTrap {
139
+ constructor(_platform, _elementRef) {
140
+ this._platform = _platform;
141
+ this._elementRef = _elementRef;
142
+ this._focusableElements = [
143
+ 'a[href]',
144
+ 'area[href]',
145
+ 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
146
+ 'select:not([disabled]):not([aria-hidden])',
147
+ 'textarea:not([disabled]):not([aria-hidden])',
148
+ 'button:not([disabled]):not([aria-hidden])',
149
+ 'iframe',
150
+ 'object',
151
+ 'embed',
152
+ '[contenteditable]',
153
+ '[tabindex]:not([tabindex^="-"])'
154
+ ];
155
+ this.focus = (element) => {
156
+ return element && element.focus && element.focus();
157
+ };
158
+ this.isTabEvent = (event) => {
159
+ return (event === null || event === void 0 ? void 0 : event.key) === 'Tab' || (event === null || event === void 0 ? void 0 : event.keyCode) === 9;
160
+ };
161
+ }
162
+ onKeydown(event) {
163
+ // Validate it is a tab event.
164
+ if (!this.isTabEvent(event)) {
165
+ return;
166
+ }
167
+ // Trap the focus inside the element.
168
+ return this.trapFocus(event);
169
+ }
170
+ trapFocus(event) {
171
+ // Validate that the DOM is available.
172
+ if (!this._platform.isBrowser) {
173
+ return;
174
+ }
175
+ // Get all focusable nodes.
176
+ const focusableNodes = this.getFocusableNodes();
177
+ // Focus the first available element if the focus
178
+ // is not in the modal.
179
+ if (!this.element.contains(document.activeElement)) {
180
+ return this.focus(focusableNodes[0]);
181
+ }
182
+ const focusedItemIndex = focusableNodes.indexOf(document.activeElement);
183
+ if (event.shiftKey && focusedItemIndex === 0) {
184
+ this.focus(focusableNodes[focusableNodes.length - 1]);
185
+ return event.preventDefault();
186
+ }
187
+ if (!event.shiftKey && focusedItemIndex === focusableNodes.length - 1) {
188
+ this.focus(focusableNodes[0]);
189
+ return event.preventDefault();
190
+ }
191
+ }
192
+ get element() {
193
+ return this._elementRef.nativeElement;
194
+ }
195
+ getFocusableNodes() {
196
+ const nodes = this.element.querySelectorAll(this._focusableElements);
197
+ return Array(...nodes);
198
+ }
199
+ }
200
+ BbFocusTrap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbFocusTrap, deps: [{ token: i1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
201
+ BbFocusTrap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbFocusTrap, selector: "[bbFocusTrap]", host: { listeners: { "keydown": "onKeydown($event)" } }, ngImport: i0 });
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbFocusTrap, decorators: [{
203
+ type: Directive,
204
+ args: [{
205
+ selector: '[bbFocusTrap]'
206
+ }]
207
+ }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i0.ElementRef }]; }, propDecorators: { onKeydown: [{
208
+ type: HostListener,
209
+ args: ['keydown', ['$event']]
210
+ }] } });
211
+
212
+ class UtilsModule {
213
+ }
214
+ UtilsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
215
+ UtilsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: UtilsModule, declarations: [BbTemplate,
216
+ BbAutosize,
217
+ BbFocus,
218
+ BbFocusTrap], exports: [BbTemplate,
219
+ BbAutosize,
220
+ BbFocus,
221
+ BbFocusTrap] });
222
+ UtilsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilsModule });
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: UtilsModule, decorators: [{
224
+ type: NgModule,
225
+ args: [{
226
+ declarations: [
227
+ BbTemplate,
228
+ BbAutosize,
229
+ BbFocus,
230
+ BbFocusTrap
231
+ ],
232
+ exports: [
233
+ BbTemplate,
234
+ BbAutosize,
235
+ BbFocus,
236
+ BbFocusTrap
237
+ ]
238
+ }]
239
+ }] });
240
+
241
+ /**
242
+ * Generated bundle index. Do not edit.
243
+ */
244
+
245
+ export { BbAutosize, BbFocus, BbFocusTrap, BbTemplate, UtilsModule };
246
+ //# sourceMappingURL=bravobit-bb-foundation-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bravobit-bb-foundation-utils.mjs","sources":["../../../projects/bb-foundation/utils/src/lib/directives/template.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/autosize.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus.directive.ts","../../../projects/bb-foundation/utils/src/lib/directives/focus-trap.directive.ts","../../../projects/bb-foundation/utils/src/lib/utils.module.ts","../../../projects/bb-foundation/utils/src/bravobit-bb-foundation-utils.ts"],"sourcesContent":["import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbTemplate]'\n})\nexport class BbTemplate {\n\n @Input() set bbTemplate(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n\n // Required so that the template type checker can infer the type of the coerced inputs.\n static ngAcceptInputType_bbTemplate: string | TemplateRef<any>;\n\n}\n","import {AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2} from '@angular/core';\n\n@Directive({\n selector: 'textarea[bbAutosize]'\n})\nexport class BbAutosize implements AfterViewInit {\n\n // Min/max heights for the textarea.\n @Input() @HostBinding('style.min-height') minHeight: string | null = null;\n @Input() @HostBinding('style.max-height') maxHeight: string | null = null;\n @Input() @HostBinding('rows') rows: number = 1;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n get element() {\n return this._elementRef?.nativeElement as HTMLTextAreaElement;\n }\n\n ngAfterViewInit() {\n // Update the styles after the DOM has loaded.\n this.updateStyles();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n // Update the styles when the window is resized.\n this.updateStyles();\n }\n\n @HostListener('input')\n onInputReceived() {\n // Update the styles after the textarea received input.\n this.updateStyles();\n }\n\n private updateStyles() {\n // Validate the element exists.\n if (!this.element) {\n return;\n }\n\n // Calculate border height which is not included in the scroll height.\n const borderHeight = this.element?.offsetHeight - this.element?.clientHeight;\n\n // Reset textarea height to auto that correctly calculate the new height.\n this.setHeight('auto');\n\n // Set new height.\n this.setHeight(`${this.element?.scrollHeight + borderHeight}px`);\n }\n\n private setHeight(value: string) {\n this._renderer.setStyle(this.element, 'height', value);\n }\n\n}\n","import {AfterViewInit, Directive, ElementRef, NgZone} from '@angular/core';\n\n@Directive({\n selector: '[bbFocus]'\n})\nexport class BbFocus implements AfterViewInit {\n\n constructor(private _zone: NgZone,\n private _elementRef: ElementRef) {\n }\n\n private get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n ngAfterViewInit() {\n // Run the method outside the Angular zone.\n this._zone.runOutsideAngular(() => this.focus());\n }\n\n private focus() {\n // Check if set timeout exists and the user is\n // using the site on desktop devices.\n if (!setTimeout) {\n return;\n }\n\n // Check if the element and the focus method exist, if so focus the element.\n if (!this.nativeElement || !this.nativeElement.focus) {\n return;\n }\n\n // Execute the focus method in a timeout.\n setTimeout(() => this.nativeElement.focus(), 0);\n }\n\n}\n","import {Directive, ElementRef, HostListener} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n@Directive({\n selector: '[bbFocusTrap]'\n})\nexport class BbFocusTrap {\n\n private readonly _focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n ];\n\n constructor(private _platform: Platform,\n private _elementRef: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent) {\n // Validate it is a tab event.\n if (!this.isTabEvent(event)) {\n return;\n }\n\n // Trap the focus inside the element.\n return this.trapFocus(event);\n }\n\n trapFocus(event: KeyboardEvent) {\n // Validate that the DOM is available.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Get all focusable nodes.\n const focusableNodes = this.getFocusableNodes();\n\n // Focus the first available element if the focus\n // is not in the modal.\n if (!this.element.contains(document.activeElement)) {\n return this.focus(focusableNodes[0]);\n }\n\n const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n\n if (event.shiftKey && focusedItemIndex === 0) {\n this.focus(focusableNodes[focusableNodes.length - 1]);\n return event.preventDefault();\n }\n\n if (!event.shiftKey && focusedItemIndex === focusableNodes.length - 1) {\n this.focus(focusableNodes[0]);\n return event.preventDefault();\n }\n }\n\n private get element() {\n return this._elementRef.nativeElement;\n }\n\n private getFocusableNodes() {\n const nodes = this.element.querySelectorAll(this._focusableElements);\n return Array(...nodes);\n }\n\n private focus = (element: HTMLElement) => {\n return element && element.focus && element.focus();\n };\n\n private isTabEvent = (event: KeyboardEvent) => {\n return event?.key === 'Tab' || event?.keyCode === 9;\n };\n\n}\n","import {BbFocusTrap} from './directives/focus-trap.directive';\nimport {BbTemplate} from './directives/template.directive';\nimport {BbAutosize} from './directives/autosize.directive';\nimport {BbFocus} from './directives/focus.directive';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n declarations: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ],\n exports: [\n BbTemplate,\n BbAutosize,\n BbFocus,\n BbFocusTrap\n ]\n})\nexport class UtilsModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -85,9 +85,9 @@ class FileLoader {
85
85
  return this.blobToFile(blobFile, name);
86
86
  }
87
87
  }
88
- FileLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FileLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
89
- FileLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FileLoader, providedIn: 'root' });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: FileLoader, decorators: [{
88
+ FileLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: FileLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
89
+ FileLoader.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: FileLoader, providedIn: 'root' });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: FileLoader, decorators: [{
91
91
  type: Injectable,
92
92
  args: [{
93
93
  providedIn: 'root'
@@ -248,9 +248,9 @@ class Exif {
248
248
  });
249
249
  }
250
250
  }
251
- Exif.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Exif, deps: [{ token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable });
252
- Exif.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Exif, providedIn: 'root' });
253
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Exif, decorators: [{
251
+ Exif.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Exif, deps: [{ token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable });
252
+ Exif.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Exif, providedIn: 'root' });
253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Exif, decorators: [{
254
254
  type: Injectable,
255
255
  args: [{
256
256
  providedIn: 'root'
@@ -372,9 +372,9 @@ class ImageConverter {
372
372
  });
373
373
  }
374
374
  }
375
- ImageConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImageConverter, deps: [{ token: Exif }, { token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable });
376
- ImageConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImageConverter, providedIn: 'root' });
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImageConverter, decorators: [{
375
+ ImageConverter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ImageConverter, deps: [{ token: Exif }, { token: i1.Platform }, { token: FileLoader }], target: i0.ɵɵFactoryTarget.Injectable });
376
+ ImageConverter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ImageConverter, providedIn: 'root' });
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: ImageConverter, decorators: [{
378
378
  type: Injectable,
379
379
  args: [{
380
380
  providedIn: 'root'
@@ -440,9 +440,9 @@ class Languages {
440
440
  .sort((a, b) => b.quality - a.quality);
441
441
  }
442
442
  }
443
- Languages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
444
- Languages.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Languages, providedIn: 'root' });
445
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Languages, decorators: [{
443
+ Languages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
444
+ Languages.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Languages, providedIn: 'root' });
445
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Languages, decorators: [{
446
446
  type: Injectable,
447
447
  args: [{
448
448
  providedIn: 'root'
@@ -500,9 +500,9 @@ class Network {
500
500
  this._online$ = merge(now$, online$, offline$).pipe(map(value => value), distinctUntilChanged(), shareReplay(1));
501
501
  }
502
502
  }
503
- Network.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
504
- Network.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Network, providedIn: 'root' });
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Network, decorators: [{
503
+ Network.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
504
+ Network.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Network, providedIn: 'root' });
505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Network, decorators: [{
506
506
  type: Injectable,
507
507
  args: [{
508
508
  providedIn: 'root'
@@ -560,9 +560,9 @@ class Patch {
560
560
  this._subscription.add(subscription);
561
561
  }
562
562
  }
563
- Patch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
564
- Patch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Patch, providedIn: 'root' });
565
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Patch, decorators: [{
563
+ Patch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
564
+ Patch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Patch, providedIn: 'root' });
565
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Patch, decorators: [{
566
566
  type: Injectable,
567
567
  args: [{
568
568
  providedIn: 'root'
@@ -595,9 +595,9 @@ class Clipboard {
595
595
  return new ClipboardCopy(text, this._document);
596
596
  }
597
597
  }
598
- Clipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Clipboard, deps: [{ token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
599
- Clipboard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Clipboard, providedIn: 'root' });
600
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Clipboard, decorators: [{
598
+ Clipboard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Clipboard, deps: [{ token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
599
+ Clipboard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Clipboard, providedIn: 'root' });
600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Clipboard, decorators: [{
601
601
  type: Injectable,
602
602
  args: [{
603
603
  providedIn: 'root'
@@ -525,9 +525,9 @@ class Auth {
525
525
  .join('/');
526
526
  }
527
527
  }
528
- Auth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Auth, deps: [{ token: i1.Storage }, { token: i0.Injector }, { token: i2.Platform }, { token: i3.HttpClient }, { token: AuthConfig, optional: true }, { token: i5.TransferState, optional: true }, { token: i6.HttpConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
529
- Auth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Auth });
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Auth, decorators: [{
528
+ Auth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Auth, deps: [{ token: i1.Storage }, { token: i0.Injector }, { token: i2.Platform }, { token: i3.HttpClient }, { token: AuthConfig, optional: true }, { token: i5.TransferState, optional: true }, { token: i6.HttpConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
529
+ Auth.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Auth });
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Auth, decorators: [{
531
531
  type: Injectable
532
532
  }], ctorParameters: function () { return [{ type: i1.Storage }, { type: i0.Injector }, { type: i2.Platform }, { type: i3.HttpClient }, { type: AuthConfig, decorators: [{
533
533
  type: Optional
@@ -562,9 +562,9 @@ class BbAuthenticated extends AbstractAuthDirective {
562
562
  this._subscription?.unsubscribe();
563
563
  }
564
564
  }
565
- BbAuthenticated.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAuthenticated, deps: [{ token: Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
566
- BbAuthenticated.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbAuthenticated, selector: "[bbAuthenticated]", inputs: { bbAuthenticatedElse: "bbAuthenticatedElse" }, usesInheritance: true, ngImport: i0 });
567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAuthenticated, decorators: [{
565
+ BbAuthenticated.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAuthenticated, deps: [{ token: Auth }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
566
+ BbAuthenticated.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbAuthenticated, selector: "[bbAuthenticated]", inputs: { bbAuthenticatedElse: "bbAuthenticatedElse" }, usesInheritance: true, ngImport: i0 });
567
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAuthenticated, decorators: [{
568
568
  type: Directive,
569
569
  args: [{
570
570
  selector: '[bbAuthenticated]'
@@ -623,9 +623,9 @@ class Permissions {
623
623
  : [value];
624
624
  }
625
625
  }
626
- Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Permissions, deps: [{ token: Auth }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
627
- Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Permissions });
628
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Permissions, decorators: [{
626
+ Permissions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Permissions, deps: [{ token: Auth }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
627
+ Permissions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Permissions });
628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: Permissions, decorators: [{
629
629
  type: Injectable
630
630
  }], ctorParameters: function () { return [{ type: Auth }, { type: AuthConfig, decorators: [{
631
631
  type: Optional
@@ -668,9 +668,9 @@ class BbPermission extends AbstractAuthDirective {
668
668
  this._subscription?.unsubscribe();
669
669
  }
670
670
  }
671
- BbPermission.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbPermission, deps: [{ token: Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
672
- BbPermission.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, usesInheritance: true, ngImport: i0 });
673
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbPermission, decorators: [{
671
+ BbPermission.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbPermission, deps: [{ token: Permissions }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
672
+ BbPermission.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.2", type: BbPermission, selector: "[bbPermission]", inputs: { bbPermission: "bbPermission", bbPermissionElse: "bbPermissionElse", bbPermissionMode: "bbPermissionMode" }, usesInheritance: true, ngImport: i0 });
673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbPermission, decorators: [{
674
674
  type: Directive,
675
675
  args: [{
676
676
  selector: '[bbPermission]'
@@ -741,9 +741,9 @@ class BbAnonymousGuard {
741
741
  return this.canActivate(childRoute, state);
742
742
  }
743
743
  }
744
- BbAnonymousGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAnonymousGuard, deps: [{ token: Auth }, { token: i2$1.Router }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
745
- BbAnonymousGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAnonymousGuard, providedIn: 'root' });
746
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAnonymousGuard, decorators: [{
744
+ BbAnonymousGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAnonymousGuard, deps: [{ token: Auth }, { token: i2$1.Router }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
745
+ BbAnonymousGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAnonymousGuard, providedIn: 'root' });
746
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAnonymousGuard, decorators: [{
747
747
  type: Injectable,
748
748
  args: [{
749
749
  providedIn: 'root'
@@ -780,9 +780,9 @@ class BbAuthenticatedGuard {
780
780
  return this.canActivate(childRoute, state);
781
781
  }
782
782
  }
783
- BbAuthenticatedGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAuthenticatedGuard, deps: [{ token: Auth }, { token: i2$1.Router }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
784
- BbAuthenticatedGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAuthenticatedGuard, providedIn: 'root' });
785
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbAuthenticatedGuard, decorators: [{
783
+ BbAuthenticatedGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAuthenticatedGuard, deps: [{ token: Auth }, { token: i2$1.Router }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
784
+ BbAuthenticatedGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAuthenticatedGuard, providedIn: 'root' });
785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbAuthenticatedGuard, decorators: [{
786
786
  type: Injectable,
787
787
  args: [{
788
788
  providedIn: 'root'
@@ -826,9 +826,9 @@ class BbPermissionGuard {
826
826
  return this._permissions.has(data?.value, data?.options);
827
827
  }
828
828
  }
829
- BbPermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i2$1.Router }, { token: Permissions }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
830
- BbPermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' });
831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbPermissionGuard, decorators: [{
829
+ BbPermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbPermissionGuard, deps: [{ token: i2$1.Router }, { token: Permissions }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
830
+ BbPermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbPermissionGuard, providedIn: 'root' });
831
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: BbPermissionGuard, decorators: [{
832
832
  type: Injectable,
833
833
  args: [{
834
834
  providedIn: 'root'
@@ -910,9 +910,9 @@ class AuthInterceptor {
910
910
  return of(null);
911
911
  }
912
912
  }
913
- AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor, deps: [{ token: Auth }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
914
- AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor });
915
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthInterceptor, decorators: [{
913
+ AuthInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthInterceptor, deps: [{ token: Auth }, { token: AuthConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
914
+ AuthInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthInterceptor });
915
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthInterceptor, decorators: [{
916
916
  type: Injectable
917
917
  }], ctorParameters: function () { return [{ type: Auth }, { type: AuthConfig, decorators: [{
918
918
  type: Optional
@@ -936,12 +936,12 @@ class AuthModule {
936
936
  };
937
937
  }
938
938
  }
939
- AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
940
- AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
939
+ AuthModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
940
+ AuthModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AuthModule, declarations: [BbAuthenticated,
941
941
  BbPermission], imports: [HttpClientModule], exports: [BbAuthenticated,
942
942
  BbPermission] });
943
- AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, imports: [HttpClientModule] });
944
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: AuthModule, decorators: [{
943
+ AuthModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthModule, imports: [HttpClientModule] });
944
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AuthModule, decorators: [{
945
945
  type: NgModule,
946
946
  args: [{
947
947
  imports: [HttpClientModule],