@bravobit/bb-foundation 0.22.2 → 0.23.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 (218) hide show
  1. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +3 -2
  2. package/controls/lib/checkbox/checkbox.module.d.ts +2 -1
  3. package/controls/lib/form-control/form-control/form-control.component.d.ts +5 -5
  4. package/controls/lib/form-control/form-control.module.d.ts +2 -1
  5. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +4 -2
  6. package/dialog/lib/dialog.interfaces.d.ts +7 -0
  7. package/dialog/lib/dialog.service.d.ts +5 -9
  8. package/elements/lib/date-picker/date-picker.component.d.ts +4 -2
  9. package/elements/lib/elements.module.d.ts +25 -28
  10. package/elements/lib/pipes/relative-time.pipe.d.ts +5 -5
  11. package/elements/public_api.d.ts +0 -4
  12. package/esm2020/auth/lib/auth.interceptor.mjs +3 -3
  13. package/esm2020/auth/lib/auth.module.mjs +4 -4
  14. package/esm2020/auth/lib/auth.service.mjs +3 -3
  15. package/esm2020/auth/lib/directives/authenticated.directive.mjs +3 -3
  16. package/esm2020/auth/lib/directives/permission.directive.mjs +3 -3
  17. package/esm2020/auth/lib/guards/anonymous.guard.mjs +3 -3
  18. package/esm2020/auth/lib/guards/authenticated.guard.mjs +3 -3
  19. package/esm2020/auth/lib/guards/permission.guard.mjs +3 -3
  20. package/esm2020/auth/lib/permissions/permissions.service.mjs +3 -3
  21. package/esm2020/collections/lib/collections.module.mjs +4 -4
  22. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  23. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +5 -5
  24. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  25. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +3 -3
  26. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +7 -6
  27. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +7 -6
  28. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +3 -3
  29. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +3 -3
  30. package/esm2020/controls/lib/control-error/control-error.module.mjs +4 -4
  31. package/esm2020/controls/lib/controls.module.mjs +4 -4
  32. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +6 -5
  33. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +3 -3
  34. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +3 -3
  35. package/esm2020/controls/lib/form-control/form-control.module.mjs +8 -7
  36. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +3 -3
  37. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  38. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  39. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  40. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  41. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  42. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  43. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  44. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  45. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +15 -12
  46. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +5 -5
  47. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +3 -3
  48. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +3 -3
  49. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +3 -3
  50. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +3 -3
  51. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  52. package/esm2020/dialog/lib/dialog.interfaces.mjs +1 -1
  53. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  54. package/esm2020/dialog/lib/dialog.service.mjs +15 -27
  55. package/esm2020/elements/lib/avatar/avatar.component.mjs +7 -7
  56. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  57. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  58. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +20 -15
  59. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  60. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  61. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
  62. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  63. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  64. package/esm2020/elements/lib/elements.module.mjs +21 -25
  65. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +4 -4
  66. package/esm2020/elements/lib/form-control/form-control.component.mjs +4 -4
  67. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  68. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  69. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  70. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  71. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +3 -3
  72. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  73. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +15 -13
  74. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  75. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  76. package/esm2020/elements/public_api.mjs +1 -5
  77. package/esm2020/http/lib/classes/http.config.mjs +2 -3
  78. package/esm2020/http/lib/http.module.mjs +4 -4
  79. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +6 -6
  80. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  81. package/esm2020/lib/core/services/clipboard.service.mjs +3 -3
  82. package/esm2020/lib/core/services/exif.service.mjs +3 -3
  83. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  84. package/esm2020/lib/core/services/image-converter.service.mjs +3 -3
  85. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  86. package/esm2020/lib/core/services/network.service.mjs +3 -3
  87. package/esm2020/lib/core/services/patch.service.mjs +3 -3
  88. package/esm2020/localize/lib/dictionary/dictionary.class.mjs +92 -0
  89. package/esm2020/localize/lib/dictionary/dictionary.context.mjs +26 -0
  90. package/esm2020/localize/lib/dictionary/dictionary.data.mjs +6 -0
  91. package/esm2020/localize/lib/functions/lowercase.function.mjs +2 -2
  92. package/esm2020/localize/lib/functions/uppercase.function.mjs +2 -2
  93. package/esm2020/localize/lib/handlers/missing.handler.mjs +2 -2
  94. package/esm2020/localize/lib/interfaces/config.interfaces.mjs +1 -1
  95. package/esm2020/localize/lib/interfaces/options.interfaces.mjs +1 -1
  96. package/esm2020/localize/lib/interfaces/transforms.interfaces.mjs +3 -0
  97. package/esm2020/localize/lib/localize.module.mjs +19 -13
  98. package/esm2020/localize/lib/localize.pipe.mjs +7 -8
  99. package/esm2020/localize/lib/localize.service.mjs +86 -130
  100. package/esm2020/localize/lib/transforms/abstract.transform.mjs +30 -0
  101. package/esm2020/localize/lib/transforms/interpolate.transform.mjs +54 -0
  102. package/esm2020/localize/lib/transforms/reference.transform.mjs +25 -0
  103. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +6 -6
  104. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  105. package/esm2020/localize/public_api.mjs +8 -2
  106. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  107. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  108. package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
  109. package/esm2020/masking/lib/masking.module.mjs +4 -4
  110. package/esm2020/masking/lib/masking.service.mjs +3 -3
  111. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +3 -3
  112. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +3 -3
  113. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  114. package/esm2020/notifications/lib/notifications.service.mjs +22 -26
  115. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  116. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +3 -3
  117. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  118. package/esm2020/storage/lib/storage.service.mjs +7 -7
  119. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  120. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  121. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  122. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  123. package/esm2020/table/lib/table.module.mjs +4 -4
  124. package/esm2020/theming/lib/theming.directive.mjs +3 -3
  125. package/esm2020/theming/lib/theming.module.mjs +4 -4
  126. package/esm2020/utils/bravobit-bb-foundation-utils.mjs +5 -0
  127. package/esm2020/utils/lib/directives/autosize.directive.mjs +72 -0
  128. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +77 -0
  129. package/esm2020/utils/lib/directives/focus.directive.mjs +37 -0
  130. package/esm2020/utils/lib/directives/template.directive.mjs +28 -0
  131. package/esm2020/utils/lib/utils.module.mjs +35 -0
  132. package/esm2020/utils/public_api.mjs +6 -0
  133. package/fesm2015/bravobit-bb-foundation-auth.mjs +28 -28
  134. package/fesm2015/bravobit-bb-foundation-collections.mjs +23 -23
  135. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
  136. package/fesm2015/bravobit-bb-foundation-controls.mjs +47 -45
  137. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  138. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +25 -25
  139. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  140. package/fesm2015/bravobit-bb-foundation-dialog.mjs +54 -81
  141. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  142. package/fesm2015/bravobit-bb-foundation-elements.mjs +126 -324
  143. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  144. package/fesm2015/bravobit-bb-foundation-http.mjs +14 -14
  145. package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
  146. package/fesm2015/bravobit-bb-foundation-localize.mjs +360 -215
  147. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  148. package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
  149. package/fesm2015/bravobit-bb-foundation-notifications.mjs +31 -52
  150. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  151. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +10 -10
  152. package/fesm2015/bravobit-bb-foundation-storage.mjs +6 -6
  153. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  154. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  155. package/fesm2015/bravobit-bb-foundation-theming.mjs +7 -7
  156. package/fesm2015/bravobit-bb-foundation-utils.mjs +246 -0
  157. package/fesm2015/bravobit-bb-foundation-utils.mjs.map +1 -0
  158. package/fesm2015/bravobit-bb-foundation.mjs +21 -21
  159. package/fesm2020/bravobit-bb-foundation-auth.mjs +28 -28
  160. package/fesm2020/bravobit-bb-foundation-collections.mjs +23 -23
  161. package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
  162. package/fesm2020/bravobit-bb-foundation-controls.mjs +47 -45
  163. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  164. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +25 -25
  165. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  166. package/fesm2020/bravobit-bb-foundation-dialog.mjs +53 -79
  167. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  168. package/fesm2020/bravobit-bb-foundation-elements.mjs +124 -322
  169. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  170. package/fesm2020/bravobit-bb-foundation-http.mjs +14 -14
  171. package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
  172. package/fesm2020/bravobit-bb-foundation-localize.mjs +342 -208
  173. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  174. package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
  175. package/fesm2020/bravobit-bb-foundation-notifications.mjs +31 -52
  176. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  177. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +10 -10
  178. package/fesm2020/bravobit-bb-foundation-storage.mjs +6 -6
  179. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  180. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  181. package/fesm2020/bravobit-bb-foundation-theming.mjs +7 -7
  182. package/fesm2020/bravobit-bb-foundation-utils.mjs +244 -0
  183. package/fesm2020/bravobit-bb-foundation-utils.mjs.map +1 -0
  184. package/fesm2020/bravobit-bb-foundation.mjs +21 -21
  185. package/localize/lib/dictionary/dictionary.class.d.ts +28 -0
  186. package/localize/lib/dictionary/dictionary.context.d.ts +7 -0
  187. package/localize/lib/dictionary/dictionary.data.d.ts +7 -0
  188. package/localize/lib/interfaces/config.interfaces.d.ts +4 -6
  189. package/localize/lib/interfaces/options.interfaces.d.ts +1 -0
  190. package/localize/lib/interfaces/transforms.interfaces.d.ts +3 -0
  191. package/localize/lib/localize.module.d.ts +4 -4
  192. package/localize/lib/localize.pipe.d.ts +1 -1
  193. package/localize/lib/localize.service.d.ts +25 -21
  194. package/localize/lib/transforms/abstract.transform.d.ts +13 -0
  195. package/localize/lib/transforms/interpolate.transform.d.ts +14 -0
  196. package/localize/lib/transforms/reference.transform.d.ts +10 -0
  197. package/localize/public_api.d.ts +7 -1
  198. package/notifications/lib/notifications.service.d.ts +6 -7
  199. package/package.json +12 -4
  200. package/utils/index.d.ts +5 -0
  201. package/{elements → utils}/lib/directives/autosize.directive.d.ts +0 -0
  202. package/{elements → utils}/lib/directives/focus-trap.directive.d.ts +0 -0
  203. package/{elements → utils}/lib/directives/focus.directive.d.ts +0 -0
  204. package/{elements → utils}/lib/directives/template.directive.d.ts +1 -0
  205. package/utils/lib/utils.module.d.ts +10 -0
  206. package/utils/public_api.d.ts +5 -0
  207. package/dialog/lib/dialog.injector.d.ts +0 -8
  208. package/esm2020/dialog/lib/dialog.injector.mjs +0 -18
  209. package/esm2020/elements/lib/directives/autosize.directive.mjs +0 -72
  210. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +0 -77
  211. package/esm2020/elements/lib/directives/focus.directive.mjs +0 -37
  212. package/esm2020/elements/lib/directives/template.directive.mjs +0 -28
  213. package/esm2020/localize/lib/localize.dictionary.mjs +0 -26
  214. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +0 -28
  215. package/esm2020/notifications/lib/notifications.injector.mjs +0 -18
  216. package/localize/lib/localize.dictionary.d.ts +0 -7
  217. package/localize/lib/views/localize-template-or-string.directive.d.ts +0 -10
  218. package/notifications/lib/notifications.injector.d.ts +0 -8
