@bravobit/bb-foundation 0.20.1 → 0.21.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 (261) hide show
  1. package/auth/{bravobit-bb-foundation-auth.d.ts → index.d.ts} +0 -0
  2. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  3. package/auth/lib/directives/permission.directive.d.ts +1 -1
  4. package/auth/lib/directives/role.directive.d.ts +1 -1
  5. package/collections/{bravobit-bb-foundation-collections.d.ts → index.d.ts} +0 -0
  6. package/collections/lib/collection.d.ts +6 -6
  7. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +1 -1
  8. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +1 -1
  9. package/collections/lib/components/collections.directive.d.ts +4 -4
  10. package/collections/lib/providers/api-collection.provider.d.ts +3 -3
  11. package/controls/{bravobit-bb-foundation-controls.d.ts → index.d.ts} +0 -0
  12. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +10 -10
  13. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +9 -5
  14. package/dashboard/{bravobit-bb-foundation-dashboard.d.ts → index.d.ts} +0 -0
  15. package/dashboard/lib/dashboard/dashboard.component.d.ts +1 -1
  16. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +1 -1
  17. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  18. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +1 -1
  19. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +1 -1
  20. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +1 -1
  21. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +1 -1
  22. package/dialog/{bravobit-bb-foundation-dialog.d.ts → index.d.ts} +0 -0
  23. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +1 -1
  24. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +1 -1
  25. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -1
  26. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -1
  27. package/dialog/lib/dialog-link/dialog-link.component.d.ts +1 -1
  28. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  29. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -1
  30. package/dialog/lib/dialog.insertion.d.ts +1 -1
  31. package/elements/{bravobit-bb-foundation-elements.d.ts → index.d.ts} +0 -0
  32. package/elements/lib/avatar/avatar.component.d.ts +1 -1
  33. package/elements/lib/button/button.component.d.ts +2 -2
  34. package/elements/lib/checkbox/checkbox.component.d.ts +1 -1
  35. package/elements/lib/date-picker/date-picker.component.d.ts +2 -2
  36. package/elements/lib/directives/addon.directive.d.ts +2 -2
  37. package/elements/lib/directives/autosize.directive.d.ts +1 -1
  38. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  39. package/elements/lib/directives/focus.directive.d.ts +1 -1
  40. package/elements/lib/directives/form-submit.directive.d.ts +1 -1
  41. package/elements/lib/directives/input.directive.d.ts +2 -2
  42. package/elements/lib/directives/template.directive.d.ts +1 -1
  43. package/elements/lib/dropdown/dropdown.component.d.ts +2 -2
  44. package/elements/lib/file-picker/file-picker.component.d.ts +2 -2
  45. package/elements/lib/form-control/form-control.component.d.ts +1 -1
  46. package/elements/lib/form-error/form-error.component.d.ts +1 -1
  47. package/elements/lib/form-group/form-group.component.d.ts +1 -1
  48. package/elements/lib/icon/icon.component.d.ts +1 -1
  49. package/elements/lib/image-picker/image-picker.component.d.ts +1 -1
  50. package/elements/lib/pipes/file-image.pipe.d.ts +1 -1
  51. package/elements/lib/pipes/file-size.pipe.d.ts +1 -1
  52. package/elements/lib/pipes/relative-time.pipe.d.ts +1 -1
  53. package/elements/lib/spinner/spinner.component.d.ts +1 -1
  54. package/elements/lib/tag/tag.component.d.ts +1 -1
  55. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  56. package/esm2020/auth/lib/auth.module.mjs +6 -6
  57. package/esm2020/auth/lib/auth.service.mjs +5 -5
  58. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  59. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  60. package/esm2020/auth/lib/directives/role.directive.mjs +3 -3
  61. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  62. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  63. package/esm2020/auth/lib/helpers/mapper.helper.mjs +3 -3
  64. package/esm2020/auth/lib/permissions.service.mjs +3 -3
  65. package/esm2020/collections/lib/collection.mjs +5 -5
  66. package/esm2020/collections/lib/collections.module.mjs +5 -5
  67. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  68. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  69. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  70. package/esm2020/collections/lib/providers/api-collection.provider.mjs +6 -6
  71. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +6 -6
  72. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +19 -6
  73. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +5 -5
  74. package/esm2020/controls/lib/controls.module.mjs +5 -5
  75. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  76. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  77. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  78. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  79. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  80. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +5 -5
  81. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  82. package/esm2020/dashboard/lib/dashboard.module.mjs +5 -5
  83. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  84. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +8 -8
  85. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +4 -4
  86. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  87. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  88. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  89. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  90. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  91. package/esm2020/dialog/lib/dialog.module.mjs +7 -9
  92. package/esm2020/dialog/lib/dialog.service.mjs +3 -3
  93. package/esm2020/elements/lib/avatar/avatar.component.mjs +3 -3
  94. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  95. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +5 -5
  96. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +12 -12
  97. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  98. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  99. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +3 -3
  100. package/esm2020/elements/lib/directives/focus.directive.mjs +3 -3
  101. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  102. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  103. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  104. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +7 -7
  105. package/esm2020/elements/lib/elements.module.mjs +5 -5
  106. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +10 -10
  107. package/esm2020/elements/lib/form-control/form-control.component.mjs +6 -6
  108. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  109. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  110. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  111. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +5 -5
  112. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  113. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  114. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  115. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  116. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  117. package/esm2020/http/lib/http.module.mjs +5 -5
  118. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  119. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  120. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  121. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  122. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  123. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  124. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  125. package/esm2020/lib/core/services/network.service.mjs +3 -3
  126. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  127. package/esm2020/lib/core/services/platform.service.mjs +3 -3
  128. package/esm2020/localize/lib/localize.module.mjs +5 -5
  129. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  130. package/esm2020/localize/lib/localize.service.mjs +9 -7
  131. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  132. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  133. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  134. package/esm2020/masking/bravobit-bb-foundation-masking.mjs +5 -0
  135. package/esm2020/masking/lib/input-mask.directive.mjs +110 -0
  136. package/esm2020/masking/lib/input-mask.interface.mjs +2 -0
  137. package/esm2020/masking/lib/masking.module.mjs +16 -0
  138. package/esm2020/masking/lib/masking.service.mjs +94 -0
  139. package/esm2020/masking/public_api.mjs +5 -0
  140. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  141. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +6 -6
  142. package/esm2020/notifications/lib/notifications.module.mjs +5 -5
  143. package/esm2020/notifications/lib/notifications.service.mjs +3 -3
  144. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  145. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  146. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  147. package/esm2020/storage/lib/storage.service.mjs +8 -8
  148. package/esm2020/table/lib/components/table/table.component.mjs +15 -15
  149. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  150. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +4 -4
  151. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +6 -6
  152. package/esm2020/table/lib/table.module.mjs +5 -5
  153. package/esm2020/theming/bravobit-bb-foundation-theming.mjs +5 -0
  154. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +2 -0
  155. package/esm2020/theming/lib/themes/checkbox.theme.mjs +2 -0
  156. package/esm2020/theming/lib/theming.interface.mjs +3 -0
  157. package/esm2020/theming/lib/theming.module.mjs +38 -0
  158. package/esm2020/theming/lib/theming.service.mjs +100 -0
  159. package/esm2020/theming/public_api.mjs +4 -0
  160. package/fesm2015/bravobit-bb-foundation-auth.mjs +33 -33
  161. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  162. package/fesm2015/bravobit-bb-foundation-collections.mjs +31 -31
  163. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  164. package/fesm2015/bravobit-bb-foundation-controls.mjs +31 -18
  165. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  166. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +26 -26
  167. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  168. package/fesm2015/bravobit-bb-foundation-dialog.mjs +34 -36
  169. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  170. package/fesm2015/bravobit-bb-foundation-elements.mjs +143 -143
  171. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  172. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  173. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  174. package/fesm2015/bravobit-bb-foundation-localize.mjs +26 -24
  175. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  176. package/fesm2015/bravobit-bb-foundation-masking.mjs +235 -0
  177. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +1 -0
  178. package/fesm2015/bravobit-bb-foundation-notifications.mjs +14 -14
  179. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  180. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  181. package/fesm2015/bravobit-bb-foundation-storage.mjs +7 -7
  182. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  183. package/fesm2015/bravobit-bb-foundation-table.mjs +28 -28
  184. package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
  185. package/fesm2015/bravobit-bb-foundation-theming.mjs +153 -0
  186. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -0
  187. package/fesm2015/bravobit-bb-foundation.mjs +24 -24
  188. package/fesm2020/bravobit-bb-foundation-auth.mjs +33 -33
  189. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  190. package/fesm2020/bravobit-bb-foundation-collections.mjs +31 -31
  191. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  192. package/fesm2020/bravobit-bb-foundation-controls.mjs +31 -18
  193. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  194. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +26 -26
  195. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  196. package/fesm2020/bravobit-bb-foundation-dialog.mjs +34 -36
  197. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  198. package/fesm2020/bravobit-bb-foundation-elements.mjs +143 -143
  199. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  200. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  201. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  202. package/fesm2020/bravobit-bb-foundation-localize.mjs +24 -22
  203. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  204. package/fesm2020/bravobit-bb-foundation-masking.mjs +223 -0
  205. package/fesm2020/bravobit-bb-foundation-masking.mjs.map +1 -0
  206. package/fesm2020/bravobit-bb-foundation-notifications.mjs +14 -14
  207. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  208. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  209. package/fesm2020/bravobit-bb-foundation-storage.mjs +7 -7
  210. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  211. package/fesm2020/bravobit-bb-foundation-table.mjs +28 -28
  212. package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
  213. package/fesm2020/bravobit-bb-foundation-theming.mjs +143 -0
  214. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -0
  215. package/fesm2020/bravobit-bb-foundation.mjs +24 -24
  216. package/http/{bravobit-bb-foundation-http.d.ts → index.d.ts} +0 -0
  217. package/{bravobit-bb-foundation.d.ts → index.d.ts} +0 -0
  218. package/localize/{bravobit-bb-foundation-localize.d.ts → index.d.ts} +0 -0
  219. package/localize/lib/localize.pipe.d.ts +1 -1
  220. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  221. package/localize/lib/views/localize-template-or-string.directive.d.ts +1 -1
  222. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  223. package/masking/index.d.ts +5 -0
  224. package/masking/lib/input-mask.directive.d.ts +36 -0
  225. package/masking/lib/input-mask.interface.d.ts +20 -0
  226. package/masking/lib/masking.module.d.ts +7 -0
  227. package/masking/lib/masking.service.d.ts +12 -0
  228. package/masking/public_api.d.ts +4 -0
  229. package/notifications/{bravobit-bb-foundation-notifications.d.ts → index.d.ts} +0 -0
  230. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  231. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -1
  232. package/package.json +36 -19
  233. package/recaptcha/{bravobit-bb-foundation-recaptcha.d.ts → index.d.ts} +0 -0
  234. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +1 -1
  235. package/rxjs/{bravobit-bb-foundation-rxjs.d.ts → index.d.ts} +0 -0
  236. package/storage/{bravobit-bb-foundation-storage.d.ts → index.d.ts} +0 -0
  237. package/table/{bravobit-bb-foundation-table.d.ts → index.d.ts} +0 -0
  238. package/table/lib/components/table/table.component.d.ts +7 -7
  239. package/table/lib/components/table-cell/table-cell.component.d.ts +1 -1
  240. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +1 -1
  241. package/table/lib/components/table-pager/table-pager.component.d.ts +1 -1
  242. package/theming/index.d.ts +5 -0
  243. package/theming/lib/themes/checkbox-group.theme.d.ts +5 -0
  244. package/theming/lib/themes/checkbox.theme.d.ts +19 -0
  245. package/theming/lib/theming.interface.d.ts +14 -0
  246. package/theming/lib/theming.module.d.ts +13 -0
  247. package/theming/lib/theming.service.d.ts +24 -0
  248. package/theming/public_api.d.ts +3 -0
  249. package/auth/package.json +0 -10
  250. package/collections/package.json +0 -10
  251. package/controls/package.json +0 -10
  252. package/dashboard/package.json +0 -10
  253. package/dialog/package.json +0 -10
  254. package/elements/package.json +0 -10
  255. package/http/package.json +0 -10
  256. package/localize/package.json +0 -10
  257. package/notifications/package.json +0 -10
  258. package/recaptcha/package.json +0 -10
  259. package/rxjs/package.json +0 -10
  260. package/storage/package.json +0 -10
  261. package/table/package.json +0 -10
@@ -1,17 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostListener, Directive, Optional, Host, Input, InjectionToken, EventEmitter, forwardRef, ViewChild, Output, Self, Inject, TemplateRef, ContentChild, Pipe, HostBinding, LOCALE_ID, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostListener, Directive, Optional, Host, Input, InjectionToken, EventEmitter, forwardRef, ViewChild, Output, TemplateRef, Self, Inject, ContentChild, Pipe, HostBinding, LOCALE_ID, NgModule } from '@angular/core';
3
3
  import { trigger, transition, style, animate } from '@angular/animations';