@@ -25,8 +25,8 @@ export class BbDropdown {
25
25
  return this.close();
26
26
  }
27
27
  }
28
- BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
29
- BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\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: [
28
+ BbDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDropdown, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
29
+ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbDropdown, selector: "bb-dropdown", host: { listeners: { "document:click": "onDocumentClick($event.target)" }, classAttribute: "bb-dropdown" }, ngImport: i0, template: "<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\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: [
30
30
  trigger('dropdownMenuAnimation', [
31
31
  transition(':enter', [
32
32
  // 1. Set the initial state.
@@ -42,7 +42,7 @@ BbDropdown.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "1
42
42
  ])
43
43
  ])
44
44
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDropdown, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDropdown, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'bb-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dropdown' }, preserveWhitespaces: false, animations: [
48
48
  trigger('dropdownMenuAnimation', [
@@ -77,9 +77,9 @@ export class BbDropdownItem {
77
77
  this._parent?.close();
78
78
  }
79
79
  }
80
- BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
81
- BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDropdownItem, decorators: [{
80
+ BbDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDropdownItem, deps: [{ token: BbDropdown, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
81
+ BbDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: BbDropdownItem, selector: "[bbDropdownItem]", inputs: { closeOnClick: "closeOnClick" }, host: { listeners: { "click": "onClick()" }, classAttribute: "bb-dropdown-item" }, ngImport: i0 });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbDropdownItem, decorators: [{
83
83
  type: Directive,
84
84
  args: [{
85
85
  selector: '[bbDropdownItem]',
@@ -11,15 +11,12 @@ import { BbFormSubmit } from './directives/form-submit.directive';
11
11
  import { BbInput, BbSelect } from './directives/input.directive';
12
12
  import { BbFormGroup } from './form-group/form-group.component';
13
13
  import { BbFormError } from './form-error/form-error.component';
14
- import { BbFocusTrap } from './directives/focus-trap.directive';
15
14
  import { BbAnchor, BbButton } from './button/button.component';
16
15
  import { NgModule } from '@angular/core';
17
- import { BbTemplate } from './directives/template.directive';
18
- import { BbAutosize } from './directives/autosize.directive';
19
16
  import { BbRelativeTime } from './pipes/relative-time.pipe';
17
+ import { UtilsModule } from '@bravobit/bb-foundation/utils';
20
18
  import { BbCheckbox } from './checkbox/checkbox.component';
21
19
  import { BbSpinner } from './spinner/spinner.component';
22
- import { BbFocus } from './directives/focus.directive';
23
20
  import { BbFileImage } from './pipes/file-image.pipe';
24
21
  import { ReactiveFormsModule } from '@angular/forms';
25
22
  import { BbAvatar } from './avatar/avatar.component';
@@ -30,15 +27,11 @@ import { BbTag } from './tag/tag.component';
30
27
  import * as i0 from "@angular/core";
31
28
  const DECLARATIONS_EXPORTS = [
32
29
  // Directives.
33
- BbTemplate,
34
30
  BbFormError,
35
31
  BbFormSubmit,
36
32
  BbFormSubmitter,
37
33
  BbInput,
38
34
  BbSelect,
39
- BbFocus,
40
- BbFocusTrap,
41
- BbAutosize,
42
35
  BbPrefix,
43
36
  BbSuffix,
44
37
  // Pipes.
@@ -72,18 +65,14 @@ export class ElementsModule {
72
65
  };
73
66
  }
74
67
  }
75
- ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
76
- ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ElementsModule, declarations: [
68
+ ElementsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
69
+ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ElementsModule, declarations: [
77
70
  // Directives.
78
- BbTemplate,
79
71
  BbFormError,
80
72
  BbFormSubmit,
81
73
  BbFormSubmitter,
82
74
  BbInput,
83
75
  BbSelect,
84
- BbFocus,
85
- BbFocusTrap,
86
- BbAutosize,
87
76
  BbPrefix,
88
77
  BbSuffix,
89
78
  // Pipes.
@@ -104,17 +93,16 @@ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
104
93
  BbAvatar,
105
94
  BbFilePicker,
106
95
  BbImagePicker,
107
- BbDatePicker], imports: [CommonModule, ReactiveFormsModule, LocalizeModule], exports: [
96
+ BbDatePicker], imports: [CommonModule,
97
+ ReactiveFormsModule,
98
+ LocalizeModule,
99
+ UtilsModule], exports: [
108
100
  // Directives.
109
- BbTemplate,
110
101
  BbFormError,
111
102
  BbFormSubmit,
112
103
  BbFormSubmitter,
113
104
  BbInput,
114
105
  BbSelect,
115
- BbFocus,
116
- BbFocusTrap,
117
- BbAutosize,
118
106
  BbPrefix,
119
107
  BbSuffix,
120
108
  // Pipes.
@@ -135,14 +123,22 @@ ElementsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version:
135
123
  BbAvatar,
136
124
  BbFilePicker,
137
125
  BbImagePicker,
138
- BbDatePicker] });
139
- ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ElementsModule, imports: [CommonModule, ReactiveFormsModule, LocalizeModule] });
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ElementsModule, decorators: [{
126
+ BbDatePicker, UtilsModule] });
127
+ ElementsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElementsModule, imports: [CommonModule,
128
+ ReactiveFormsModule,
129
+ LocalizeModule,
130
+ UtilsModule, UtilsModule] });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ElementsModule, decorators: [{
141
132
  type: NgModule,
142
133
  args: [{
143
- imports: [CommonModule, ReactiveFormsModule, LocalizeModule],
134
+ imports: [
135
+ CommonModule,
136
+ ReactiveFormsModule,
137
+ LocalizeModule,
138
+ UtilsModule
139
+ ],
144
140
  declarations: [...DECLARATIONS_EXPORTS],
145
- exports: [...DECLARATIONS_EXPORTS]
141
+ exports: [...DECLARATIONS_EXPORTS, UtilsModule]
146
142
  }]
147
143
  }] });
148
144
  export const ELEMENTS_MATERIAL_ICON = {
@@ -178,4 +174,4 @@ export function getErrors() {
178
174
  };
179
175
  return data;
180
176
  }
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBc0IsUUFBUSxFQUFDLE1BQU0sZUFBZSxD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QUFDLEVBQUMsS0FBSyxFQUFFLHlCQUF5QixFQUFFLElBQUksRUFBRSxFQUFDLEdBQUcsRUFBQyxFQUFDLENBQUM7UUFDakUsV0FBVyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSxpQ0FBaUMsRUFBRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUMsRUFBQyxDQUFDO1FBQ3pGLE9BQU8sRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQztRQUMzRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7UUFDM0UsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlDQUFpQztRQUNwRCxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMscUNBQXFDO1FBQzVELFNBQVMsRUFBRSxDQUFDLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQztTQUN2QyxDQUFDO1FBQ0YsU0FBUyxFQUFFLENBQUMsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxJQUFJLEVBQUUsRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFDO1NBQ3ZDLENBQUM7S0FDTCxDQUFDO0lBRUYsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QmJEcm9wZG93biwgQmJEcm9wZG93bkl0ZW19IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7RUxFTUVOVFNfRVJST1JTLCBFTEVNRU5UU19JQ09OU30gZnJvbSAnLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7QmJGb3JtU3VibWl0dGVyfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXR0ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJJbWFnZVBpY2tlcn0gZnJvbSAnLi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUNvbnRyb2x9IGZyb20gJy4vZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZpbGVQaWNrZXJ9IGZyb20gJy4vZmlsZS1waWNrZXIvZmlsZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJEYXRlUGlja2VyfSBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0xvY2FsaXplTW9kdWxlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge0JiUHJlZml4LCBCYlN1ZmZpeH0gZnJvbSAnLi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiSW5wdXQsIEJiU2VsZWN0fSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGb3JtR3JvdXB9IGZyb20gJy4vZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRm9ybUVycm9yfSBmcm9tICcuL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzVHJhcH0gZnJvbSAnLi9kaXJlY3RpdmVzL2ZvY3VzLXRyYXAuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlRlbXBsYXRlfSBmcm9tICcuL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJBdXRvc2l6ZX0gZnJvbSAnLi9kaXJlY3RpdmVzL2F1dG9zaXplLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiUmVsYXRpdmVUaW1lfSBmcm9tICcuL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZSc7XG5pbXBvcnQge0JiQ2hlY2tib3h9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7QmJTcGlubmVyfSBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvY3VzfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJGaWxlSW1hZ2V9IGZyb20gJy4vcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiSWNvbn0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7QmJUYWd9IGZyb20gJy4vdGFnL3RhZy5jb21wb25lbnQnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICAvLyBEaXJlY3RpdmVzLlxuICAgIEJiVGVtcGxhdGUsXG4gICAgQmJGb3JtRXJyb3IsXG4gICAgQmJGb3JtU3VibWl0LFxuICAgIEJiRm9ybVN1Ym1pdHRlcixcbiAgICBCYklucHV0LFxuICAgIEJiU2VsZWN0LFxuICAgIEJiRm9jdXMsXG4gICAgQmJGb2N1c1RyYXAsXG4gICAgQmJBdXRvc2l6ZSxcbiAgICBCYlByZWZpeCxcbiAgICBCYlN1ZmZpeCxcbiAgICAvLyBQaXBlcy5cbiAgICBCYkZpbGVTaXplLFxuICAgIEJiRmlsZUltYWdlLFxuICAgIEJiUmVsYXRpdmVUaW1lLFxuICAgIC8vIENvbXBvbmVudHMuXG4gICAgQmJCdXR0b24sXG4gICAgQmJBbmNob3IsXG4gICAgQmJTcGlubmVyLFxuICAgIEJiSWNvbixcbiAgICBCYkZvcm1Db250cm9sLFxuICAgIEJiRm9ybUdyb3VwLFxuICAgIEJiQ2hlY2tib3gsXG4gICAgQmJEcm9wZG93bixcbiAgICBCYkRyb3Bkb3duSXRlbSxcbiAgICBCYlRhZyxcbiAgICBCYkF2YXRhcixcbiAgICBCYkZpbGVQaWNrZXIsXG4gICAgQmJJbWFnZVBpY2tlcixcbiAgICBCYkRhdGVQaWNrZXJcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTG9jYWxpemVNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogWy4uLkRFQ0xBUkFUSU9OU19FWFBPUlRTXSxcbiAgICBleHBvcnRzOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RWxlbWVudHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBFbGVtZW50c01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBFTEVNRU5UU19FUlJPUlMsIHVzZUZhY3Rvcnk6IGdldEVycm9ycywgbXVsdGk6IHRydWV9LFxuICAgICAgICAgICAgICAgIEVMRU1FTlRTX01BVEVSSUFMX0lDT05cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRTX01BVEVSSUFMX0lDT04gPSB7XG4gICAgcHJvdmlkZTogRUxFTUVOVFNfSUNPTlMsXG4gICAgdXNlVmFsdWU6IHtuYW1lc3BhY2U6ICdtYXRlcmlhbCcsIGNsYXNzTmFtZTogJ21hdGVyaWFsLWljb25zJywgdXNlczogJ2NvbnRlbnQnLCB0eXBlOiAnZm9udCd9LFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JzKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIHVua25vd246ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnVua25vd24nLFxuICAgICAgICByZXF1aXJlZDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMucmVxdWlyZWQnLFxuICAgICAgICBwYXR0ZXJuOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5wYXR0ZXJuJyxcbiAgICAgICAgZW1haWw6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmVtYWlsJyxcbiAgICAgICAgZW1haWxUYWtlbjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZW1haWxUYWtlbicsXG4gICAgICAgIHBhc3N3b3JkTWF0Y2g6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnBhc3N3b3JkTWF0Y2gnLFxuICAgICAgICBjb25maXJtOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5jb25maXJtJyxcbiAgICAgICAgZnVsbE51bWJlcjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZnVsbE51bWJlcicsXG4gICAgICAgIG1pbjogKHttaW59KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5taW4nLCBkYXRhOiB7bWlufX0pLFxuICAgICAgICBtYXg6ICh7bWF4fSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4JywgZGF0YToge21heH19KSxcbiAgICAgICAgbWF4RmlsZVNpemU6ICh7bWF4U2l6ZX0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1heEZpbGVTaXplJywgZGF0YToge21heFNpemV9fSksXG4gICAgICAgIG1pbkRhdGU6ICh7ZGF0ZX0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbkRhdGUnLCBkYXRhOiB7ZGF0ZX19KSxcbiAgICAgICAgbWF4RGF0ZTogKHtkYXRlfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4RGF0ZScsIGRhdGE6IHtkYXRlfX0pLFxuICAgICAgICBpbnZhbGlkRGF0ZTogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuaW52YWxpZERhdGUnLFxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmludmFsaWRGaWxlVHlwZScsXG4gICAgICAgIG1pbmxlbmd0aDogKHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofSkgPT4gKHtcbiAgICAgICAgICAgIHRva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5taW5sZW5ndGgnLFxuICAgICAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgICAgIH0pLFxuICAgICAgICBtYXhsZW5ndGg6ICh7cmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aH0pID0+ICh7XG4gICAgICAgICAgICB0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4bGVuZ3RoJyxcbiAgICAgICAgICAgIGRhdGE6IHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofVxuICAgICAgICB9KVxuICAgIH07XG5cbiAgICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL2VsZW1lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFzQixRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixD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Q0FBQztRQUN6RixPQUFPLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLDZCQUE2QixFQUFFLElBQUksRUFBRSxFQUFDLElBQUksRUFBQyxFQUFDLENBQUM7UUFDM0UsT0FBTyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFBQyxDQUFDO1FBQzNFLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUM7UUFDcEQsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLHFDQUFxQztRQUM1RCxTQUFTLEVBQUUsQ0FBQyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxLQUFLLEVBQUUsK0JBQStCO1lBQ3RDLElBQUksRUFBRSxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUM7U0FDdkMsQ0FBQztRQUNGLFNBQVMsRUFBRSxDQUFDLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsSUFBSSxFQUFFLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBQztTQUN2QyxDQUFDO0tBQ0wsQ0FBQztJQUVGLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JiRHJvcGRvd24sIEJiRHJvcGRvd25JdGVtfSBmcm9tICcuL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQge0VMRU1FTlRTX0VSUk9SUywgRUxFTUVOVFNfSUNPTlN9IGZyb20gJy4vZWxlbWVudHMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0JiRm9ybVN1Ym1pdHRlcn0gZnJvbSAnLi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0dGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiSW1hZ2VQaWNrZXJ9IGZyb20gJy4vaW1hZ2UtcGlja2VyL2ltYWdlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1Db250cm9sfSBmcm9tICcuL2Zvcm0tY29udHJvbC9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7QmJGaWxlUGlja2VyfSBmcm9tICcuL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRGF0ZVBpY2tlcn0gZnJvbSAnLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHtMb2NhbGl6ZU1vZHVsZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtCYlByZWZpeCwgQmJTdWZmaXh9IGZyb20gJy4vZGlyZWN0aXZlcy9hZGRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYkZvcm1TdWJtaXR9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtCYklucHV0LCBCYlNlbGVjdH0gZnJvbSAnLi9kaXJlY3RpdmVzL2lucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiRm9ybUdyb3VwfSBmcm9tICcuL2Zvcm0tZ3JvdXAvZm9ybS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtCYkZvcm1FcnJvcn0gZnJvbSAnLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7QmJBbmNob3IsIEJiQnV0dG9ufSBmcm9tICcuL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7TW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYlJlbGF0aXZlVGltZX0gZnJvbSAnLi9waXBlcy9yZWxhdGl2ZS10aW1lLnBpcGUnO1xuaW1wb3J0IHtVdGlsc01vZHVsZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vdXRpbHMnO1xuaW1wb3J0IHtCYkNoZWNrYm94fSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0JiU3Bpbm5lcn0gZnJvbSAnLi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7QmJGaWxlSW1hZ2V9IGZyb20gJy4vcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYkF2YXRhcn0gZnJvbSAnLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZVNpemV9IGZyb20gJy4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiSWNvbn0gZnJvbSAnLi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7QmJUYWd9IGZyb20gJy4vdGFnL3RhZy5jb21wb25lbnQnO1xuXG5jb25zdCBERUNMQVJBVElPTlNfRVhQT1JUUyA9IFtcbiAgICAvLyBEaXJlY3RpdmVzLlxuICAgIEJiRm9ybUVycm9yLFxuICAgIEJiRm9ybVN1Ym1pdCxcbiAgICBCYkZvcm1TdWJtaXR0ZXIsXG4gICAgQmJJbnB1dCxcbiAgICBCYlNlbGVjdCxcbiAgICBCYlByZWZpeCxcbiAgICBCYlN1ZmZpeCxcbiAgICAvLyBQaXBlcy5cbiAgICBCYkZpbGVTaXplLFxuICAgIEJiRmlsZUltYWdlLFxuICAgIEJiUmVsYXRpdmVUaW1lLFxuICAgIC8vIENvbXBvbmVudHMuXG4gICAgQmJCdXR0b24sXG4gICAgQmJBbmNob3IsXG4gICAgQmJTcGlubmVyLFxuICAgIEJiSWNvbixcbiAgICBCYkZvcm1Db250cm9sLFxuICAgIEJiRm9ybUdyb3VwLFxuICAgIEJiQ2hlY2tib3gsXG4gICAgQmJEcm9wZG93bixcbiAgICBCYkRyb3Bkb3duSXRlbSxcbiAgICBCYlRhZyxcbiAgICBCYkF2YXRhcixcbiAgICBCYkZpbGVQaWNrZXIsXG4gICAgQmJJbWFnZVBpY2tlcixcbiAgICBCYkRhdGVQaWNrZXJcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIExvY2FsaXplTW9kdWxlLFxuICAgICAgICBVdGlsc01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TX0VYUE9SVFNdLFxuICAgIGV4cG9ydHM6IFsuLi5ERUNMQVJBVElPTlNfRVhQT1JUUywgVXRpbHNNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRzTW9kdWxlIHtcblxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RWxlbWVudHNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBFbGVtZW50c01vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBFTEVNRU5UU19FUlJPUlMsIHVzZUZhY3Rvcnk6IGdldEVycm9ycywgbXVsdGk6IHRydWV9LFxuICAgICAgICAgICAgICAgIEVMRU1FTlRTX01BVEVSSUFMX0lDT05cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRTX01BVEVSSUFMX0lDT04gPSB7XG4gICAgcHJvdmlkZTogRUxFTUVOVFNfSUNPTlMsXG4gICAgdXNlVmFsdWU6IHtuYW1lc3BhY2U6ICdtYXRlcmlhbCcsIGNsYXNzTmFtZTogJ21hdGVyaWFsLWljb25zJywgdXNlczogJ2NvbnRlbnQnLCB0eXBlOiAnZm9udCd9LFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RXJyb3JzKCkge1xuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIHVua25vd246ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnVua25vd24nLFxuICAgICAgICByZXF1aXJlZDogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMucmVxdWlyZWQnLFxuICAgICAgICBwYXR0ZXJuOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5wYXR0ZXJuJyxcbiAgICAgICAgZW1haWw6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmVtYWlsJyxcbiAgICAgICAgZW1haWxUYWtlbjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZW1haWxUYWtlbicsXG4gICAgICAgIHBhc3N3b3JkTWF0Y2g6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLnBhc3N3b3JkTWF0Y2gnLFxuICAgICAgICBjb25maXJtOiAoKSA9PiAnZm9ybS1jb250cm9sLWVycm9ycy5jb25maXJtJyxcbiAgICAgICAgZnVsbE51bWJlcjogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuZnVsbE51bWJlcicsXG4gICAgICAgIG1pbjogKHttaW59KSA9PiAoe3Rva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5taW4nLCBkYXRhOiB7bWlufX0pLFxuICAgICAgICBtYXg6ICh7bWF4fSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4JywgZGF0YToge21heH19KSxcbiAgICAgICAgbWF4RmlsZVNpemU6ICh7bWF4U2l6ZX0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1heEZpbGVTaXplJywgZGF0YToge21heFNpemV9fSksXG4gICAgICAgIG1pbkRhdGU6ICh7ZGF0ZX0pID0+ICh7dG9rZW46ICdmb3JtLWNvbnRyb2wtZXJyb3JzLm1pbkRhdGUnLCBkYXRhOiB7ZGF0ZX19KSxcbiAgICAgICAgbWF4RGF0ZTogKHtkYXRlfSkgPT4gKHt0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4RGF0ZScsIGRhdGE6IHtkYXRlfX0pLFxuICAgICAgICBpbnZhbGlkRGF0ZTogKCkgPT4gJ2Zvcm0tY29udHJvbC1lcnJvcnMuaW52YWxpZERhdGUnLFxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6ICgpID0+ICdmb3JtLWNvbnRyb2wtZXJyb3JzLmludmFsaWRGaWxlVHlwZScsXG4gICAgICAgIG1pbmxlbmd0aDogKHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofSkgPT4gKHtcbiAgICAgICAgICAgIHRva2VuOiAnZm9ybS1jb250cm9sLWVycm9ycy5taW5sZW5ndGgnLFxuICAgICAgICAgICAgZGF0YToge3JlcXVpcmVkTGVuZ3RoLCBhY3R1YWxMZW5ndGh9XG4gICAgICAgIH0pLFxuICAgICAgICBtYXhsZW5ndGg6ICh7cmVxdWlyZWRMZW5ndGgsIGFjdHVhbExlbmd0aH0pID0+ICh7XG4gICAgICAgICAgICB0b2tlbjogJ2Zvcm0tY29udHJvbC1lcnJvcnMubWF4bGVuZ3RoJyxcbiAgICAgICAgICAgIGRhdGE6IHtyZXF1aXJlZExlbmd0aCwgYWN0dWFsTGVuZ3RofVxuICAgICAgICB9KVxuICAgIH07XG5cbiAgICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==
@@ -5,7 +5,7 @@ import { animate, style, transition, trigger } from '@angular/animations';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
- import * as i2 from "../directives/template.directive";
8
+ import * as i2 from "@bravobit/bb-foundation/utils";
9
9
  import * as i3 from "../form-error/form-error.component";