4
4
  import { BehaviorSubject, fromEvent, merge, EMPTY, combineLatest, of, Subscription } from 'rxjs';
5
5
  import * as i1 from '@angular/common';
6
6
  import { formatDate, DatePipe, CommonModule } from '@angular/common';
7
7
  import * as i1$1 from '@bravobit/bb-foundation';
8
8
  import { mixinDisabled, mixinLoad, mixinGrouped, mixinFocused, mixinReadonly, mixinRequired, mixinError, mixinHideErrors } from '@bravobit/bb-foundation';
9
- import * as i5 from '@angular/forms';
9
+ import * as i2 from '@angular/forms';
10
10
  import { NG_VALUE_ACCESSOR, NgControl, NG_VALIDATORS, Validators, FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
11
11
  import { map, startWith, distinctUntilChanged, shareReplay, tap, delay } from 'rxjs/operators';
12
12
  import * as i4 from '@bravobit/bb-foundation/localize';
13
13
  import { LocalizeModule } from '@bravobit/bb-foundation/localize';
14
- import * as i2 from '@angular/platform-browser';
14
+ import * as i2$1 from '@angular/platform-browser';
15
15
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
16
16
 
17
17
  class BbDropdown {
@@ -36,8 +36,8 @@ class BbDropdown {
36
36
  return this.close();
37
37
  }
38
38
  }
39
- BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
40
- BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\r\n [class.opened]=\"visible$ | async\"\r\n type=\"button\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n<div *ngIf=\"visible$ | async\"\r\n [@dropdownMenuAnimation]=\"true\"\r\n class=\"bb-dropdown-menu\"\r\n role=\"list\">\r\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\r\n</div>\r\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, animations: [
39
+ BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
40
+ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\r\n [class.opened]=\"visible$ | async\"\r\n type=\"button\">\r\n <ng-content></ng-content>\r\n</button>\r\n\r\n<div *ngIf=\"visible$ | async\"\r\n [@dropdownMenuAnimation]=\"true\"\r\n class=\"bb-dropdown-menu\"\r\n role=\"list\">\r\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\r\n</div>\r\n", styles: [".bb-dropdown{position:relative;display:inline-block}.bb-dropdown.right>.bb-dropdown-menu{right:0;left:auto;transform-origin:top right}.bb-dropdown-menu{left:0;top:100%;padding:0;z-index:10;display:block;margin:10px 0 0;border-radius:4px;position:absolute;list-style-type:none;background-color:#fff;border:1px solid #cccccc;transform-origin:top left;box-shadow:0 0 6px #0000001a}.bb-dropdown-menu:after{width:0;top:-5px;height:0;right:5px;content:\"\";position:absolute;border-style:solid;border-width:0 10px 5px 10px;border-color:transparent transparent #d9d9d9 transparent}.bb-dropdown-menu>hr{margin:0;height:1px;border:none;background-color:#ccc}.bb-dropdown-item{width:100%;border:none;line-height:1;display:block;cursor:pointer;text-align:left;font-weight:500;-webkit-user-select:none;user-select:none;padding:12px 20px;white-space:nowrap;text-decoration:none;color:#676767!important;background-color:transparent;transition:background-color .25s cubic-bezier(0,0,.2,1)}.bb-dropdown-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.bb-dropdown-item:hover{background-color:#f6f6f6}.bb-dropdown-item:focus{box-shadow:0 0 0 3px #dce0e980}.bb-dropdown-item:active{background-color:#f0f0f0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], animations: [
41
41
  trigger('dropdownMenuAnimation', [
42
42
  transition(':enter', [
43
43
  // 1. Set the initial state.
@@ -53,7 +53,7 @@ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "1
53
53
  ])
54
54
  ])
55
55
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDropdown, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDropdown, decorators: [{
57
57
  type: Component,
58
58
  args: [{ selector: 'bb-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dropdown' }, preserveWhitespaces: false, animations: [
59
59
  trigger('dropdownMenuAnimation', [
@@ -88,9 +88,9 @@ class BbDropdownItem {
88
88
  this._parent?.close();
89
89
  }
90
90
  }
91
- BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
92
- BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDropdownItem, decorators: [{
91
+ BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
92
+ BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDropdownItem, decorators: [{
94
94
  type: Directive,
95
95
  args: [{
96
96
  selector: '[bbDropdownItem]',
@@ -123,9 +123,9 @@ class BbSpinner extends BbSpinnerMixinBase {
123
123
  this.alt = 'Loading...';
124
124
  }
125
125
  }
126
- BbSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSpinner, deps: null, target: i0.ɵɵFactoryTarget.Component });
127
- BbSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbSpinner, selector: "bb-spinner", inputs: { color: "color", alt: "alt", disabled: "disabled" }, host: { classAttribute: "bb-spinner" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n The spinner element.\r\n\r\n This element contains a circle with a 25% bar that spins\r\n indefinitely. The border color can be set via the \"color\"\r\n property.\r\n-->\r\n<div class=\"bb-spinner-container\">\r\n <div [style.border-left-color]=\"color\"\r\n [class.disabled]=\"disabled\"\r\n class=\"bb-spinner-loader\"\r\n aria-live=\"assertive\"\r\n role=\"alert\">\r\n {{ alt }}\r\n </div>\r\n <ng-content select=\"img\"></ng-content>\r\n</div>\r\n\r\n<!--\r\n The content of the spinner.\r\n\r\n This element contains the content of the spinner. The user\r\n can set the content inside the tag.\r\n-->\r\n<span class=\"bb-spinner-content\">\r\n <ng-content></ng-content>\r\n</span>\r\n", styles: [".bb-spinner{color:#565656;padding:20px 0;text-align:center;align-items:center;display:inline-flex;flex-direction:column;justify-content:center}.bb-spinner.block{display:flex}.bb-spinner.inverse .bb-spinner-loader{border-color:#ffffff26}.bb-spinner.inverse .bb-spinner-content{color:#ffffff80}.bb-spinner.small .bb-spinner-loader,.bb-spinner.small .bb-spinner-loader:after{width:20px;height:20px;min-width:20px;min-height:20px}.bb-spinner.small .bb-spinner-loader{border-width:2px}.bb-spinner.small .bb-spinner-content{font-size:12px}.bb-spinner.medium .bb-spinner-loader,.bb-spinner.medium .bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px}.bb-spinner.medium .bb-spinner-loader{border-width:4px}.bb-spinner.medium .bb-spinner-content{font-size:16px}.bb-spinner.large .bb-spinner-loader,.bb-spinner.large .bb-spinner-loader:after{width:100px;height:100px;min-width:100px;min-height:100px}.bb-spinner.large .bb-spinner-loader{border-width:6px}.bb-spinner.large .bb-spinner-content{font-size:20px}.bb-spinner.horizontal{text-align:left;flex-direction:row}.bb-spinner.horizontal .bb-spinner-content:not(:empty){margin-left:10px;margin-top:0}.bb-spinner.vertical{text-align:center;flex-direction:column}.bb-spinner.vertical .bb-spinner-content:not(:empty){margin-left:0;margin-top:10px}.bb-spinner-container{display:flex;position:relative}.bb-spinner-container>img{top:20%;left:20%;width:60%;height:60%;position:absolute}.bb-spinner-loader{margin:0;padding:0;overflow:hidden;text-indent:100%;color:transparent;position:relative;display:inline-block;vertical-align:middle;border:4px solid #f2f4f6;animation:1s linear infinite spin}.bb-spinner-loader,.bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px;border-radius:50%}.bb-spinner-loader.disabled{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;animation-play-state:paused}.bb-spinner-content:not(:empty){font-size:16px;margin-top:10px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSpinner, decorators: [{
126
+ BbSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSpinner, deps: null, target: i0.ɵɵFactoryTarget.Component });
127
+ BbSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbSpinner, selector: "bb-spinner", inputs: { color: "color", alt: "alt", disabled: "disabled" }, host: { classAttribute: "bb-spinner" }, usesInheritance: true, ngImport: i0, template: "<!--\r\n The spinner element.\r\n\r\n This element contains a circle with a 25% bar that spins\r\n indefinitely. The border color can be set via the \"color\"\r\n property.\r\n-->\r\n<div class=\"bb-spinner-container\">\r\n <div [style.border-left-color]=\"color\"\r\n [class.disabled]=\"disabled\"\r\n class=\"bb-spinner-loader\"\r\n aria-live=\"assertive\"\r\n role=\"alert\">\r\n {{ alt }}\r\n </div>\r\n <ng-content select=\"img\"></ng-content>\r\n</div>\r\n\r\n<!--\r\n The content of the spinner.\r\n\r\n This element contains the content of the spinner. The user\r\n can set the content inside the tag.\r\n-->\r\n<span class=\"bb-spinner-content\">\r\n <ng-content></ng-content>\r\n</span>\r\n", styles: [".bb-spinner{color:#565656;padding:20px 0;text-align:center;align-items:center;display:inline-flex;flex-direction:column;justify-content:center}.bb-spinner.block{display:flex}.bb-spinner.inverse .bb-spinner-loader{border-color:#ffffff26}.bb-spinner.inverse .bb-spinner-content{color:#ffffff80}.bb-spinner.small .bb-spinner-loader,.bb-spinner.small .bb-spinner-loader:after{width:20px;height:20px;min-width:20px;min-height:20px}.bb-spinner.small .bb-spinner-loader{border-width:2px}.bb-spinner.small .bb-spinner-content{font-size:12px}.bb-spinner.medium .bb-spinner-loader,.bb-spinner.medium .bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px}.bb-spinner.medium .bb-spinner-loader{border-width:4px}.bb-spinner.medium .bb-spinner-content{font-size:16px}.bb-spinner.large .bb-spinner-loader,.bb-spinner.large .bb-spinner-loader:after{width:100px;height:100px;min-width:100px;min-height:100px}.bb-spinner.large .bb-spinner-loader{border-width:6px}.bb-spinner.large .bb-spinner-content{font-size:20px}.bb-spinner.horizontal{text-align:left;flex-direction:row}.bb-spinner.horizontal .bb-spinner-content:not(:empty){margin-left:10px;margin-top:0}.bb-spinner.vertical{text-align:center;flex-direction:column}.bb-spinner.vertical .bb-spinner-content:not(:empty){margin-left:0;margin-top:10px}.bb-spinner-container{display:flex;position:relative}.bb-spinner-container>img{top:20%;left:20%;width:60%;height:60%;position:absolute}.bb-spinner-loader{margin:0;padding:0;overflow:hidden;text-indent:100%;color:transparent;position:relative;display:inline-block;vertical-align:middle;border:4px solid #f2f4f6;animation:1s linear infinite spin}.bb-spinner-loader,.bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px;border-radius:50%}.bb-spinner-loader.disabled{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;animation-play-state:paused}.bb-spinner-content:not(:empty){font-size:16px;margin-top:10px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSpinner, decorators: [{
129
129
  type: Component,
130
130
  args: [{ selector: 'bb-spinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-spinner' }, inputs: ['color', 'alt', 'disabled'], preserveWhitespaces: false, template: "<!--\r\n The spinner element.\r\n\r\n This element contains a circle with a 25% bar that spins\r\n indefinitely. The border color can be set via the \"color\"\r\n property.\r\n-->\r\n<div class=\"bb-spinner-container\">\r\n <div [style.border-left-color]=\"color\"\r\n [class.disabled]=\"disabled\"\r\n class=\"bb-spinner-loader\"\r\n aria-live=\"assertive\"\r\n role=\"alert\">\r\n {{ alt }}\r\n </div>\r\n <ng-content select=\"img\"></ng-content>\r\n</div>\r\n\r\n<!--\r\n The content of the spinner.\r\n\r\n This element contains the content of the spinner. The user\r\n can set the content inside the tag.\r\n-->\r\n<span class=\"bb-spinner-content\">\r\n <ng-content></ng-content>\r\n</span>\r\n", styles: [".bb-spinner{color:#565656;padding:20px 0;text-align:center;align-items:center;display:inline-flex;flex-direction:column;justify-content:center}.bb-spinner.block{display:flex}.bb-spinner.inverse .bb-spinner-loader{border-color:#ffffff26}.bb-spinner.inverse .bb-spinner-content{color:#ffffff80}.bb-spinner.small .bb-spinner-loader,.bb-spinner.small .bb-spinner-loader:after{width:20px;height:20px;min-width:20px;min-height:20px}.bb-spinner.small .bb-spinner-loader{border-width:2px}.bb-spinner.small .bb-spinner-content{font-size:12px}.bb-spinner.medium .bb-spinner-loader,.bb-spinner.medium .bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px}.bb-spinner.medium .bb-spinner-loader{border-width:4px}.bb-spinner.medium .bb-spinner-content{font-size:16px}.bb-spinner.large .bb-spinner-loader,.bb-spinner.large .bb-spinner-loader:after{width:100px;height:100px;min-width:100px;min-height:100px}.bb-spinner.large .bb-spinner-loader{border-width:6px}.bb-spinner.large .bb-spinner-content{font-size:20px}.bb-spinner.horizontal{text-align:left;flex-direction:row}.bb-spinner.horizontal .bb-spinner-content:not(:empty){margin-left:10px;margin-top:0}.bb-spinner.vertical{text-align:center;flex-direction:column}.bb-spinner.vertical .bb-spinner-content:not(:empty){margin-left:0;margin-top:10px}.bb-spinner-container{display:flex;position:relative}.bb-spinner-container>img{top:20%;left:20%;width:60%;height:60%;position:absolute}.bb-spinner-loader{margin:0;padding:0;overflow:hidden;text-indent:100%;color:transparent;position:relative;display:inline-block;vertical-align:middle;border:4px solid #f2f4f6;animation:1s linear infinite spin}.bb-spinner-loader,.bb-spinner-loader:after{width:60px;height:60px;min-width:60px;min-height:60px;border-radius:50%}.bb-spinner-loader.disabled{cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none;animation-play-state:paused}.bb-spinner-content:not(:empty){font-size:16px;margin-top:10px;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
131
131
  }], propDecorators: { color: [{
@@ -151,9 +151,9 @@ class BbButton extends BbButtonMixinBase {
151
151
  this.nativeElement && this.nativeElement.focus();
152
152
  }
153
153
  }
154
- BbButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbButton, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
155
- BbButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbButton, selector: "button[bb-button]", inputs: { disabled: "disabled", loading: "loading" }, host: { properties: { "class.loading": "loading", "attr.disabled": "disabled || loading || null" }, classAttribute: "bb-button" }, exportAs: ["bbButton"], usesInheritance: true, ngImport: i0, template: "<bb-spinner [class.visible]=\"loading\"\r\n class=\"bb-button-spinner small\">\r\n</bb-spinner>\r\n\r\n<ng-content></ng-content>\r\n", styles: [".bb-button{height:38px;padding:0 8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;font-style:normal;border-radius:4px;text-align:center;align-items:center;display:inline-flex;text-decoration:none;justify-content:center;background-color:#fff;color:#2d3c4d!important;border:1px solid #d4d8e1;transition-duration:.2s;box-shadow:0 6px 6px -6px #0000001a;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:padding-left,background-color,box-shadow}.bb-button:hover{background-color:#fcfcfb}.bb-button:focus,.bb-button:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #dce0e980}.bb-button.full{width:100%}.bb-button.full.loading{padding-left:42px}.bb-button.primary{border-color:#2f2b85;color:#fff!important;background-color:#5b53ff}.bb-button.primary:hover{background-color:#564ee6}.bb-button.primary:focus,.bb-button.primary:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #5b53ff80}.bb-button.destructive{border-color:#8f2020;color:#fff!important;background-color:#d32f2f}.bb-button.destructive:hover{background-color:#c32929}.bb-button.destructive:focus,.bb-button.destructive:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #d32f2f80}.bb-button:disabled,.bb-button:disabled:focus,.bb-button:disabled:hover,.bb-button:disabled:active,.bb-button[disabled],.bb-button[disabled]:focus,.bb-button[disabled]:hover,.bb-button[disabled]:active,.bb-button.loading,.bb-button.loading:focus,.bb-button.loading:hover,.bb-button.loading:active{opacity:.4;cursor:default;box-shadow:none}.bb-button-spinner{width:0;opacity:0;overflow:hidden;visibility:hidden;padding:0!important;transition:width .2s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1)}.bb-button-spinner.visible{opacity:1;width:20px;margin-right:8px;visibility:visible}.bb-button.loading.full>.bb-button-spinner{left:8px;margin-right:0;position:absolute}\n"], components: [{ type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbButton, decorators: [{
154
+ BbButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbButton, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
155
+ BbButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbButton, selector: "button[bb-button]", inputs: { disabled: "disabled", loading: "loading" }, host: { properties: { "class.loading": "loading", "attr.disabled": "disabled || loading || null" }, classAttribute: "bb-button" }, exportAs: ["bbButton"], usesInheritance: true, ngImport: i0, template: "<bb-spinner [class.visible]=\"loading\"\r\n class=\"bb-button-spinner small\">\r\n</bb-spinner>\r\n\r\n<ng-content></ng-content>\r\n", styles: [".bb-button{height:38px;padding:0 8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;font-style:normal;border-radius:4px;text-align:center;align-items:center;display:inline-flex;text-decoration:none;justify-content:center;background-color:#fff;color:#2d3c4d!important;border:1px solid #d4d8e1;transition-duration:.2s;box-shadow:0 6px 6px -6px #0000001a;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:padding-left,background-color,box-shadow}.bb-button:hover{background-color:#fcfcfb}.bb-button:focus,.bb-button:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #dce0e980}.bb-button.full{width:100%}.bb-button.full.loading{padding-left:42px}.bb-button.primary{border-color:#2f2b85;color:#fff!important;background-color:#5b53ff}.bb-button.primary:hover{background-color:#564ee6}.bb-button.primary:focus,.bb-button.primary:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #5b53ff80}.bb-button.destructive{border-color:#8f2020;color:#fff!important;background-color:#d32f2f}.bb-button.destructive:hover{background-color:#c32929}.bb-button.destructive:focus,.bb-button.destructive:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #d32f2f80}.bb-button:disabled,.bb-button:disabled:focus,.bb-button:disabled:hover,.bb-button:disabled:active,.bb-button[disabled],.bb-button[disabled]:focus,.bb-button[disabled]:hover,.bb-button[disabled]:active,.bb-button.loading,.bb-button.loading:focus,.bb-button.loading:hover,.bb-button.loading:active{opacity:.4;cursor:default;box-shadow:none}.bb-button-spinner{width:0;opacity:0;overflow:hidden;visibility:hidden;padding:0!important;transition:width .2s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1)}.bb-button-spinner.visible{opacity:1;width:20px;margin-right:8px;visibility:visible}.bb-button.loading.full>.bb-button-spinner{left:8px;margin-right:0;position:absolute}\n"], dependencies: [{ kind: "component", type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbButton, decorators: [{
157
157
  type: Component,
158
158
  args: [{ selector: 'button[bb-button]', exportAs: 'bbButton', host: {
159
159
  'class': 'bb-button',
@@ -176,9 +176,9 @@ class BbAnchor extends BbButton {
176
176
  event.stopImmediatePropagation();
177
177
  }
178
178
  }
179
- BbAnchor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAnchor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
180
- BbAnchor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbAnchor, selector: "a[bb-button]", inputs: { disabled: "disabled", loading: "loading", tabIndex: "tabIndex" }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "attr.tabindex": "(disabled || loading) ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || loading || null", "attr.aria-disabled": "(disabled || loading).toString()" }, classAttribute: "bb-button" }, exportAs: ["bbButton", "bbAnchor"], usesInheritance: true, ngImport: i0, template: "<bb-spinner [class.visible]=\"loading\"\r\n class=\"bb-button-spinner small\">\r\n</bb-spinner>\r\n\r\n<ng-content></ng-content>\r\n", styles: [".bb-button{height:38px;padding:0 8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;font-style:normal;border-radius:4px;text-align:center;align-items:center;display:inline-flex;text-decoration:none;justify-content:center;background-color:#fff;color:#2d3c4d!important;border:1px solid #d4d8e1;transition-duration:.2s;box-shadow:0 6px 6px -6px #0000001a;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:padding-left,background-color,box-shadow}.bb-button:hover{background-color:#fcfcfb}.bb-button:focus,.bb-button:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #dce0e980}.bb-button.full{width:100%}.bb-button.full.loading{padding-left:42px}.bb-button.primary{border-color:#2f2b85;color:#fff!important;background-color:#5b53ff}.bb-button.primary:hover{background-color:#564ee6}.bb-button.primary:focus,.bb-button.primary:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #5b53ff80}.bb-button.destructive{border-color:#8f2020;color:#fff!important;background-color:#d32f2f}.bb-button.destructive:hover{background-color:#c32929}.bb-button.destructive:focus,.bb-button.destructive:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #d32f2f80}.bb-button:disabled,.bb-button:disabled:focus,.bb-button:disabled:hover,.bb-button:disabled:active,.bb-button[disabled],.bb-button[disabled]:focus,.bb-button[disabled]:hover,.bb-button[disabled]:active,.bb-button.loading,.bb-button.loading:focus,.bb-button.loading:hover,.bb-button.loading:active{opacity:.4;cursor:default;box-shadow:none}.bb-button-spinner{width:0;opacity:0;overflow:hidden;visibility:hidden;padding:0!important;transition:width .2s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1)}.bb-button-spinner.visible{opacity:1;width:20px;margin-right:8px;visibility:visible}.bb-button.loading.full>.bb-button-spinner{left:8px;margin-right:0;position:absolute}\n"], components: [{ type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAnchor, decorators: [{
179
+ BbAnchor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAnchor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
180
+ BbAnchor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbAnchor, selector: "a[bb-button]", inputs: { disabled: "disabled", loading: "loading", tabIndex: "tabIndex" }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "attr.tabindex": "(disabled || loading) ? -1 : (tabIndex || 0)", "attr.disabled": "disabled || loading || null", "attr.aria-disabled": "(disabled || loading).toString()" }, classAttribute: "bb-button" }, exportAs: ["bbButton", "bbAnchor"], usesInheritance: true, ngImport: i0, template: "<bb-spinner [class.visible]=\"loading\"\r\n class=\"bb-button-spinner small\">\r\n</bb-spinner>\r\n\r\n<ng-content></ng-content>\r\n", styles: [".bb-button{height:38px;padding:0 8px;cursor:pointer;font-size:16px;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;font-style:normal;border-radius:4px;text-align:center;align-items:center;display:inline-flex;text-decoration:none;justify-content:center;background-color:#fff;color:#2d3c4d!important;border:1px solid #d4d8e1;transition-duration:.2s;box-shadow:0 6px 6px -6px #0000001a;transition-timing-function:cubic-bezier(0,0,.2,1);transition-property:padding-left,background-color,box-shadow}.bb-button:hover{background-color:#fcfcfb}.bb-button:focus,.bb-button:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #dce0e980}.bb-button.full{width:100%}.bb-button.full.loading{padding-left:42px}.bb-button.primary{border-color:#2f2b85;color:#fff!important;background-color:#5b53ff}.bb-button.primary:hover{background-color:#564ee6}.bb-button.primary:focus,.bb-button.primary:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #5b53ff80}.bb-button.destructive{border-color:#8f2020;color:#fff!important;background-color:#d32f2f}.bb-button.destructive:hover{background-color:#c32929}.bb-button.destructive:focus,.bb-button.destructive:active{box-shadow:0 6px 6px -6px #0000001a,0 0 0 3px #d32f2f80}.bb-button:disabled,.bb-button:disabled:focus,.bb-button:disabled:hover,.bb-button:disabled:active,.bb-button[disabled],.bb-button[disabled]:focus,.bb-button[disabled]:hover,.bb-button[disabled]:active,.bb-button.loading,.bb-button.loading:focus,.bb-button.loading:hover,.bb-button.loading:active{opacity:.4;cursor:default;box-shadow:none}.bb-button-spinner{width:0;opacity:0;overflow:hidden;visibility:hidden;padding:0!important;transition:width .2s cubic-bezier(0,0,.2,1),opacity .1s cubic-bezier(0,0,.2,1)}.bb-button-spinner.visible{opacity:1;width:20px;margin-right:8px;visibility:visible}.bb-button.loading.full>.bb-button-spinner{left:8px;margin-right:0;position:absolute}\n"], dependencies: [{ kind: "component", type: BbSpinner, selector: "bb-spinner", inputs: ["color", "alt", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAnchor, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: 'a[bb-button]', exportAs: 'bbButton, bbAnchor', host: {
184
184
  'class': 'bb-button',
@@ -262,9 +262,9 @@ class BbImagePicker extends BbImagePickerMixinBase {
262
262
  this.disabled = isDisabled;
263
263
  }
264
264
  }
265
- BbImagePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbImagePicker, deps: [{ token: i1$1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component });
266
- BbImagePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbImagePicker, selector: "bb-image-picker", inputs: { grouped: "grouped", disabled: "disabled", label: "label", placeholder: "placeholder", styleDimensions: "styleDimensions", cropDimensions: "cropDimensions", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled", "class.grouped": "grouped" }, classAttribute: "bb-image-picker" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbImagePicker), multi: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The input that can open the file picker. -->\r\n<input #fileInput\r\n (change)=\"onFileChange($event)\"\r\n class=\"bb-image-picker-input\"\r\n type=\"file\"\r\n tabindex=\"-1\"\r\n accept=\"image/*\">\r\n\r\n<span [style.width]=\"styleDimensions?.width || '100%'\"\r\n [style.height]=\"styleDimensions?.height || '215px'\"\r\n [style.background-image]=\"image | async\"\r\n class=\"bb-image-input-image\">\r\n </span>\r\n\r\n<button *ngIf=\"label as labelText\"\r\n (click)=\"openFilePicker()\"\r\n bb-button\r\n class=\"bb-image-input-button\"\r\n type=\"button\">\r\n {{ labelText }}\r\n</button>\r\n", styles: [".bb-image-picker{display:flex;align-items:center;flex-direction:column}.bb-image-picker.circle>.bb-image-input-image{border-radius:50%}.bb-image-picker.grouped{margin-bottom:20px}.bb-image-picker.disabled{opacity:.5;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-image-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-image-input-image{display:flex;cursor:default;position:relative;border-radius:4px;align-items:center;justify-content:center;background:rgba(0,0,0,.2) url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center/cover no-repeat}.bb-image-input-button{margin-top:10px}\n"], components: [{ type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbImagePicker, decorators: [{
265
+ BbImagePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbImagePicker, deps: [{ token: i1$1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component });
266
+ BbImagePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbImagePicker, selector: "bb-image-picker", inputs: { grouped: "grouped", disabled: "disabled", label: "label", placeholder: "placeholder", styleDimensions: "styleDimensions", cropDimensions: "cropDimensions", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled", "class.grouped": "grouped" }, classAttribute: "bb-image-picker" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbImagePicker), multi: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The input that can open the file picker. -->\r\n<input #fileInput\r\n (change)=\"onFileChange($event)\"\r\n class=\"bb-image-picker-input\"\r\n type=\"file\"\r\n tabindex=\"-1\"\r\n accept=\"image/*\">\r\n\r\n<span [style.width]=\"styleDimensions?.width || '100%'\"\r\n [style.height]=\"styleDimensions?.height || '215px'\"\r\n [style.background-image]=\"image | async\"\r\n class=\"bb-image-input-image\">\r\n </span>\r\n\r\n<button *ngIf=\"label as labelText\"\r\n (click)=\"openFilePicker()\"\r\n bb-button\r\n class=\"bb-image-input-button\"\r\n type=\"button\">\r\n {{ labelText }}\r\n</button>\r\n", styles: [".bb-image-picker{display:flex;align-items:center;flex-direction:column}.bb-image-picker.circle>.bb-image-input-image{border-radius:50%}.bb-image-picker.grouped{margin-bottom:20px}.bb-image-picker.disabled{opacity:.5;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-image-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-image-input-image{display:flex;cursor:default;position:relative;border-radius:4px;align-items:center;justify-content:center;background:rgba(0,0,0,.2) url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center/cover no-repeat}.bb-image-input-button{margin-top:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbImagePicker, decorators: [{
268
268
  type: Component,
269
269
  args: [{ selector: 'bb-image-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
270
270
  'class': 'bb-image-picker',
@@ -288,6 +288,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
288
288
  type: Output
289
289
  }] } });
290
290
 
291
+ class BbTemplate {
292
+ constructor(_templateRef, _viewContainerRef) {
293
+ this._templateRef = _templateRef;
294
+ this._viewContainerRef = _viewContainerRef;
295
+ }
296
+ set bbTemplate(content) {
297
+ // Get the template.
298
+ const template = content instanceof TemplateRef
299
+ ? content
300
+ : this._templateRef;
301
+ // Clear the view container ref and create the view.
302
+ this._viewContainerRef.clear();
303
+ this._viewContainerRef.createEmbeddedView(template);
304
+ }
305
+ }
306
+ BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
307
+ BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbTemplate, decorators: [{
309
+ type: Directive,
310
+ args: [{
311
+ selector: '[bbTemplate]'
312
+ }]
313
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { bbTemplate: [{
314
+ type: Input
315
+ }] } });
316
+
291
317
  class BbFormSubmit {
292
318
  constructor(_host, _formDirective) {
293
319
  this._host = _host;
@@ -319,15 +345,15 @@ class BbFormSubmit {
319
345
  return this._formDirective.ngSubmit.pipe(map(() => true));
320
346
  }
321
347
  }
322
- BbFormSubmit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormSubmit, deps: [{ token: i0.ElementRef }, { token: i5.FormGroupDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
323
- BbFormSubmit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbFormSubmit, selector: "form", exportAs: ["bbForm"], ngImport: i0 });
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormSubmit, decorators: [{
348
+ BbFormSubmit.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormSubmit, deps: [{ token: i0.ElementRef }, { token: i2.FormGroupDirective, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
349
+ BbFormSubmit.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbFormSubmit, selector: "form", exportAs: ["bbForm"], ngImport: i0 });
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormSubmit, decorators: [{
325
351
  type: Directive,
326
352
  args: [{
327
353
  selector: 'form',
328
354
  exportAs: 'bbForm'
329
355
  }]
330
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i5.FormGroupDirective, decorators: [{
356
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.FormGroupDirective, decorators: [{
331
357
  type: Optional
332
358
  }, {
333
359
  type: Self
@@ -410,16 +436,16 @@ class BbFormError {
410
436
  return this.control.statusChanges.pipe(startWith(this.control.status), delay(0));
411
437
  }
412
438
  }
413
- BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormError, deps: [{ token: BbFormSubmit, optional: true }, { token: i5.NgControl, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
414
- BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbFormError, selector: "bb-form-error", inputs: { control: "control" }, outputs: { errorChange: "errorChange" }, host: { classAttribute: "bb-form-error" }, ngImport: i0, template: "<ng-container *ngIf=\"error$ | async as error\">\r\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\r\n class=\"bb-form-error-message\">\r\n {{ message }}\r\n </p>\r\n</ng-container>", styles: [".bb-form-error{display:block}.bb-form-error-message{color:#c23934;display:block;font-size:13px;margin-top:4px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i1.AsyncPipe, "bbLocalize": i4.BbLocalize }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
415
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormError, decorators: [{
439
+ BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormError, deps: [{ token: BbFormSubmit, optional: true }, { token: i2.NgControl, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
440
+ BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbFormError, selector: "bb-form-error", inputs: { control: "control" }, outputs: { errorChange: "errorChange" }, host: { classAttribute: "bb-form-error" }, ngImport: i0, template: "<ng-container *ngIf=\"error$ | async as error\">\r\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\r\n class=\"bb-form-error-message\">\r\n {{ message }}\r\n </p>\r\n</ng-container>", styles: [".bb-form-error{display:block}.bb-form-error-message{color:#c23934;display:block;font-size:13px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormError, decorators: [{
416
442
  type: Component,
417
443
  args: [{ selector: 'bb-form-error', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
418
444
  'class': 'bb-form-error'
419
445
  }, preserveWhitespaces: false, template: "<ng-container *ngIf=\"error$ | async as error\">\r\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\r\n class=\"bb-form-error-message\">\r\n {{ message }}\r\n </p>\r\n</ng-container>", styles: [".bb-form-error{display:block}.bb-form-error-message{color:#c23934;display:block;font-size:13px;margin-top:4px}\n"] }]
420
446
  }], ctorParameters: function () { return [{ type: BbFormSubmit, decorators: [{
421
447
  type: Optional
422
- }] }, { type: i5.NgControl, decorators: [{
448
+ }] }, { type: i2.NgControl, decorators: [{
423
449
  type: Optional
424
450
  }] }, { type: undefined, decorators: [{
425
451
  type: Optional
@@ -432,32 +458,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
432
458
  type: Output
433
459
  }] } });
434
460
 
435
- class BbTemplate {
436
- constructor(_templateRef, _viewContainerRef) {
437
- this._templateRef = _templateRef;
438
- this._viewContainerRef = _viewContainerRef;
439
- }
440
- set bbTemplate(content) {
441
- // Get the template.
442
- const template = content instanceof TemplateRef
443
- ? content
444
- : this._templateRef;
445
- // Clear the view container ref and create the view.
446
- this._viewContainerRef.clear();
447
- this._viewContainerRef.createEmbeddedView(template);
448
- }
449
- }
450
- BbTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbTemplate, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
451
- BbTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbTemplate, selector: "[bbTemplate]", inputs: { bbTemplate: "bbTemplate" }, ngImport: i0 });
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbTemplate, decorators: [{
453
- type: Directive,
454
- args: [{
455
- selector: '[bbTemplate]'
456
- }]
457
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { bbTemplate: [{
458
- type: Input
459
- }] } });
460
-
461
461
  let nextUniqueId$2 = 0;
462
462
  class BbFormControlBase {
463
463
  }
@@ -477,9 +477,9 @@ class BbFormControl extends BbFormControlMixinBase {
477
477
  this.error = !!error;
478
478
  }
479
479
  }
480
- BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
481
- BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbFormControl, selector: "bb-form-control", inputs: { grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint" }, host: { properties: { "class.readonly": "readonly", "class.required": "required", "class.disabled": "disabled", "class.focused": "focused", "class.grouped": "grouped", "class.arrow": "arrow", "class.error": "error" }, classAttribute: "bb-form-control" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Label of the form control. -->\r\n<label *ngIf=\"label as labelContent\"\r\n [attr.for]=\"labelId\"\r\n class=\"bb-form-control-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The input with the addons. -->\r\n<div class=\"bb-form-control-container\">\r\n <ng-content select=\"[bbPrefix]\"></ng-content>\r\n <ng-content select=\"[bbInput]\"></ng-content>\r\n <ng-content select=\"[bbSuffix]\"></ng-content>\r\n</div>\r\n\r\n<!-- The error component. -->\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n [control]=\"ngControl\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The form control hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-form-control-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"], components: [{ type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormControl, decorators: [{
480
+ BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
481
+ BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbFormControl, selector: "bb-form-control", inputs: { grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint" }, host: { properties: { "class.readonly": "readonly", "class.required": "required", "class.disabled": "disabled", "class.focused": "focused", "class.grouped": "grouped", "class.arrow": "arrow", "class.error": "error" }, classAttribute: "bb-form-control" }, queries: [{ propertyName: "ngControl", first: true, predicate: NgControl, descendants: true }], usesInheritance: true, ngImport: i0, template: "<!-- Label of the form control. -->\r\n<label *ngIf=\"label as labelContent\"\r\n [attr.for]=\"labelId\"\r\n class=\"bb-form-control-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The input with the addons. -->\r\n<div class=\"bb-form-control-container\">\r\n <ng-content select=\"[bbPrefix]\"></ng-content>\r\n <ng-content select=\"[bbInput]\"></ng-content>\r\n <ng-content select=\"[bbSuffix]\"></ng-content>\r\n</div>\r\n\r\n<!-- The error component. -->\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n [control]=\"ngControl\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The form control hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-form-control-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n", styles: [".bb-form-control{color:#2d3c4d;display:block}.bb-form-control>.bb-form-control-container>*.bb-prefix,.bb-form-control>.bb-form-control-container>*.bb-suffix{margin:0 8px;color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.grouped{margin-bottom:20px}.bb-form-control.small{max-width:240px}.bb-form-control.medium{max-width:480px}.bb-form-control.large{max-width:720px}.bb-form-control.required>.bb-form-control-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-form-control.disabled>.bb-form-control-container{cursor:default;pointer-events:none;background-color:#cccccca3}.bb-form-control.disabled>.bb-form-control-container>input,.bb-form-control.disabled>.bb-form-control-container>textarea,.bb-form-control.disabled>.bb-form-control-container>select{color:#aaa}.bb-form-control.readonly>.bb-form-control-container{cursor:default;border:1px dotted #bdc4c9}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container{background-color:#fff;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>input::placeholder,.bb-form-control:not(.disabled):not(.readonly).focused>.bb-form-control-container>textarea::placeholder{color:#b4b4b4;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control.error>.bb-form-control-label{color:#c23934}.bb-form-control.error>.bb-form-control-hint{display:none}.bb-form-control.error>.bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-form-control.error>.bb-form-control-container>*.bb-prefix,.bb-form-control.error>.bb-form-control-container>.bb-suffix{color:#c23934}.bb-form-control.error>.bb-form-control-container>input::placeholder,.bb-form-control.error>.bb-form-control-container>textarea::placeholder{color:#c2393466!important}.bb-form-control.arrow>.bb-form-control-container:after{top:0;right:0;bottom:0;width:20px;content:\"\";height:36px;display:flex;min-width:20px;position:absolute;pointer-events:none;background-repeat:no-repeat;background-position:calc(100% - 8px) center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAGCAYAAAAYLBS/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAWUlEQVQYlY3QsQ2DMAAEwMMTsAkrZInvWY3WXiIjJJtkA1OBRCIRf/nSffFTrXXGE4uxbCXJBw+8R0CStcAg3JKsUI7mDzzBBd3AC4Cp9/4z21o7znl9A9gBAf4fpjLTwkUAAAAASUVORK5CYII=)}.bb-form-control-container{width:100%;display:flex;overflow:hidden;position:relative;border-radius:3px;align-items:center;border:1px solid #b6bbc1;background-color:#fff8ff;transition-duration:.25s;transition-property:background-color,box-shadow;transition-timing-function:cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-form-control-container>input::placeholder,.bb-form-control-container>textarea::placeholder{color:#d2d2d2;transition:color .3s cubic-bezier(0,0,.2,1)}.bb-form-control-container>input,.bb-form-control-container>textarea,.bb-form-control-container>select{margin:0;width:100%;border:none;color:#3d464d;font-size:16px;-webkit-appearance:none;appearance:none;background-color:transparent}.bb-form-control-container>input,.bb-form-control-container>select{height:36px;padding:0 8px}.bb-form-control-container>select{padding-right:28px}.bb-form-control-container>select>::-ms-expand{display:none}.bb-form-control-container>input::-ms-clear,.bb-form-control-container>input::-ms-reveal{width:0;height:0;display:none}.bb-form-control-container>input::-webkit-search-decoration,.bb-form-control-container>input::-webkit-search-cancel-button,.bb-form-control-container>input::-webkit-search-results-button,.bb-form-control-container>input::-webkit-search-results-decoration{display:none}.bb-form-control-container>textarea{resize:none;padding:8px}.bb-form-control-label{color:#000;display:block;position:relative;margin-bottom:4px;transition:color 30ms cubic-bezier(0,0,.2,1)}.bb-form-control-error,.bb-form-control-hint{display:block;font-size:13px;margin-top:4px}.bb-form-control-error{color:#c23934}.bb-form-control-hint{color:#738694}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
482
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormControl, decorators: [{
483
483
  type: Component,
484
484
  args: [{ selector: 'bb-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
485
485
  'class': 'bb-form-control',
@@ -500,6 +500,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
500
500
  type: Input
501
501
  }] } });
502
502
 
503
+ class BbFileSize {
504
+ constructor() {
505
+ this.format = (value, decimals = 2) => {
506
+ if (value === 0) {
507
+ return '0 Bytes';
508
+ }
509
+ const k = 1024;
510
+ const dm = decimals < 0 ? 0 : decimals;
511
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
512
+ const index = Math.floor(Math.log(value) / Math.log(k));
513
+ return parseFloat((value / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];
514
+ };
515
+ }
516
+ transform(value) {
517
+ return this.format(value);
518
+ }
519
+ }
520
+ BbFileSize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
521
+ BbFileSize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: BbFileSize, name: "bbFileSize" });
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFileSize, decorators: [{
523
+ type: Pipe,
524
+ args: [{
525
+ name: 'bbFileSize'
526
+ }]
527
+ }] });
528
+
503
529
  class BbFileImage {
504
530
  constructor(_platform, _image, _sanitizer) {
505
531
  this._platform = _platform;
@@ -529,40 +555,14 @@ class BbFileImage {
529
555
  });
530
556
  }
531
557
  }
532
- BbFileImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileImage, deps: [{ token: i1$1.Platform }, { token: i1$1.ImageConverter }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
533
- BbFileImage.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileImage, name: "bbFileImage" });
534
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileImage, decorators: [{
558
+ BbFileImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFileImage, deps: [{ token: i1$1.Platform }, { token: i1$1.ImageConverter }, { token: i2$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
559
+ BbFileImage.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: BbFileImage, name: "bbFileImage" });
560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFileImage, decorators: [{
535
561
  type: Pipe,
536
562
  args: [{
537
563
  name: 'bbFileImage'
538
564
  }]
539
- }], ctorParameters: function () { return [{ type: i1$1.Platform }, { type: i1$1.ImageConverter }, { type: i2.DomSanitizer }]; } });
540
-
541
- class BbFileSize {
542
- constructor() {
543
- this.format = (value, decimals = 2) => {
544
- if (value === 0) {
545
- return '0 Bytes';
546
- }
547
- const k = 1024;
548
- const dm = decimals < 0 ? 0 : decimals;
549
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
550
- const index = Math.floor(Math.log(value) / Math.log(k));
551
- return parseFloat((value / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];
552
- };
553
- }
554
- transform(value) {
555
- return this.format(value);
556
- }
557
- }
558
- BbFileSize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
559
- BbFileSize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileSize, name: "bbFileSize" });
560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFileSize, decorators: [{
561
- type: Pipe,
562
- args: [{
563
- name: 'bbFileSize'
564
- }]
565
- }] });
565
+ }], ctorParameters: function () { return [{ type: i1$1.Platform }, { type: i1$1.ImageConverter }, { type: i2$1.DomSanitizer }]; } });
566
566
 
567
567
  let nextUniqueId$1 = 0;
568
568
  class BbFilePickerBase {
@@ -703,8 +703,8 @@ class BbFilePicker extends BbFilePickerMixinBase$1 {
703
703
  };
704
704
  }
705
705
  }
706
- BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
707
- BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbFilePicker, selector: "bb-file-picker", inputs: { disabled: "disabled", hideErrors: "hideErrors", grouped: "grouped", required: "required", label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
706
+ BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
707
+ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbFilePicker, selector: "bb-file-picker", inputs: { disabled: "disabled", hideErrors: "hideErrors", grouped: "grouped", required: "required", label: "label", hint: "hint", accept: "accept", showImages: "showImages", allowDragging: "allowDragging", value: "value" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.hovered": "hovered", "class.error": "error" }, classAttribute: "bb-file-picker" }, providers: [
708
708
  {
709
709
  provide: NG_VALUE_ACCESSOR,
710
710
  useExisting: forwardRef(() => BbFilePicker),
@@ -715,7 +715,7 @@ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
715
715
  useExisting: BbFilePicker,
716
716
  multi: true
717
717
  }
718
- ], queries: [{ propertyName: "extraTemplate", first: true, predicate: ["extra"], descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The label of the input. -->\r\n<label *ngIf=\"label as labelContent\"\r\n [for]=\"labelId\"\r\n class=\"bb-file-picker-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The input that can open the file picker. -->\r\n<input #fileInput\r\n [accept]=\"accept\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onFileChange($event)\"\r\n class=\"bb-file-picker-input\"\r\n type=\"file\"\r\n tabindex=\"-1\">\r\n\r\n<div *ngIf=\"value$ | async as data\"\r\n class=\"bb-file-picker-wrapper\">\r\n <!-- The button that accepts files. -->\r\n <div class=\"bb-file-picker-container\">\r\n <button [class.destructive]=\"!!data?.file\"\r\n [class.standalone]=\"!allowDragging\"\r\n [disabled]=\"disabled\"\r\n [id]=\"labelId\"\r\n (click)=\"onButtonPressed(data?.file)\"\r\n type=\"button\"\r\n class=\"bb-file-picker-button\">\r\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\r\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\r\n </button>\r\n <div *ngIf=\"allowDragging\"\r\n class=\"bb-file-picker-zone\">\r\n {{ 'file-picker.drop' | bbLocalize }}\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!!extraTemplate\">\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showImages\">\r\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\r\n class=\"bb-file-picker-image-container\">\r\n <div class=\"bb-file-picker-image-wrapper\">\r\n <div [@bbFilePickerImageAnimation]=\"true\"\r\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\r\n [style.background-image]=\"image?.background\"\r\n class=\"bb-file-picker-image\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Extra information of the file. -->\r\n <div [class.visible]=\"!!data?.file\"\r\n class=\"bb-file-picker-info\">\r\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\r\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\r\n </div>\r\n</div>\r\n\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The file picker hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-file-picker-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n\r\n<!-- Upload icon. -->\r\n<ng-template #uploadIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"bb-file-picker-icon\"\r\n width=\"24\"\r\n height=\"24\">\r\n <path fill=\"currentColor\"\r\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\r\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Close icon. -->\r\n<ng-template #closeIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"bb-file-picker-icon\"\r\n width=\"24\"\r\n height=\"24\">\r\n <path fill=\"currentColor\"\r\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n</ng-template>\r\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"], components: [{ type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i1.AsyncPipe, "bbLocalize": i4.BbLocalize, "bbFileImage": BbFileImage, "bbFileSize": BbFileSize }, animations: [
718
+ ], queries: [{ propertyName: "extraTemplate", first: true, predicate: ["extra"], descendants: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The label of the input. -->\r\n<label *ngIf=\"label as labelContent\"\r\n [for]=\"labelId\"\r\n class=\"bb-file-picker-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The input that can open the file picker. -->\r\n<input #fileInput\r\n [accept]=\"accept\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onFileChange($event)\"\r\n class=\"bb-file-picker-input\"\r\n type=\"file\"\r\n tabindex=\"-1\">\r\n\r\n<div *ngIf=\"value$ | async as data\"\r\n class=\"bb-file-picker-wrapper\">\r\n <!-- The button that accepts files. -->\r\n <div class=\"bb-file-picker-container\">\r\n <button [class.destructive]=\"!!data?.file\"\r\n [class.standalone]=\"!allowDragging\"\r\n [disabled]=\"disabled\"\r\n [id]=\"labelId\"\r\n (click)=\"onButtonPressed(data?.file)\"\r\n type=\"button\"\r\n class=\"bb-file-picker-button\">\r\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\r\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\r\n </button>\r\n <div *ngIf=\"allowDragging\"\r\n class=\"bb-file-picker-zone\">\r\n {{ 'file-picker.drop' | bbLocalize }}\r\n </div>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!!extraTemplate\">\r\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showImages\">\r\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\r\n class=\"bb-file-picker-image-container\">\r\n <div class=\"bb-file-picker-image-wrapper\">\r\n <div [@bbFilePickerImageAnimation]=\"true\"\r\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\r\n [style.background-image]=\"image?.background\"\r\n class=\"bb-file-picker-image\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- Extra information of the file. -->\r\n <div [class.visible]=\"!!data?.file\"\r\n class=\"bb-file-picker-info\">\r\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\r\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\r\n </div>\r\n</div>\r\n\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The file picker hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-file-picker-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n\r\n<!-- Upload icon. -->\r\n<ng-template #uploadIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"bb-file-picker-icon\"\r\n width=\"24\"\r\n height=\"24\">\r\n <path fill=\"currentColor\"\r\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"></path>\r\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\r\n </svg>\r\n</ng-template>\r\n\r\n<!-- Close icon. -->\r\n<ng-template #closeIcon>\r\n <svg xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"bb-file-picker-icon\"\r\n width=\"24\"\r\n height=\"24\">\r\n <path fill=\"currentColor\"\r\n d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"></path>\r\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\r\n </svg>\r\n</ng-template>\r\n", styles: [".bb-file-picker{display:block}.bb-file-picker.disabled>.bb-file-picker-wrapper{cursor:default;background-color:#cccccca3}.bb-file-picker.grouped{margin-bottom:20px}.bb-file-picker.full>.bb-file-picker-wrapper{width:100%}.bb-file-picker:not(.disabled) .bb-file-picker-button{background-color:#fff}.bb-file-picker:not(.disabled):focus>.bb-file-picker-wrapper,.bb-file-picker:not(.disabled).hovered>.bb-file-picker-wrapper{box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #007bff33}.bb-file-picker.required>.bb-file-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-file-picker.error>.bb-file-picker-label{color:#c23934}.bb-file-picker.error>.bb-file-picker-hint{display:none}.bb-file-picker.error>.bb-file-picker-wrapper{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-file-picker.error .bb-file-picker-button{background-color:transparent}.bb-file-picker-wrapper{max-width:100%;-webkit-user-select:none;user-select:none;border-radius:3px;display:inline-flex;flex-direction:column;border:1px solid #b6bbc1;background-color:#fff8ff;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a}.bb-file-picker-label{color:#000;display:block;position:relative;margin-bottom:4px}.bb-file-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-file-picker-container{min-height:38px;display:inline-flex}.bb-file-picker-button{margin:0;z-index:1;border:none;color:#2196f3;line-height:1;cursor:pointer;padding:0 12px;-webkit-appearance:none;appearance:none;font-weight:500;align-items:center;white-space:nowrap;display:inline-flex;border-top-left-radius:3px;border-bottom-left-radius:3px;border-right:1px solid #b6bbc1;background-color:#ffffff80;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-button:focus{box-shadow:0 0 0 3px #007bff33}.bb-file-picker-button:disabled{cursor:default}.bb-file-picker-button.destructive{color:#f55656}.bb-file-picker-button.standalone{width:100%;border-right:none;border-top-right-radius:3px;border-bottom-right-radius:3px}.bb-file-picker-icon{margin-right:4px}.bb-file-picker-zone{flex:1;color:#848f99;font-size:14px;padding:8px 12px;line-height:18px;align-items:center;display:inline-flex;justify-content:center}.bb-file-picker-info{height:0;color:#848f99;padding:0 12px;overflow:hidden;line-height:36px;align-items:center;display:inline-flex;background-color:#fff8ff;border-top:0 solid #b6bbc1;transition:height .2s cubic-bezier(0,0,.2,1)}.bb-file-picker-info.visible{height:38px;border-top-width:1px}.bb-file-picker-info>span{opacity:.4;max-width:100%;font-size:14px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-file-picker-info>span:first-child{flex:1}.bb-file-picker-info>span:last-child{margin-left:12px}.bb-file-picker-image-container{overflow:hidden;border-top:1px solid #b6bbc1}.bb-file-picker-image-wrapper{width:100%;max-width:40%;margin:20px auto}.bb-file-picker-image{width:100%;display:flex;overflow:hidden;position:relative;border-radius:4px;will-change:opacity;background-size:cover;background-position:center;background-repeat:no-repeat}.bb-file-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.BbLocalize, name: "bbLocalize" }, { kind: "pipe", type: BbFileSize, name: "bbFileSize" }, { kind: "pipe", type: BbFileImage, name: "bbFileImage" }], animations: [
719
719
  trigger('bbFilePickerImageAnimation', [
720
720
  transition(':enter', [
721
721
  style({ opacity: 0 }),
@@ -726,7 +726,7 @@ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
726
726
  ])
727
727
  ])
728
728
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
729
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFilePicker, decorators: [{
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFilePicker, decorators: [{
730
730
  type: Component,
731
731
  args: [{ selector: 'bb-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
732
732
  {
@@ -846,9 +846,9 @@ class BbSelect {
846
846
  this._formControl.required = this._required;
847
847
  }
848
848
  }
849
- BbSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSelect, deps: [{ token: i0.ElementRef }, { token: i5.NgControl, optional: true, self: true }, { token: BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
850
- BbSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbSelect, selector: "select[bbInput]", inputs: { disabled: "disabled", required: "required" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "attr.id": "this.id" } }, ngImport: i0 });
851
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSelect, decorators: [{
849
+ BbSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSelect, deps: [{ token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }, { token: BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
850
+ BbSelect.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbSelect, selector: "select[bbInput]", inputs: { disabled: "disabled", required: "required" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "attr.id": "this.id" } }, ngImport: i0 });
851
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSelect, decorators: [{
852
852
  type: Directive,
853
853
  args: [{
854
854
  selector: 'select[bbInput]',
@@ -858,7 +858,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
858
858
  '(blur)': 'setFocus(false)'
859
859
  }
860
860
  }]
861
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i5.NgControl, decorators: [{
861
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
862
862
  type: Optional
863
863
  }, {
864
864
  type: Self
@@ -894,9 +894,9 @@ class BbInput extends BbSelect {
894
894
  this._formControl.readonly = this._readonly;
895
895
  }
896
896
  }
897
- BbInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i5.NgControl, optional: true, self: true }, { token: BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
898
- BbInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: { readonly: "readonly" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "readonly": "readonly" } }, usesInheritance: true, ngImport: i0 });
899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbInput, decorators: [{
897
+ BbInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbInput, deps: [{ token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }, { token: BbFormControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
898
+ BbInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: { readonly: "readonly" }, host: { listeners: { "focus": "setFocus(true)", "blur": "setFocus(false)" }, properties: { "disabled": "disabled", "readonly": "readonly" } }, usesInheritance: true, ngImport: i0 });
899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbInput, decorators: [{
900
900
  type: Directive,
901
901
  args: [{
902
902
  selector: 'input[bbInput], textarea[bbInput]',
@@ -907,7 +907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
907
907
  '(blur)': 'setFocus(false)'
908
908
  }
909
909
  }]
910
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i5.NgControl, decorators: [{
910
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
911
911
  type: Optional
912
912
  }, {
913
913
  type: Self
@@ -1154,8 +1154,8 @@ class BbDatePicker extends BbFilePickerMixinBase {
1154
1154
  return this.years$.next(years);
1155
1155
  }
1156
1156
  }
1157
- BbDatePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDatePicker, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
1158
- BbDatePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbDatePicker, selector: "bb-date-picker", inputs: { required: "required", readonly: "readonly", disabled: "disabled", grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint", dayPlaceholder: "dayPlaceholder", monthPlaceholder: "monthPlaceholder", yearPlaceholder: "yearPlaceholder", years: "years", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.required": "required", "class.readonly": "readonly", "class.disabled": "disabled", "class.grouped": "grouped", "class.error": "error" }, classAttribute: "bb-date-picker" }, providers: [
1157
+ BbDatePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDatePicker, deps: [{ token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component });
1158
+ BbDatePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbDatePicker, selector: "bb-date-picker", inputs: { required: "required", readonly: "readonly", disabled: "disabled", grouped: "grouped", hideErrors: "hideErrors", label: "label", hint: "hint", dayPlaceholder: "dayPlaceholder", monthPlaceholder: "monthPlaceholder", yearPlaceholder: "yearPlaceholder", years: "years", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.required": "required", "class.readonly": "readonly", "class.disabled": "disabled", "class.grouped": "grouped", "class.error": "error" }, classAttribute: "bb-date-picker" }, providers: [
1159
1159
  {
1160
1160
  provide: NG_VALUE_ACCESSOR,
1161
1161
  useExisting: forwardRef(() => BbDatePicker),
@@ -1166,8 +1166,8 @@ BbDatePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version:
1166
1166
  useExisting: BbDatePicker,
1167
1167
  multi: true
1168
1168
  }
1169
- ], usesInheritance: true, ngImport: i0, template: "<!-- Label of the date picker. -->\r\n<label *ngIf=\"label as labelContent\"\r\n class=\"bb-date-picker-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The form containing the year/month/day fields. -->\r\n<form *ngIf=\"data$ | async as data\"\r\n [formGroup]=\"form\"\r\n class=\"bb-date-picker-container\"\r\n novalidate>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select [class.has-value]=\"!!form?.get('day')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"day\">\r\n <option [ngValue]=\"null\">{{ dayPlaceholder }}</option>\r\n <option *ngFor=\"let day of data?.days; trackBy: trackByValue\"\r\n [ngValue]=\"day?.value\">\r\n {{ day?.label }}\r\n </option>\r\n </select>\r\n </bb-form-control>\r\n </div>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select [class.has-value]=\"!!form?.get('month')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"month\">\r\n <option [ngValue]=\"null\">{{ monthPlaceholder }}</option>\r\n <option *ngFor=\"let month of data?.months; trackBy: trackByValue\"\r\n [ngValue]=\"month?.value\">\r\n {{ month?.label }}\r\n </option>\r\n </select>\r\n </bb-form-control>\r\n </div>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select *ngIf=\"data?.years?.length > 0; else defaultYearInputTemplate\"\r\n [class.has-value]=\"!!form?.get('year')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"year\">\r\n <option [ngValue]=\"null\">{{ yearPlaceholder }}</option>\r\n <option *ngFor=\"let year of data?.years\"\r\n [value]=\"year\">\r\n {{ year }}\r\n </option>\r\n </select>\r\n\r\n <ng-template #defaultYearInputTemplate>\r\n <input [placeholder]=\"yearPlaceholder\"\r\n bbInput\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n minlength=\"4\"\r\n maxlength=\"4\"\r\n pattern=\"^[0-9]{4}$\"\r\n formControlName=\"year\"\r\n autocomplete=\"off\">\r\n </ng-template>\r\n </bb-form-control>\r\n </div>\r\n</form>\r\n\r\n<!-- The date picker error. -->\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The date picker hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-date-picker-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n", styles: [".bb-date-picker{display:block}.bb-date-picker.required>.bb-date-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-date-picker.readonly{pointer-events:none}.bb-date-picker.readonly .bb-form-control-container{cursor:default;border:1px dotted #bdc4c9;background-color:#f9f9f9!important}.bb-date-picker.readonly .bb-form-control-container>select:disabled{opacity:1}.bb-date-picker.grouped{margin-bottom:20px}.bb-date-picker.error>.bb-date-picker-label{color:#c23934}.bb-date-picker.error .bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-date-picker-label{color:#000;display:block;font-size:16px;font-weight:500;margin-bottom:4px}.bb-date-picker-container{display:flex}.bb-date-picker-item{flex:1}.bb-date-picker-item>bb-form-control.focused{z-index:1;position:relative}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select>option:first-child{color:#d2d2d2}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select:not(.has-value){color:#d2d2d2}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select:not(.has-value)>option:not(:first-child){color:#000}.bb-date-picker-item:not(:first-child):not(:last-child) .bb-form-control-container{border-radius:0!important}.bb-date-picker-item:first-child .bb-form-control-container{border-right:none!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.bb-date-picker-item:last-child .bb-form-control-container{border-left:none!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.bb-date-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px;pointer-events:all}\n"], components: [{ type: BbFormControl, selector: "bb-form-control", inputs: ["grouped", "hideErrors", "label", "hint"] }, { type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: BbFormSubmit, selector: "form", exportAs: ["bbForm"] }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: BbSelect, selector: "select[bbInput]", inputs: ["disabled", "required"] }, { type: i5.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: ["readonly"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1170
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbDatePicker, decorators: [{
1169
+ ], usesInheritance: true, ngImport: i0, template: "<!-- Label of the date picker. -->\r\n<label *ngIf=\"label as labelContent\"\r\n class=\"bb-date-picker-label\">\r\n <ng-template [bbTemplate]=\"labelContent\">\r\n {{ labelContent }}\r\n </ng-template>\r\n</label>\r\n\r\n<!-- The form containing the year/month/day fields. -->\r\n<form *ngIf=\"data$ | async as data\"\r\n [formGroup]=\"form\"\r\n class=\"bb-date-picker-container\"\r\n novalidate>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select [class.has-value]=\"!!form?.get('day')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"day\">\r\n <option [ngValue]=\"null\">{{ dayPlaceholder }}</option>\r\n <option *ngFor=\"let day of data?.days; trackBy: trackByValue\"\r\n [ngValue]=\"day?.value\">\r\n {{ day?.label }}\r\n </option>\r\n </select>\r\n </bb-form-control>\r\n </div>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select [class.has-value]=\"!!form?.get('month')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"month\">\r\n <option [ngValue]=\"null\">{{ monthPlaceholder }}</option>\r\n <option *ngFor=\"let month of data?.months; trackBy: trackByValue\"\r\n [ngValue]=\"month?.value\">\r\n {{ month?.label }}\r\n </option>\r\n </select>\r\n </bb-form-control>\r\n </div>\r\n <div class=\"bb-date-picker-item\">\r\n <bb-form-control hideErrors>\r\n <select *ngIf=\"data?.years?.length > 0; else defaultYearInputTemplate\"\r\n [class.has-value]=\"!!form?.get('year')?.value\"\r\n bbInput\r\n autocomplete=\"off\"\r\n formControlName=\"year\">\r\n <option [ngValue]=\"null\">{{ yearPlaceholder }}</option>\r\n <option *ngFor=\"let year of data?.years\"\r\n [value]=\"year\">\r\n {{ year }}\r\n </option>\r\n </select>\r\n\r\n <ng-template #defaultYearInputTemplate>\r\n <input [placeholder]=\"yearPlaceholder\"\r\n bbInput\r\n type=\"text\"\r\n inputmode=\"numeric\"\r\n minlength=\"4\"\r\n maxlength=\"4\"\r\n pattern=\"^[0-9]{4}$\"\r\n formControlName=\"year\"\r\n autocomplete=\"off\">\r\n </ng-template>\r\n </bb-form-control>\r\n </div>\r\n</form>\r\n\r\n<!-- The date picker error. -->\r\n<bb-form-error *ngIf=\"!hideErrors\"\r\n (errorChange)=\"onErrorChange($event)\">\r\n</bb-form-error>\r\n\r\n<!-- The date picker hint. -->\r\n<p *ngIf=\"hint as hintContent\"\r\n class=\"bb-date-picker-hint\">\r\n <ng-template [bbTemplate]=\"hintContent\">\r\n {{ hintContent }}\r\n </ng-template>\r\n</p>\r\n", styles: [".bb-date-picker{display:block}.bb-date-picker.required>.bb-date-picker-label:after{content:\"*\";color:#c23934;font-size:12px;line-height:1.5}.bb-date-picker.readonly{pointer-events:none}.bb-date-picker.readonly .bb-form-control-container{cursor:default;border:1px dotted #bdc4c9;background-color:#f9f9f9!important}.bb-date-picker.readonly .bb-form-control-container>select:disabled{opacity:1}.bb-date-picker.grouped{margin-bottom:20px}.bb-date-picker.error>.bb-date-picker-label{color:#c23934}.bb-date-picker.error .bb-form-control-container{border:1px solid #962b26;background-color:#c2393440!important;box-shadow:inset 0 3px #b7bcc233,0 6px 6px -6px #0000001a,0 0 0 3px #c2393466!important}.bb-date-picker-label{color:#000;display:block;font-size:16px;font-weight:500;margin-bottom:4px}.bb-date-picker-container{display:flex}.bb-date-picker-item{flex:1}.bb-date-picker-item>bb-form-control.focused{z-index:1;position:relative}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select>option:first-child{color:#d2d2d2}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select:not(.has-value){color:#d2d2d2}.bb-date-picker-item>.bb-form-control>.bb-form-control-container>select:not(.has-value)>option:not(:first-child){color:#000}.bb-date-picker-item:not(:first-child):not(:last-child) .bb-form-control-container{border-radius:0!important}.bb-date-picker-item:first-child .bb-form-control-container{border-right:none!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.bb-date-picker-item:last-child .bb-form-control-container{border-left:none!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.bb-date-picker-hint{display:block;color:#738694;font-size:13px;margin-top:4px;pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "directive", type: BbFormSubmit, selector: "form", exportAs: ["bbForm"] }, { kind: "directive", type: BbInput, selector: "input[bbInput], textarea[bbInput]", inputs: ["readonly"] }, { kind: "directive", type: BbSelect, selector: "select[bbInput]", inputs: ["disabled", "required"] }, { kind: "component", type: BbFormControl, selector: "bb-form-control", inputs: ["grouped", "hideErrors", "label", "hint"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbDatePicker, decorators: [{
1171
1171
  type: Component,
1172
1172
  args: [{ selector: 'bb-date-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
1173
1173
  {
@@ -1211,9 +1211,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
1211
1211
 
1212
1212
  class BbSuffix {
1213
1213
  }
1214
- BbSuffix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1215
- BbSuffix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbSuffix, selector: "[bbSuffix]", host: { classAttribute: "bb-suffix" }, ngImport: i0 });
1216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbSuffix, decorators: [{
1214
+ BbSuffix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSuffix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1215
+ BbSuffix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbSuffix, selector: "[bbSuffix]", host: { classAttribute: "bb-suffix" }, ngImport: i0 });
1216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbSuffix, decorators: [{
1217
1217
  type: Directive,
1218
1218
  args: [{
1219
1219
  selector: '[bbSuffix]',
@@ -1224,9 +1224,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImpor
1224
1224
  }] });
1225
1225
  class BbPrefix {
1226
1226
  }
1227
- BbPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1228
- BbPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbPrefix, selector: "[bbPrefix]", host: { classAttribute: "bb-prefix" }, ngImport: i0 });
1229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbPrefix, decorators: [{
1227
+ BbPrefix.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbPrefix, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1228
+ BbPrefix.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbPrefix, selector: "[bbPrefix]", host: { classAttribute: "bb-prefix" }, ngImport: i0 });
1229
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbPrefix, decorators: [{
1230
1230
  type: Directive,
1231
1231
  args: [{
1232
1232
  selector: '[bbPrefix]',
@@ -1241,9 +1241,9 @@ class BbFormGroupBase {
1241
1241
  const BbFormGroupMixinBase = mixinGrouped(BbFormGroupBase);
1242
1242
  class BbFormGroup extends BbFormGroupMixinBase {
1243
1243
  }
1244
- BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1245
- BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbFormGroup, selector: "bb-form-group", inputs: { grouped: "grouped" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-form-group" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".bb-form-group{width:100%;display:flex;flex-wrap:wrap;margin-top:-10px}.bb-form-group>*{margin-top:10px}.bb-form-group>*:not(:first-child){margin-left:10px}.bb-form-group.start{justify-content:flex-start}.bb-form-group.end{justify-content:flex-end}.bb-form-group.vertical{flex-direction:column;justify-content:normal}.bb-form-group.vertical>*{margin-left:0}.bb-form-group.vertical.start{align-items:flex-start}.bb-form-group.vertical.end{align-items:flex-end}.bb-form-group.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFormGroup, decorators: [{
1244
+ BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1245
+ BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbFormGroup, selector: "bb-form-group", inputs: { grouped: "grouped" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-form-group" }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [".bb-form-group{width:100%;display:flex;flex-wrap:wrap;margin-top:-10px}.bb-form-group>*{margin-top:10px}.bb-form-group>*:not(:first-child){margin-left:10px}.bb-form-group.start{justify-content:flex-start}.bb-form-group.end{justify-content:flex-end}.bb-form-group.vertical{flex-direction:column;justify-content:normal}.bb-form-group.vertical>*{margin-left:0}.bb-form-group.vertical.start{align-items:flex-start}.bb-form-group.vertical.end{align-items:flex-end}.bb-form-group.grouped{margin-bottom:20px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFormGroup, decorators: [{
1247
1247
  type: Component,
1248
1248
  args: [{ selector: 'bb-form-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1249
1249
  'class': 'bb-form-group',
@@ -1313,9 +1313,9 @@ class BbFocusTrap {
1313
1313
  return Array(...nodes);
1314
1314
  }
1315
1315
  }
1316
- BbFocusTrap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFocusTrap, deps: [{ token: i1$1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1317
- BbFocusTrap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbFocusTrap, selector: "[bbFocusTrap]", host: { listeners: { "keydown": "onKeydown($event)" } }, ngImport: i0 });
1318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFocusTrap, decorators: [{
1316
+ BbFocusTrap.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFocusTrap, deps: [{ token: i1$1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1317
+ BbFocusTrap.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbFocusTrap, selector: "[bbFocusTrap]", host: { listeners: { "keydown": "onKeydown($event)" } }, ngImport: i0 });
1318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFocusTrap, decorators: [{
1319
1319
  type: Directive,
1320
1320
  args: [{
1321
1321
  selector: '[bbFocusTrap]'
@@ -1365,9 +1365,9 @@ class BbAutosize {
1365
1365
  this._renderer.setStyle(this.element, 'height', value);
1366
1366
  }
1367
1367
  }
1368
- BbAutosize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAutosize, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1369
- BbAutosize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", 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 });
1370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAutosize, decorators: [{
1368
+ BbAutosize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAutosize, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1369
+ BbAutosize.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", 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 });
1370
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAutosize, decorators: [{
1371
1371
  type: Directive,
1372
1372
  args: [{
1373
1373
  selector: 'textarea[bbAutosize]'
@@ -1471,9 +1471,9 @@ class BbRelativeTime {
1471
1471
  });
1472
1472
  }
1473
1473
  }
1474
- BbRelativeTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbRelativeTime, deps: [{ token: i4.Localize, optional: true }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
1475
- BbRelativeTime.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" });
1476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbRelativeTime, decorators: [{
1474
+ BbRelativeTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbRelativeTime, deps: [{ token: i4.Localize, optional: true }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
1475
+ BbRelativeTime.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" });
1476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbRelativeTime, decorators: [{
1477
1477
  type: Pipe,
1478
1478
  args: [{
1479
1479
  name: 'bbRelativeTime'
@@ -1535,18 +1535,18 @@ class BbCheckbox extends BbCheckboxMixinBase {
1535
1535
  this.onChange && this.onChange(this.checked);
1536
1536
  }
1537
1537
  }
1538
- BbCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCheckbox, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1539
- BbCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbCheckbox, selector: "bb-checkbox", inputs: { grouped: "grouped", disabled: "disabled", tabIndex: "tabIndex", checked: "checked" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-checkbox" }, providers: [
1538
+ BbCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCheckbox, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1539
+ BbCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbCheckbox, selector: "bb-checkbox", inputs: { grouped: "grouped", disabled: "disabled", tabIndex: "tabIndex", checked: "checked" }, host: { properties: { "class.grouped": "grouped" }, classAttribute: "bb-checkbox" }, providers: [
1540
1540
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCheckbox), multi: true }
1541
- ], usesInheritance: true, ngImport: i0, template: "<input [id]=\"labelId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onInteractionEvent($event)\"\r\n (click)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-input\"\r\n tabindex=\"-1\"\r\n type=\"checkbox\">\r\n\r\n<label [for]=\"labelId\"\r\n [attr.tabindex]=\"disabled ? -1 : (tabIndex || 0)\"\r\n (keyup.space)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-label\">\r\n <span>\r\n <svg width=\"12px\"\r\n height=\"10px\"\r\n viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n <span>\r\n <ng-content></ng-content>\r\n </span>\r\n</label>\r\n", styles: [".bb-checkbox{display:block}.bb-checkbox+.bb-checkbox{margin-top:5px}.bb-checkbox.grouped{margin-bottom:20px}.bb-checkbox-input{display:none}.bb-checkbox-label{margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none}.bb-checkbox-label>span{display:inline-block;vertical-align:middle;transform:translate(0)}.bb-checkbox-label>span:first-child{width:18px;height:18px;min-width:18px;min-height:18px;position:relative;border-radius:3px;vertical-align:middle;border:1px solid #bdc4c9;transition:all .2s ease}.bb-checkbox-label>span:last-child{padding-left:8px}.bb-checkbox-label>span:first-child>svg{top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;position:absolute;stroke-linecap:round;transition-delay:.1s;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transform:translate(0)}.bb-checkbox-input:not(:disabled):not(:checked)+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #decdcd80}.bb-checkbox-input:not(:disabled):checked+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #5b53ff80}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child{border-color:#5b53ff;background-color:#5b53ff}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child>svg{stroke-dashoffset:0}.bb-checkbox-input:disabled+.bb-checkbox-label{cursor:default;pointer-events:none}.bb-checkbox-input:disabled:checked+.bb-checkbox-label>span:first-child{border-color:#cccccca3;background-color:#cccccca3}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1542
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbCheckbox, decorators: [{
1541
+ ], usesInheritance: true, ngImport: i0, template: "<input [id]=\"labelId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onInteractionEvent($event)\"\r\n (click)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-input\"\r\n tabindex=\"-1\"\r\n type=\"checkbox\">\r\n\r\n<label [for]=\"labelId\"\r\n [attr.tabindex]=\"disabled ? -1 : (tabIndex || 0)\"\r\n (keyup.space)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-label\">\r\n <span>\r\n <svg width=\"12px\"\r\n height=\"10px\"\r\n viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n <span>\r\n <ng-content></ng-content>\r\n </span>\r\n</label>\r\n", styles: [".bb-checkbox{display:block}.bb-checkbox+.bb-checkbox{margin-top:5px}.bb-checkbox.grouped{margin-bottom:20px}.bb-checkbox-input{display:none}.bb-checkbox-label{margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none}.bb-checkbox-label>span{display:inline-block;vertical-align:middle;transform:translateZ(0)}.bb-checkbox-label>span:first-child{width:18px;height:18px;min-width:18px;min-height:18px;position:relative;border-radius:3px;vertical-align:middle;border:1px solid #bdc4c9;transition:all .2s ease}.bb-checkbox-label>span:last-child{padding-left:8px}.bb-checkbox-label>span:first-child>svg{top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;position:absolute;stroke-linecap:round;transition-delay:.1s;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transform:translateZ(0)}.bb-checkbox-input:not(:disabled):not(:checked)+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #decdcd80}.bb-checkbox-input:not(:disabled):checked+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #5b53ff80}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child{border-color:#5b53ff;background-color:#5b53ff}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child>svg{stroke-dashoffset:0}.bb-checkbox-input:disabled+.bb-checkbox-label{cursor:default;pointer-events:none}.bb-checkbox-input:disabled:checked+.bb-checkbox-label>span:first-child{border-color:#cccccca3;background-color:#cccccca3}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbCheckbox, decorators: [{
1543
1543
  type: Component,
1544
1544
  args: [{ selector: 'bb-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
1545
1545
  { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCheckbox), multi: true }
1546
1546
  ], host: {
1547
1547
  'class': 'bb-checkbox',
1548
1548
  '[class.grouped]': 'grouped'
1549
- }, inputs: ['grouped', 'disabled'], preserveWhitespaces: false, template: "<input [id]=\"labelId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onInteractionEvent($event)\"\r\n (click)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-input\"\r\n tabindex=\"-1\"\r\n type=\"checkbox\">\r\n\r\n<label [for]=\"labelId\"\r\n [attr.tabindex]=\"disabled ? -1 : (tabIndex || 0)\"\r\n (keyup.space)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-label\">\r\n <span>\r\n <svg width=\"12px\"\r\n height=\"10px\"\r\n viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n <span>\r\n <ng-content></ng-content>\r\n </span>\r\n</label>\r\n", styles: [".bb-checkbox{display:block}.bb-checkbox+.bb-checkbox{margin-top:5px}.bb-checkbox.grouped{margin-bottom:20px}.bb-checkbox-input{display:none}.bb-checkbox-label{margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none}.bb-checkbox-label>span{display:inline-block;vertical-align:middle;transform:translate(0)}.bb-checkbox-label>span:first-child{width:18px;height:18px;min-width:18px;min-height:18px;position:relative;border-radius:3px;vertical-align:middle;border:1px solid #bdc4c9;transition:all .2s ease}.bb-checkbox-label>span:last-child{padding-left:8px}.bb-checkbox-label>span:first-child>svg{top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;position:absolute;stroke-linecap:round;transition-delay:.1s;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transform:translate(0)}.bb-checkbox-input:not(:disabled):not(:checked)+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #decdcd80}.bb-checkbox-input:not(:disabled):checked+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #5b53ff80}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child{border-color:#5b53ff;background-color:#5b53ff}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child>svg{stroke-dashoffset:0}.bb-checkbox-input:disabled+.bb-checkbox-label{cursor:default;pointer-events:none}.bb-checkbox-input:disabled:checked+.bb-checkbox-label>span:first-child{border-color:#cccccca3;background-color:#cccccca3}\n"] }]
1549
+ }, inputs: ['grouped', 'disabled'], preserveWhitespaces: false, template: "<input [id]=\"labelId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n (change)=\"onInteractionEvent($event)\"\r\n (click)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-input\"\r\n tabindex=\"-1\"\r\n type=\"checkbox\">\r\n\r\n<label [for]=\"labelId\"\r\n [attr.tabindex]=\"disabled ? -1 : (tabIndex || 0)\"\r\n (keyup.space)=\"onInputClick($event)\"\r\n class=\"bb-checkbox-label\">\r\n <span>\r\n <svg width=\"12px\"\r\n height=\"10px\"\r\n viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </svg>\r\n </span>\r\n <span>\r\n <ng-content></ng-content>\r\n </span>\r\n</label>\r\n", styles: [".bb-checkbox{display:block}.bb-checkbox+.bb-checkbox{margin-top:5px}.bb-checkbox.grouped{margin-bottom:20px}.bb-checkbox-input{display:none}.bb-checkbox-label{margin:0;display:flex;cursor:pointer;-webkit-user-select:none;user-select:none}.bb-checkbox-label>span{display:inline-block;vertical-align:middle;transform:translateZ(0)}.bb-checkbox-label>span:first-child{width:18px;height:18px;min-width:18px;min-height:18px;position:relative;border-radius:3px;vertical-align:middle;border:1px solid #bdc4c9;transition:all .2s ease}.bb-checkbox-label>span:last-child{padding-left:8px}.bb-checkbox-label>span:first-child>svg{top:3px;left:2px;fill:none;stroke:#fff;stroke-width:2;position:absolute;stroke-linecap:round;transition-delay:.1s;stroke-linejoin:round;stroke-dasharray:16px;stroke-dashoffset:16px;transition:all .3s ease;transform:translateZ(0)}.bb-checkbox-input:not(:disabled):not(:checked)+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #decdcd80}.bb-checkbox-input:not(:disabled):checked+.bb-checkbox-label:focus>span:first-child{box-shadow:0 0 0 3px #5b53ff80}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child{border-color:#5b53ff;background-color:#5b53ff}.bb-checkbox-input:checked+.bb-checkbox-label>span:first-child>svg{stroke-dashoffset:0}.bb-checkbox-input:disabled+.bb-checkbox-label{cursor:default;pointer-events:none}.bb-checkbox-input:disabled:checked+.bb-checkbox-label>span:first-child{border-color:#cccccca3;background-color:#cccccca3}\n"] }]
1550
1550
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { tabIndex: [{
1551
1551
  type: Input
1552
1552
  }], checked: [{
@@ -1580,9 +1580,9 @@ class BbFocus {
1580
1580
  setTimeout(() => this.nativeElement.focus(), 0);
1581
1581
  }
1582
1582
  }
1583
- BbFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFocus, deps: [{ token: i0.NgZone }, { token: i1$1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1584
- BbFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.6", type: BbFocus, selector: "[bbFocus]", ngImport: i0 });
1585
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbFocus, decorators: [{
1583
+ BbFocus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFocus, deps: [{ token: i0.NgZone }, { token: i1$1.Platform }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1584
+ BbFocus.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.3", type: BbFocus, selector: "[bbFocus]", ngImport: i0 });
1585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbFocus, decorators: [{
1586
1586
  type: Directive,
1587
1587
  args: [{
1588
1588
  selector: '[bbFocus]'
@@ -1704,9 +1704,9 @@ class BbAvatar {
1704
1704
  this._backgroundColor = `rgba(${red},${green},${blue}, 0.25)`;
1705
1705
  }
1706
1706
  }
1707
- BbAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAvatar, deps: [], target: i0.ɵɵFactoryTarget.Component });
1708
- BbAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbAvatar, selector: "bb-avatar", inputs: { size: "size", src: "src", title: "title", tintColor: "tintColor" }, host: { attributes: { "role": "img" }, properties: { "style.width.px": "size", "style.height.px": "size", "style.font-size.px": "size / 2", "style.color": "color", "style.background-color": "backgroundColor", "attr.title": "this.title" }, classAttribute: "bb-avatar" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"state$ | async\">\r\n <!-- Image. -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"src\"\r\n [alt]=\"initials\"\r\n (error)=\"state$?.next('initials')\"\r\n class=\"bb-avatar-image\">\r\n </ng-container>\r\n\r\n <!-- Default initials fallback. -->\r\n <ng-container *ngSwitchDefault>\r\n {{ initials }}\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".bb-avatar{line-height:1;font-size:18px;overflow:hidden;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;display:inline-flex;justify-content:center}.bb-avatar.rounded{border-radius:4px}.bb-avatar.square{border-radius:0}.bb-avatar-image{width:100%;height:100%;object-fit:cover;position:absolute}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbAvatar, decorators: [{
1707
+ BbAvatar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAvatar, deps: [], target: i0.ɵɵFactoryTarget.Component });
1708
+ BbAvatar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbAvatar, selector: "bb-avatar", inputs: { size: "size", src: "src", title: "title", tintColor: "tintColor" }, host: { attributes: { "role": "img" }, properties: { "style.width.px": "size", "style.height.px": "size", "style.font-size.px": "size / 2", "style.color": "color", "style.background-color": "backgroundColor", "attr.title": "this.title" }, classAttribute: "bb-avatar" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"state$ | async\">\r\n <!-- Image. -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"src\"\r\n [alt]=\"initials\"\r\n (error)=\"state$?.next('initials')\"\r\n class=\"bb-avatar-image\">\r\n </ng-container>\r\n\r\n <!-- Default initials fallback. -->\r\n <ng-container *ngSwitchDefault>\r\n {{ initials }}\r\n </ng-container>\r\n</ng-container>\r\n", styles: [".bb-avatar{line-height:1;font-size:18px;overflow:hidden;font-weight:500;-webkit-user-select:none;user-select:none;position:relative;border-radius:50%;align-items:center;display:inline-flex;justify-content:center}.bb-avatar.rounded{border-radius:4px}.bb-avatar.square{border-radius:0}.bb-avatar-image{width:100%;height:100%;object-fit:cover;position:absolute}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbAvatar, decorators: [{
1710
1710
  type: Component,
1711
1711
  args: [{ selector: 'bb-avatar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
1712
1712
  'class': 'bb-avatar',
@@ -1798,9 +1798,9 @@ class BbIcon {
1798
1798
  return { type: data['type'], className: data['className'], content };
1799
1799
  }
1800
1800
  }
1801
- BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1802
- BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbIcon, selector: "bb-icon", inputs: { alt: "alt", size: "size", src: "src", ariaHidden: "ariaHidden" }, host: { properties: { "attr.aria-hidden": "ariaHidden", "style.width.px": "size", "style.height.px": "size", "style.min-width.px": "size", "style.min-height.px": "size", "style.font-size.px": "size" }, classAttribute: "bb-icon" }, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as data\"\r\n [ngSwitch]=\"data?.type\">\r\n <i *ngSwitchCase=\"'font'\"\r\n [attr.data-icon]=\"data?.attribute\"\r\n [class]=\"data?.className\">\r\n {{ data?.content }}\r\n </i>\r\n <img *ngSwitchCase=\"'image'\"\r\n [src]=\"data?.src\"\r\n [alt]=\"alt\">\r\n <svg *ngSwitchCase=\"'unknown'\"\r\n viewBox=\"0 0 1 1\">\r\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\r\n </svg>\r\n</ng-container>\r\n", styles: [".bb-icon{display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center}.bb-icon>i{font-size:inherit}.bb-icon>img,.bb-icon>svg{width:100%;height:100%;display:flex}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1803
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbIcon, decorators: [{
1801
+ BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1802
+ BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbIcon, selector: "bb-icon", inputs: { alt: "alt", size: "size", src: "src", ariaHidden: "ariaHidden" }, host: { properties: { "attr.aria-hidden": "ariaHidden", "style.width.px": "size", "style.height.px": "size", "style.min-width.px": "size", "style.min-height.px": "size", "style.font-size.px": "size" }, classAttribute: "bb-icon" }, ngImport: i0, template: "<ng-container *ngIf=\"state$ | async as data\"\r\n [ngSwitch]=\"data?.type\">\r\n <i *ngSwitchCase=\"'font'\"\r\n [attr.data-icon]=\"data?.attribute\"\r\n [class]=\"data?.className\">\r\n {{ data?.content }}\r\n </i>\r\n <img *ngSwitchCase=\"'image'\"\r\n [src]=\"data?.src\"\r\n [alt]=\"alt\">\r\n <svg *ngSwitchCase=\"'unknown'\"\r\n viewBox=\"0 0 1 1\">\r\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\r\n </svg>\r\n</ng-container>\r\n", styles: [".bb-icon{display:flex;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center}.bb-icon>i{font-size:inherit}.bb-icon>img,.bb-icon>svg{width:100%;height:100%;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1803
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbIcon, decorators: [{
1804
1804
  type: Component,
1805
1805
  args: [{ selector: 'bb-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1806
1806
  'class': 'bb-icon',
@@ -1832,9 +1832,9 @@ class BbTag {
1832
1832
  this.onClose = new EventEmitter();
1833
1833
  }
1834
1834
  }
1835
- BbTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbTag, deps: [], target: i0.ɵɵFactoryTarget.Component });
1836
- BbTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: BbTag, selector: "bb-tag", outputs: { onClose: "onClose" }, host: { classAttribute: "bb-tag" }, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<button *ngIf=\"onClose?.observed\"\r\n (click)=\"onClose.emit()\"\r\n type=\"button\">\r\n Close\r\n</button>", styles: [".bb-tag{cursor:default;padding:0 7px;font-size:12px;list-style:none;line-height:20px;border-radius:4px;white-space:nowrap;display:inline-block;color:#000000a6;border:1px solid #d9d9d9;background-color:#fafafa;font-variant:tabular-nums;font-feature-settings:\"tnum\"}.bb-tag:not(:last-child){margin-right:8px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1837
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: BbTag, decorators: [{
1835
+ BbTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbTag, deps: [], target: i0.ɵɵFactoryTarget.Component });
1836
+ BbTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BbTag, selector: "bb-tag", outputs: { onClose: "onClose" }, host: { classAttribute: "bb-tag" }, ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<button *ngIf=\"onClose?.observed\"\r\n (click)=\"onClose.emit()\"\r\n type=\"button\">\r\n Close\r\n</button>", styles: [".bb-tag{cursor:default;padding:0 7px;font-size:12px;list-style:none;line-height:20px;border-radius:4px;white-space:nowrap;display:inline-block;color:#000000a6;border:1px solid #d9d9d9;background-color:#fafafa;font-variant:tabular-nums;font-feature-settings:\"tnum\"}.bb-tag:not(:last-child){margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1837
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: BbTag, decorators: [{
1838
1838
  type: Component,
1839
1839
  args: [{ selector: 'bb-tag', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-tag' }, template: "<ng-content></ng-content>\r\n\r\n<button *ngIf=\"onClose?.observed\"\r\n (click)=\"onClose.emit()\"\r\n type=\"button\">\r\n Close\r\n</button>", styles: [".bb-tag{cursor:default;padding:0 7px;font-size:12px;list-style:none;line-height:20px;border-radius:4px;white-space:nowrap;display:inline-block;color:#000000a6;border:1px solid #d9d9d9;background-color:#fafafa;font-variant:tabular-nums;font-feature-settings:\"tnum\"}.bb-tag:not(:last-child){margin-right:8px}\n"] }]
1840
1840
  }], propDecorators: { onClose: [{
@@ -1884,8 +1884,8 @@ class ElementsModule {
1884
1884
  };
1885
1885
  }
1886
1886
  }
1887
- ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1888
- ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ElementsModule, declarations: [
1887
+ ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1888
+ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.3", ngImport: i0, type: ElementsModule, declarations: [
1889
1889
  // Directives.
1890
1890
  BbTemplate,
1891
1891
  BbFormError,
@@ -1946,8 +1946,8 @@ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
1946
1946
  BbFilePicker,
1947
1947
  BbImagePicker,
1948
1948
  BbDatePicker] });
1949
- ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ElementsModule, imports: [[CommonModule, ReactiveFormsModule, LocalizeModule]] });
1950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: ElementsModule, decorators: [{
1949
+ ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElementsModule, imports: [CommonModule, ReactiveFormsModule, LocalizeModule] });
1950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ElementsModule, decorators: [{
1951
1951
  type: NgModule,
1952
1952
  args: [{
1953
1953
  imports: [CommonModule, ReactiveFormsModule, LocalizeModule],