10
10
  import * as i4 from "@bravobit/bb-foundation/localize";
11
11
  import * as i5 from "../pipes/file-size.pipe";
@@ -149,8 +149,8 @@ export class BbFilePicker extends BbFilePickerMixinBase {
149
149
  };
150
150
  }
151
151
  }
152
- BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
153
- BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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: [
152
+ BbFilePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFilePicker, deps: null, target: i0.ɵɵFactoryTarget.Component });
153
+ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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: [
154
154
  {
155
155
  provide: NG_VALUE_ACCESSOR,
156
156
  useExisting: forwardRef(() => BbFilePicker),
@@ -172,7 +172,7 @@ BbFilePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version:
172
172
  ])
173
173
  ])
174
174
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFilePicker, decorators: [{
175
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFilePicker, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: 'bb-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
178
178
  {
@@ -3,7 +3,7 @@ import { ChangeDetectionStrategy, Component, ContentChild, Input, ViewEncapsulat
3
3
  import { NgControl } from '@angular/forms';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
- import * as i2 from "../directives/template.directive";
6
+ import * as i2 from "@bravobit/bb-foundation/utils";
7
7
  import * as i3 from "../form-error/form-error.component";
8
8
  let nextUniqueId = 0;
9
9
  class BbFormControlBase {
@@ -24,9 +24,9 @@ export class BbFormControl extends BbFormControlMixinBase {
24
24
  this.error = !!error;
25
25
  }
26
26
  }
27
- BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
- BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\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: i2.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: i3.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormControl, decorators: [{
27
+ BbFormControl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
28
+ BbFormControl.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\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: i2.BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: i3.BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormControl, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'bb-form-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
32
32
  'class': 'bb-form-control',
@@ -97,9 +97,9 @@ export class BbFormError {
97
97
  return this.control.statusChanges.pipe(startWith(this.control.status), delay(0));
98
98
  }
99
99
  }
100
- BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormError, deps: [{ token: i1.BbFormSubmit, optional: true }, { token: i2.NgControl, optional: true }, { token: i3.BbFormSubmitter, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
101
- BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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\">\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\n class=\"bb-form-error-message\">\n {{ message }}\n </p>\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormError, decorators: [{
100
+ BbFormError.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormError, deps: [{ token: i1.BbFormSubmit, optional: true }, { token: i2.NgControl, optional: true }, { token: i3.BbFormSubmitter, optional: true }, { token: ELEMENTS_ERRORS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
101
+ BbFormError.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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\">\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\n class=\"bb-form-error-message\">\n {{ message }}\n </p>\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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.BbLocalize, name: "bbLocalize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormError, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: 'bb-form-error', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
105
105
  'class': 'bb-form-error'
@@ -6,9 +6,9 @@ class BbFormGroupBase {
6
6
  const BbFormGroupMixinBase = mixinGrouped(BbFormGroupBase);
7
7
  export class BbFormGroup extends BbFormGroupMixinBase {
8
8
  }
9
- BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
- BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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>\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 });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFormGroup, decorators: [{
9
+ BbFormGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormGroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
10
+ BbFormGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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>\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 });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFormGroup, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'bb-form-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
14
  'class': 'bb-form-group',
@@ -72,9 +72,9 @@ export class BbIcon {
72
72
  return { type: data['type'], className: data['className'], content };
73
73
  }
74
74
  }
75
- BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
76
- BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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\"\n [ngSwitch]=\"data?.type\">\n <i *ngSwitchCase=\"'font'\"\n [attr.data-icon]=\"data?.attribute\"\n [class]=\"data?.className\">\n {{ data?.content }}\n </i>\n <img *ngSwitchCase=\"'image'\"\n [src]=\"data?.src\"\n [alt]=\"alt\">\n <svg *ngSwitchCase=\"'unknown'\"\n viewBox=\"0 0 1 1\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\n </svg>\n</ng-container>\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 });
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbIcon, decorators: [{
75
+ BbIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
76
+ BbIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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\"\n [ngSwitch]=\"data?.type\">\n <i *ngSwitchCase=\"'font'\"\n [attr.data-icon]=\"data?.attribute\"\n [class]=\"data?.className\">\n {{ data?.content }}\n </i>\n <img *ngSwitchCase=\"'image'\"\n [src]=\"data?.src\"\n [alt]=\"alt\">\n <svg *ngSwitchCase=\"'unknown'\"\n viewBox=\"0 0 1 1\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\n </svg>\n</ng-container>\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 });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbIcon, decorators: [{
78
78
  type: Component,
79
79
  args: [{ selector: 'bb-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
80
80
  'class': 'bb-icon',
@@ -78,9 +78,9 @@ export class BbImagePicker extends BbImagePickerMixinBase {
78
78
  this.disabled = isDisabled;
79
79
  }
80
80
  }
81
- BbImagePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbImagePicker, deps: [{ token: i1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component });
82
- BbImagePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", 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. -->\n<input #fileInput\n (change)=\"onFileChange($event)\"\n class=\"bb-image-picker-input\"\n type=\"file\"\n tabindex=\"-1\"\n accept=\"image/*\">\n\n<span [style.width]=\"styleDimensions?.width || '100%'\"\n [style.height]=\"styleDimensions?.height || '215px'\"\n [style.background-image]=\"image | async\"\n class=\"bb-image-input-image\">\n </span>\n\n<button *ngIf=\"label as labelText\"\n (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n</button>\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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbImagePicker, decorators: [{
81
+ BbImagePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbImagePicker, deps: [{ token: i1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component });
82
+ BbImagePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", 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. -->\n<input #fileInput\n (change)=\"onFileChange($event)\"\n class=\"bb-image-picker-input\"\n type=\"file\"\n tabindex=\"-1\"\n accept=\"image/*\">\n\n<span [style.width]=\"styleDimensions?.width || '100%'\"\n [style.height]=\"styleDimensions?.height || '215px'\"\n [style.background-image]=\"image | async\"\n class=\"bb-image-input-image\">\n </span>\n\n<button *ngIf=\"label as labelText\"\n (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n</button>\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: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbImagePicker, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'bb-image-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
86
86
  'class': 'bb-image-picker',
@@ -32,9 +32,9 @@ export class BbFileImage {
32
32
  });
33
33
  }
34
34
  }
35
- BbFileImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
36
- BbFileImage.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: BbFileImage, name: "bbFileImage" });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFileImage, decorators: [{
35
+ BbFileImage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
36
+ BbFileImage.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: BbFileImage, name: "bbFileImage" });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFileImage, decorators: [{
38
38
  type: Pipe,
39
39
  args: [{
40
40
  name: 'bbFileImage'
@@ -17,9 +17,9 @@ export class BbFileSize {
17
17
  return this.format(value);
18
18
  }
19
19
  }
20
- BbFileSize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
- BbFileSize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: BbFileSize, name: "bbFileSize" });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbFileSize, decorators: [{
20
+ BbFileSize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ BbFileSize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: BbFileSize, name: "bbFileSize" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbFileSize, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{
25
25
  name: 'bbFileSize'
@@ -1,11 +1,11 @@
1
1
  import { Inject, LOCALE_ID, Optional, Pipe } from '@angular/core';
2
- import { DatePipe } from '@angular/common';
2
+ import { formatDate } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@bravobit/bb-foundation/localize";
5
5
  export class BbRelativeTime {
6
- constructor(_localize, _localeId) {
7
- this._localize = _localize;
6
+ constructor(_localeId, _localize) {
8
7
  this._localeId = _localeId;
8
+ this._localize = _localize;
9
9
  this.isValidDate = (date) => {
10
10
  return typeof date === 'object' &&
11
11
  typeof date.getTime === 'function' &&
@@ -38,7 +38,6 @@ export class BbRelativeTime {
38
38
  date?.getMonth() === tomorrow?.getMonth() &&
39
39
  date?.getFullYear() === tomorrow?.getFullYear();
40
40
  };
41
- this._datePipe = new DatePipe(this._localeId);
42
41
  }
43
42
  transform(value) {
44
43
  // Parse the value to a date object.
@@ -69,26 +68,29 @@ export class BbRelativeTime {
69
68
  formatString(date, token, format) {
70
69
  // Just return the parsed date.
71
70
  if (!this._localize || !token || !format) {
72
- return this._datePipe.transform(date, 'mediumDate');
71
+ return formatDate(date, 'mediumDate', this.locale);
73
72
  }
74
73
  // Return the translated formatting.
75
74
  return this._localize.translate({
76
75
  token: token,
77
- data: { date: this._datePipe.transform(date, format) }
76
+ data: { date: formatDate(date, format, this.locale) }
78
77
  });
79
78
  }
79
+ get locale() {
80
+ return this._localize?.current?.locale ?? this._localeId;
81
+ }
80
82
  }
81
- BbRelativeTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbRelativeTime, deps: [{ token: i1.Localize, optional: true }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Pipe });
82
- BbRelativeTime.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" });
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbRelativeTime, decorators: [{
83
+ BbRelativeTime.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbRelativeTime, deps: [{ token: LOCALE_ID }, { token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
84
+ BbRelativeTime.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbRelativeTime, decorators: [{
84
86
  type: Pipe,
85
87
  args: [{
86
88
  name: 'bbRelativeTime'
87
89
  }]
88
- }], ctorParameters: function () { return [{ type: i1.Localize, decorators: [{
89
- type: Optional
90
- }] }, { type: undefined, decorators: [{
90
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
91
91
  type: Inject,
92
92
  args: [LOCALE_ID]
93
+ }] }, { type: i1.Localize, decorators: [{
94
+ type: Optional
93
95
  }] }]; } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQUt6QyxNQUFNLE9BQU8sY0FBYztJQUl2QixZQUFnQyxTQUFtQixFQUNaLFNBQWlCO1FBRHhCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBa0RoRCxnQkFBVyxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDakMsT0FBTyxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUMzQixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVTtnQkFDbEMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDO1FBRU0sZ0JBQVcsR0FBRyxDQUFDLEtBQTZCLEVBQUUsRUFBRTtZQUNwRCw0QkFBNEI7WUFDNUIsK0JBQStCO1lBQy9CLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLHlEQUF5RCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEcsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDaEM7WUFFRCxrQ0FBa0M7WUFDbEMsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUM7UUFFTSxZQUFPLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUM3QixNQUFNLEtBQUssR0FBRyxJQUFJLElB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O1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsb0NBQW9DO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDNUIsS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFDO1NBQ3ZELENBQUMsQ0FBQztJQUNQLENBQUM7OzJHQXJEUSxjQUFjLDBEQUtILFNBQVM7eUdBTHBCLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6Qjs7MEJBS2dCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBMT0NBTEVfSUQsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYmJSZWxhdGl2ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEJiUmVsYXRpdmVUaW1lIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRlUGlwZTogRGF0ZVBpcGU7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIF9sb2NhbGl6ZTogTG9jYWxpemUsXG4gICAgICAgICAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZUlkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUodGhpcy5fbG9jYWxlSWQpO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgICAgICAvLyBQYXJzZSB0aGUgdmFsdWUgdG8gYSBkYXRlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VBc0RhdGUodmFsdWUpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkLlxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGUoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdChkYXRlOiBEYXRlKSB7XG4gICAgICAgIC8vIEl0IGhhcHBlbnMgdG9tb3Jyb3cuXG4gICAgICAgIGlmICh0aGlzLmlzVG9tb3Jyb3coZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMudG9tb3Jyb3dfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdCBoYXBwZW5lZCB0b2RheS5cbiAgICAgICAgaWYgKHRoaXMuaXNUb2RheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b2RheV9hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHllc3RlcmRheS5cbiAgICAgICAgaWYgKHRoaXMuaXNZZXN0ZXJkYXkoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMueWVzdGVyZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhkYXRlOiBEYXRlLCB0b2tlbj86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9sb2NhbGl6ZSB8fCAhdG9rZW4gfHwgIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnbWVkaXVtRGF0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSB0cmFuc2xhdGVkIGZvcm1hdHRpbmcuXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGl6ZS50cmFuc2xhdGUoe1xuICAgICAgICAgICAgdG9rZW46IHRva2VuLFxuICAgICAgICAgICAgZGF0YToge2RhdGU6IHRoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCBmb3JtYXQpfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkYXRlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIGRhdGUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUFzRGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkgPT4ge1xuICAgICAgICAvLyBBZGQgYSBaIGFmdGVyIHRoZSBkYXRlIHNvXG4gICAgICAgIC8vIGl0IGlzIHRyZWF0ZWQgYXMgYSBVVEMgZGF0ZS5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoYCR7dmFsdWV9WmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWd1bGFyIHBhcnNlZCBkYXRlLlxuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzVG9kYXkgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvZGF5Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b2RheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHllc3RlcmRheSA9IG5ldyBEYXRlKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpIC0gMSkpO1xuICAgICAgICByZXR1cm4gZGF0ZT8uZ2V0RGF0ZSgpID09PSB5ZXN0ZXJkYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0geWVzdGVyZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZXN0ZXJkYXk/LmdldEZ1bGxZZWFyKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvbW9ycm93Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvbW9ycm93Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b21vcnJvdz8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUF1QyxTQUFpQixFQUN4QixTQUFvQjtRQURiLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXFENUMsZ0JBQVcsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUTtnQkFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVU7Z0JBQ2xDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsQ0FBQyxLQUE2QixFQUFFLEVBQUU7WUFDcEQsNEJBQTRCO1lBQzVCLCtCQUErQjtZQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSx5REFBeUQsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BHLE9BQU8sSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ2hDO1lBRUQsa0NBQWtDO1lBQ2xDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1FBRU0sWUFBTyxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxJ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QztTQUN0RDtRQUVELG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzVCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQztTQUN0RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDOzsyR0F0RFEsY0FBYyxrQkFFSCxTQUFTO3lHQUZwQixjQUFjOzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekI7OzBCQUdnQixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIExPQ0FMRV9JRCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtmb3JtYXREYXRlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiUmVsYXRpdmVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBCYlJlbGF0aXZlVGltZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgICAgICAvLyBQYXJzZSB0aGUgdmFsdWUgdG8gYSBkYXRlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VBc0RhdGUodmFsdWUpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkLlxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGUoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdChkYXRlOiBEYXRlKSB7XG4gICAgICAgIC8vIEl0IGhhcHBlbnMgdG9tb3Jyb3cuXG4gICAgICAgIGlmICh0aGlzLmlzVG9tb3Jyb3coZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMudG9tb3Jyb3dfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdCBoYXBwZW5lZCB0b2RheS5cbiAgICAgICAgaWYgKHRoaXMuaXNUb2RheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b2RheV9hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHllc3RlcmRheS5cbiAgICAgICAgaWYgKHRoaXMuaXNZZXN0ZXJkYXkoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMueWVzdGVyZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhkYXRlOiBEYXRlLCB0b2tlbj86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9sb2NhbGl6ZSB8fCAhdG9rZW4gfHwgIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgJ21lZGl1bURhdGUnLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHRyYW5zbGF0ZWQgZm9ybWF0dGluZy5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZSh7XG4gICAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgICBkYXRhOiB7ZGF0ZTogZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsIHRoaXMubG9jYWxlKX1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSA/PyB0aGlzLl9sb2NhbGVJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkYXRlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIGRhdGUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUFzRGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkgPT4ge1xuICAgICAgICAvLyBBZGQgYSBaIGFmdGVyIHRoZSBkYXRlIHNvXG4gICAgICAgIC8vIGl0IGlzIHRyZWF0ZWQgYXMgYSBVVEMgZGF0ZS5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoYCR7dmFsdWV9WmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWd1bGFyIHBhcnNlZCBkYXRlLlxuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzVG9kYXkgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvZGF5Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b2RheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHllc3RlcmRheSA9IG5ldyBEYXRlKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpIC0gMSkpO1xuICAgICAgICByZXR1cm4gZGF0ZT8uZ2V0RGF0ZSgpID09PSB5ZXN0ZXJkYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0geWVzdGVyZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZXN0ZXJkYXk/LmdldEZ1bGxZZWFyKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvbW9ycm93Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvbW9ycm93Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b21vcnJvdz8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG59XG4iXX0=
@@ -12,9 +12,9 @@ export class BbSpinner extends BbSpinnerMixinBase {
12
12
  this.alt = 'Loading...';
13
13
  }
14
14
  }
15
- BbSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbSpinner, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- BbSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbSpinner, selector: "bb-spinner", inputs: { color: "color", alt: "alt", disabled: "disabled" }, host: { classAttribute: "bb-spinner" }, usesInheritance: true, ngImport: i0, template: "<!--\n The spinner element.\n\n This element contains a circle with a 25% bar that spins\n indefinitely. The border color can be set via the \"color\"\n property.\n-->\n<div class=\"bb-spinner-container\">\n <div [style.border-left-color]=\"color\"\n [class.disabled]=\"disabled\"\n class=\"bb-spinner-loader\"\n aria-live=\"assertive\"\n role=\"alert\">\n {{ alt }}\n </div>\n <ng-content select=\"img\"></ng-content>\n</div>\n\n<!--\n The content of the spinner.\n\n This element contains the content of the spinner. The user\n can set the content inside the tag.\n-->\n<span class=\"bb-spinner-content\">\n <ng-content></ng-content>\n</span>\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 });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbSpinner, decorators: [{
15
+ BbSpinner.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbSpinner, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
+ BbSpinner.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbSpinner, selector: "bb-spinner", inputs: { color: "color", alt: "alt", disabled: "disabled" }, host: { classAttribute: "bb-spinner" }, usesInheritance: true, ngImport: i0, template: "<!--\n The spinner element.\n\n This element contains a circle with a 25% bar that spins\n indefinitely. The border color can be set via the \"color\"\n property.\n-->\n<div class=\"bb-spinner-container\">\n <div [style.border-left-color]=\"color\"\n [class.disabled]=\"disabled\"\n class=\"bb-spinner-loader\"\n aria-live=\"assertive\"\n role=\"alert\">\n {{ alt }}\n </div>\n <ng-content select=\"img\"></ng-content>\n</div>\n\n<!--\n The content of the spinner.\n\n This element contains the content of the spinner. The user\n can set the content inside the tag.\n-->\n<span class=\"bb-spinner-content\">\n <ng-content></ng-content>\n</span>\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 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbSpinner, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'bb-spinner', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-spinner' }, inputs: ['color', 'alt', 'disabled'], preserveWhitespaces: false, template: "<!--\n The spinner element.\n\n This element contains a circle with a 25% bar that spins\n indefinitely. The border color can be set via the \"color\"\n property.\n-->\n<div class=\"bb-spinner-container\">\n <div [style.border-left-color]=\"color\"\n [class.disabled]=\"disabled\"\n class=\"bb-spinner-loader\"\n aria-live=\"assertive\"\n role=\"alert\">\n {{ alt }}\n </div>\n <ng-content select=\"img\"></ng-content>\n</div>\n\n<!--\n The content of the spinner.\n\n This element contains the content of the spinner. The user\n can set the content inside the tag.\n-->\n<span class=\"bb-spinner-content\">\n <ng-content></ng-content>\n</span>\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"] }]
20
20
  }], propDecorators: { color: [{
@@ -7,9 +7,9 @@ export class BbTag {
7
7
  this.onClose = new EventEmitter();
8
8
  }
9
9
  }
10
- BbTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTag, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- BbTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbTag, selector: "bb-tag", outputs: { onClose: "onClose" }, host: { classAttribute: "bb-tag" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<button *ngIf=\"onClose?.observed\"\n (click)=\"onClose.emit()\"\n type=\"button\">\n Close\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 });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbTag, decorators: [{
10
+ BbTag.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbTag, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ BbTag.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: BbTag, selector: "bb-tag", outputs: { onClose: "onClose" }, host: { classAttribute: "bb-tag" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<button *ngIf=\"onClose?.observed\"\n (click)=\"onClose.emit()\"\n type=\"button\">\n Close\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 });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: BbTag, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'bb-tag', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: { 'class': 'bb-tag' }, template: "<ng-content></ng-content>\n\n<button *ngIf=\"onClose?.observed\"\n (click)=\"onClose.emit()\"\n type=\"button\">\n Close\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"] }]
15
15
  }], propDecorators: { onClose: [{
@@ -1,11 +1,7 @@
1
1
  export * from './lib/elements.module';
2
- export * from './lib/directives/template.directive';
3
- export * from './lib/directives/focus.directive';
4
- export * from './lib/directives/focus-trap.directive';
5
2
  export * from './lib/directives/form-submit.directive';
6
3
  export * from './lib/directives/form-submitter.directive';
7
4
  export * from './lib/directives/input.directive';
8
- export * from './lib/directives/autosize.directive';
9
5
  export * from './lib/directives/addon.directive';
10
6
  export * from './lib/pipes/file-size.pipe';
11
7
  export * from './lib/pipes/file-image.pipe';
@@ -24,4 +20,4 @@ export * from './lib/image-picker/image-picker.component';
24
20
  export * from './lib/date-picker/date-picker.component';
25
21
  export * from './lib/dropdown/dropdown.component';
26
22
  export * from './lib/elements.interfaces';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUVsRCxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9jdXMtdHJhcC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdHRlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvc2l6ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hZGRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmlsZS1pbWFnZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1jb250cm9sL2Zvcm0tY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1ncm91cC9mb3JtLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWcvdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWxlLXBpY2tlci9maWxlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW1hZ2UtcGlja2VyL2ltYWdlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzLmludGVyZmFjZXMnO1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFFbEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvcm0tc3VibWl0dGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2lucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2FkZG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9maWxlLXNpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9maWxlLWltYWdlLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvcmVsYXRpdmUtdGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWNvbnRyb2wvZm9ybS1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWdyb3VwL2Zvcm0tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhZy90YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpbGUtcGlja2VyL2ZpbGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMuaW50ZXJmYWNlcyc7XG4iXX0=