@bravobit/bb-foundation 0.26.2 → 0.27.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 (493) hide show
  1. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  2. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +1 -1
  3. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +1 -1
  4. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +1 -1
  5. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  6. package/controls/lib/control-error/control-error/control-error.component.d.ts +1 -1
  7. package/controls/lib/form-control/form-control/form-control.component.d.ts +1 -1
  8. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +1 -1
  9. package/controls/lib/form-control/form-control-input.directive.d.ts +1 -1
  10. package/controls/lib/radio/radio-button/radio-button.component.d.ts +1 -1
  11. package/controls/lib/radio/radio-group/radio-group.component.d.ts +1 -1
  12. package/controls/lib/toggle/toggle/toggle.component.d.ts +1 -1
  13. package/controls/lib/toggle/toggle-group/toggle-group.component.d.ts +1 -1
  14. package/dashboard/lib/dashboard/dashboard.component.d.ts +1 -1
  15. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  16. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +1 -1
  17. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +1 -1
  18. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +1 -1
  19. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  20. package/elements/lib/avatar/avatar.component.d.ts +1 -1
  21. package/elements/lib/button/button.component.d.ts +2 -2
  22. package/elements/lib/checkbox/checkbox.component.d.ts +1 -1
  23. package/elements/lib/date-picker/date-picker.component.d.ts +1 -1
  24. package/elements/lib/directives/input.directive.d.ts +2 -2
  25. package/elements/lib/dropdown/dropdown.component.d.ts +1 -1
  26. package/elements/lib/file-picker/file-picker.component.d.ts +2 -2
  27. package/elements/lib/form-control/form-control.component.d.ts +1 -1
  28. package/elements/lib/form-error/form-error.component.d.ts +1 -1
  29. package/elements/lib/form-group/form-group.component.d.ts +1 -1
  30. package/elements/lib/icon/icon.component.d.ts +1 -1
  31. package/elements/lib/image-picker/image-picker.component.d.ts +1 -1
  32. package/elements/lib/spinner/spinner.component.d.ts +1 -1
  33. package/esm2022/auth/lib/auth.interceptor.mjs +91 -0
  34. package/esm2022/auth/lib/auth.module.mjs +36 -0
  35. package/esm2022/auth/lib/auth.service.mjs +271 -0
  36. package/esm2022/auth/lib/directives/authenticated.directive.mjs +43 -0
  37. package/esm2022/auth/lib/guards/anonymous.guard.mjs +54 -0
  38. package/esm2022/auth/lib/guards/authenticated.guard.mjs +57 -0
  39. package/esm2022/collections/lib/collections.module.mjs +55 -0
  40. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +124 -0
  41. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +32 -0
  42. package/esm2022/collections/lib/components/collections.directive.mjs +47 -0
  43. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +179 -0
  44. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +69 -0
  45. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +21 -0
  46. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +64 -0
  47. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +48 -0
  48. package/esm2022/controls/lib/control-error/control-error.module.mjs +20 -0
  49. package/esm2022/controls/lib/controls.module.mjs +63 -0
  50. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +80 -0
  51. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +23 -0
  52. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +125 -0
  53. package/esm2022/controls/lib/form-control/form-control.module.mjs +35 -0
  54. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +76 -0
  55. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +169 -0
  56. package/esm2022/controls/lib/radio/radio.module.mjs +22 -0
  57. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +154 -0
  58. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +63 -0
  59. package/esm2022/controls/lib/toggle/toggle.module.mjs +21 -0
  60. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +58 -0
  61. package/{esm2020 → esm2022}/dashboard/lib/dashboard-header/dashboard-header.component.mjs +6 -5
  62. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +32 -0
  63. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +30 -0
  64. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +76 -0
  65. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +100 -0
  66. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +63 -0
  67. package/esm2022/dashboard/lib/dashboard.module.mjs +48 -0
  68. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +13 -0
  69. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +47 -0
  70. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +78 -0
  71. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +19 -0
  72. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +12 -0
  73. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +68 -0
  74. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +80 -0
  75. package/esm2022/dialog/lib/dialog.insertion.mjs +17 -0
  76. package/esm2022/dialog/lib/dialog.module.mjs +69 -0
  77. package/esm2022/dialog/lib/dialog.service.mjs +69 -0
  78. package/esm2022/elements/lib/avatar/avatar.component.mjs +150 -0
  79. package/esm2022/elements/lib/button/button.component.mjs +63 -0
  80. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +74 -0
  81. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +308 -0
  82. package/esm2022/elements/lib/directives/addon.directive.mjs +31 -0
  83. package/esm2022/elements/lib/directives/form-submit.directive.mjs +51 -0
  84. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +26 -0
  85. package/esm2022/elements/lib/directives/input.directive.mjs +138 -0
  86. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +102 -0
  87. package/esm2022/elements/lib/elements.module.mjs +178 -0
  88. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +237 -0
  89. package/esm2022/elements/lib/form-control/form-control.component.mjs +50 -0
  90. package/esm2022/elements/lib/form-error/form-error.component.mjs +124 -0
  91. package/esm2022/elements/lib/form-group/form-group.component.mjs +19 -0
  92. package/esm2022/elements/lib/icon/icon.component.mjs +103 -0
  93. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +107 -0
  94. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +44 -0
  95. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +29 -0
  96. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +97 -0
  97. package/esm2022/elements/lib/spinner/spinner.component.mjs +26 -0
  98. package/esm2022/elements/lib/tag/tag.component.mjs +19 -0
  99. package/esm2022/http/lib/http.module.mjs +44 -0
  100. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +51 -0
  101. package/esm2022/http/lib/interceptors/error.interceptor.mjs +33 -0
  102. package/esm2022/lib/core/services/clipboard.service.mjs +71 -0
  103. package/esm2022/lib/core/services/exif.service.mjs +164 -0
  104. package/esm2022/lib/core/services/file-loader.service.mjs +88 -0
  105. package/esm2022/lib/core/services/image-converter.service.mjs +124 -0
  106. package/esm2022/lib/core/services/languages.service.mjs +75 -0
  107. package/esm2022/lib/core/services/network.service.mjs +56 -0
  108. package/esm2022/lib/core/services/patch.service.mjs +64 -0
  109. package/esm2022/localize/lib/localize.module.mjs +82 -0
  110. package/esm2022/localize/lib/localize.pipe.mjs +47 -0
  111. package/esm2022/localize/lib/localize.service.mjs +186 -0
  112. package/{esm2020 → esm2022}/localize/lib/transforms/interpolate.transform.mjs +1 -1
  113. package/{esm2020 → esm2022}/localize/lib/transforms/reference.transform.mjs +1 -1
  114. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +89 -0
  115. package/esm2022/localize/lib/views/localize-template.directive.mjs +22 -0
  116. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +36 -0
  117. package/esm2022/masking/lib/directives/date-mask.directive.mjs +36 -0
  118. package/esm2022/masking/lib/directives/input-mask.directive.mjs +119 -0
  119. package/esm2022/masking/lib/masking.module.mjs +31 -0
  120. package/esm2022/masking/lib/masking.service.mjs +104 -0
  121. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +101 -0
  122. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +48 -0
  123. package/esm2022/notifications/lib/notifications.module.mjs +31 -0
  124. package/esm2022/notifications/lib/notifications.service.mjs +142 -0
  125. package/esm2022/permissions/lib/directives/permission.directive.mjs +89 -0
  126. package/esm2022/permissions/lib/guards/permission.guard.mjs +57 -0
  127. package/esm2022/permissions/lib/permissions.module.mjs +40 -0
  128. package/esm2022/permissions/lib/permissions.service.mjs +97 -0
  129. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +220 -0
  130. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +96 -0
  131. package/esm2022/recaptcha/lib/recaptcha.module.mjs +28 -0
  132. package/esm2022/storage/lib/storage.service.mjs +110 -0
  133. package/esm2022/table/lib/components/table/table.component.mjs +194 -0
  134. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +12 -0
  135. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +132 -0
  136. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +137 -0
  137. package/esm2022/table/lib/data/generic.data.mjs +82 -0
  138. package/esm2022/table/lib/table.module.mjs +43 -0
  139. package/esm2022/theming/lib/theming.directive.mjs +39 -0
  140. package/esm2022/theming/lib/theming.module.mjs +17 -0
  141. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +32 -0
  142. package/esm2022/tooltip/lib/tooltip.directive.mjs +141 -0
  143. package/esm2022/tooltip/lib/tooltip.module.mjs +32 -0
  144. package/esm2022/utils/lib/directives/autosize.directive.mjs +73 -0
  145. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +78 -0
  146. package/esm2022/utils/lib/directives/focus.directive.mjs +38 -0
  147. package/esm2022/utils/lib/directives/template.directive.mjs +29 -0
  148. package/esm2022/utils/lib/functions/parse-date.function.mjs +19 -0
  149. package/esm2022/utils/lib/utils.module.mjs +36 -0
  150. package/esm2022/utils/public_api.mjs +7 -0
  151. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-auth.mjs +19 -19
  152. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-auth.mjs.map +1 -1
  153. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-collections.mjs +38 -38
  154. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-collections.mjs.map +1 -1
  155. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-controls.mjs +83 -83
  156. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-controls.mjs.map +1 -1
  157. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dashboard.mjs +37 -37
  158. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  159. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dialog.mjs +46 -46
  160. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-dialog.mjs.map +1 -1
  161. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-elements.mjs +185 -185
  162. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -0
  163. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-http.mjs +10 -10
  164. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-http.mjs.map +1 -1
  165. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-localize.mjs +20 -20
  166. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-localize.mjs.map +1 -1
  167. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-masking.mjs +20 -20
  168. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-masking.mjs.map +1 -1
  169. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-notifications.mjs +13 -13
  170. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-notifications.mjs.map +1 -1
  171. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-permissions.mjs +13 -13
  172. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-permissions.mjs.map +1 -1
  173. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-recaptcha.mjs +16 -16
  174. package/{fesm2015 → fesm2022}/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  175. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-storage.mjs +3 -3
  176. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-storage.mjs.map +1 -1
  177. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-table.mjs +46 -36
  178. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -0
  179. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-theming.mjs +7 -7
  180. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-theming.mjs.map +1 -1
  181. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-tooltip.mjs +13 -13
  182. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  183. package/{fesm2020 → fesm2022}/bravobit-bb-foundation-utils.mjs +42 -23
  184. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -0
  185. package/{fesm2020 → fesm2022}/bravobit-bb-foundation.mjs +21 -21
  186. package/{fesm2020 → fesm2022}/bravobit-bb-foundation.mjs.map +1 -1
  187. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  188. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  189. package/masking/lib/directives/currency-mask.directive.d.ts +1 -1
  190. package/masking/lib/directives/date-mask.directive.d.ts +1 -1
  191. package/masking/lib/directives/input-mask.directive.d.ts +1 -1
  192. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  193. package/package.json +70 -112
  194. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  195. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +1 -1
  196. package/table/lib/components/table/table.component.d.ts +1 -1
  197. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +1 -1
  198. package/table/lib/components/table-pager/table-pager.component.d.ts +1 -1
  199. package/table/lib/data/generic.data.d.ts +2 -0
  200. package/theming/lib/theming.directive.d.ts +1 -1
  201. package/tooltip/lib/tooltip.directive.d.ts +1 -1
  202. package/utils/lib/directives/autosize.directive.d.ts +1 -1
  203. package/utils/lib/directives/template.directive.d.ts +1 -1
  204. package/utils/lib/functions/parse-date.function.d.ts +1 -0
  205. package/utils/public_api.d.ts +1 -0
  206. package/esm2020/auth/lib/auth.interceptor.mjs +0 -90
  207. package/esm2020/auth/lib/auth.module.mjs +0 -35
  208. package/esm2020/auth/lib/auth.service.mjs +0 -270
  209. package/esm2020/auth/lib/directives/authenticated.directive.mjs +0 -42
  210. package/esm2020/auth/lib/guards/anonymous.guard.mjs +0 -53
  211. package/esm2020/auth/lib/guards/authenticated.guard.mjs +0 -56
  212. package/esm2020/collections/lib/collections.module.mjs +0 -54
  213. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -123
  214. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -31
  215. package/esm2020/collections/lib/components/collections.directive.mjs +0 -43
  216. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +0 -178
  217. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +0 -68
  218. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +0 -20
  219. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +0 -63
  220. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +0 -47
  221. package/esm2020/controls/lib/control-error/control-error.module.mjs +0 -19
  222. package/esm2020/controls/lib/controls.module.mjs +0 -62
  223. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +0 -79
  224. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +0 -22
  225. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +0 -124
  226. package/esm2020/controls/lib/form-control/form-control.module.mjs +0 -34
  227. package/esm2020/controls/lib/radio/radio-button/radio-button.component.mjs +0 -75
  228. package/esm2020/controls/lib/radio/radio-group/radio-group.component.mjs +0 -168
  229. package/esm2020/controls/lib/radio/radio.module.mjs +0 -21
  230. package/esm2020/controls/lib/toggle/toggle/toggle.component.mjs +0 -153
  231. package/esm2020/controls/lib/toggle/toggle-group/toggle-group.component.mjs +0 -62
  232. package/esm2020/controls/lib/toggle/toggle.module.mjs +0 -20
  233. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +0 -57
  234. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -31
  235. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -29
  236. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  237. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -99
  238. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -62
  239. package/esm2020/dashboard/lib/dashboard.module.mjs +0 -47
  240. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  241. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -46
  242. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +0 -77
  243. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +0 -18
  244. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  245. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -67
  246. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -79
  247. package/esm2020/dialog/lib/dialog.insertion.mjs +0 -16
  248. package/esm2020/dialog/lib/dialog.module.mjs +0 -68
  249. package/esm2020/dialog/lib/dialog.service.mjs +0 -68
  250. package/esm2020/elements/lib/avatar/avatar.component.mjs +0 -149
  251. package/esm2020/elements/lib/button/button.component.mjs +0 -61
  252. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +0 -73
  253. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +0 -307
  254. package/esm2020/elements/lib/directives/addon.directive.mjs +0 -29
  255. package/esm2020/elements/lib/directives/form-submit.directive.mjs +0 -50
  256. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +0 -25
  257. package/esm2020/elements/lib/directives/input.directive.mjs +0 -136
  258. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +0 -100
  259. package/esm2020/elements/lib/elements.module.mjs +0 -177
  260. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +0 -236
  261. package/esm2020/elements/lib/form-control/form-control.component.mjs +0 -49
  262. package/esm2020/elements/lib/form-error/form-error.component.mjs +0 -123
  263. package/esm2020/elements/lib/form-group/form-group.component.mjs +0 -18
  264. package/esm2020/elements/lib/icon/icon.component.mjs +0 -102
  265. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +0 -106
  266. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +0 -43
  267. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +0 -28
  268. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +0 -96
  269. package/esm2020/elements/lib/spinner/spinner.component.mjs +0 -25
  270. package/esm2020/elements/lib/tag/tag.component.mjs +0 -18
  271. package/esm2020/http/lib/http.module.mjs +0 -43
  272. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +0 -50
  273. package/esm2020/http/lib/interceptors/error.interceptor.mjs +0 -32
  274. package/esm2020/lib/core/services/clipboard.service.mjs +0 -70
  275. package/esm2020/lib/core/services/exif.service.mjs +0 -163
  276. package/esm2020/lib/core/services/file-loader.service.mjs +0 -87
  277. package/esm2020/lib/core/services/image-converter.service.mjs +0 -123
  278. package/esm2020/lib/core/services/languages.service.mjs +0 -74
  279. package/esm2020/lib/core/services/network.service.mjs +0 -55
  280. package/esm2020/lib/core/services/patch.service.mjs +0 -63
  281. package/esm2020/localize/lib/localize.module.mjs +0 -81
  282. package/esm2020/localize/lib/localize.pipe.mjs +0 -46
  283. package/esm2020/localize/lib/localize.service.mjs +0 -185
  284. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +0 -88
  285. package/esm2020/localize/lib/views/localize-template.directive.mjs +0 -21
  286. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +0 -35
  287. package/esm2020/masking/lib/directives/date-mask.directive.mjs +0 -35
  288. package/esm2020/masking/lib/directives/input-mask.directive.mjs +0 -118
  289. package/esm2020/masking/lib/masking.module.mjs +0 -30
  290. package/esm2020/masking/lib/masking.service.mjs +0 -103
  291. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +0 -100
  292. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +0 -47
  293. package/esm2020/notifications/lib/notifications.module.mjs +0 -30
  294. package/esm2020/notifications/lib/notifications.service.mjs +0 -141
  295. package/esm2020/permissions/lib/directives/permission.directive.mjs +0 -88
  296. package/esm2020/permissions/lib/guards/permission.guard.mjs +0 -56
  297. package/esm2020/permissions/lib/permissions.module.mjs +0 -39
  298. package/esm2020/permissions/lib/permissions.service.mjs +0 -96
  299. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -219
  300. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +0 -95
  301. package/esm2020/recaptcha/lib/recaptcha.module.mjs +0 -27
  302. package/esm2020/storage/lib/storage.service.mjs +0 -109
  303. package/esm2020/table/lib/components/table/table.component.mjs +0 -191
  304. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  305. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -131
  306. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  307. package/esm2020/table/lib/data/generic.data.mjs +0 -72
  308. package/esm2020/table/lib/table.module.mjs +0 -42
  309. package/esm2020/theming/lib/theming.directive.mjs +0 -38
  310. package/esm2020/theming/lib/theming.module.mjs +0 -16
  311. package/esm2020/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -31
  312. package/esm2020/tooltip/lib/tooltip.directive.mjs +0 -140
  313. package/esm2020/tooltip/lib/tooltip.module.mjs +0 -31
  314. package/esm2020/utils/lib/directives/autosize.directive.mjs +0 -72
  315. package/esm2020/utils/lib/directives/focus-trap.directive.mjs +0 -77
  316. package/esm2020/utils/lib/directives/focus.directive.mjs +0 -37
  317. package/esm2020/utils/lib/directives/template.directive.mjs +0 -28
  318. package/esm2020/utils/lib/utils.module.mjs +0 -35
  319. package/esm2020/utils/public_api.mjs +0 -6
  320. package/fesm2015/bravobit-bb-foundation-auth.mjs +0 -851
  321. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +0 -1
  322. package/fesm2015/bravobit-bb-foundation-collections.mjs +0 -474
  323. package/fesm2015/bravobit-bb-foundation-collections.mjs.map +0 -1
  324. package/fesm2015/bravobit-bb-foundation-controls.mjs +0 -1217
  325. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +0 -1
  326. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +0 -417
  327. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +0 -1
  328. package/fesm2015/bravobit-bb-foundation-dialog.mjs +0 -512
  329. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +0 -1
  330. package/fesm2015/bravobit-bb-foundation-elements.mjs +0 -1883
  331. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +0 -1
  332. package/fesm2015/bravobit-bb-foundation-http.mjs +0 -176
  333. package/fesm2015/bravobit-bb-foundation-http.mjs.map +0 -1
  334. package/fesm2015/bravobit-bb-foundation-localize.mjs +0 -835
  335. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +0 -1
  336. package/fesm2015/bravobit-bb-foundation-masking.mjs +0 -334
  337. package/fesm2015/bravobit-bb-foundation-masking.mjs.map +0 -1
  338. package/fesm2015/bravobit-bb-foundation-notifications.mjs +0 -357
  339. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +0 -1
  340. package/fesm2015/bravobit-bb-foundation-permissions.mjs +0 -310
  341. package/fesm2015/bravobit-bb-foundation-permissions.mjs.map +0 -1
  342. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +0 -349
  343. package/fesm2015/bravobit-bb-foundation-rxjs.mjs +0 -22
  344. package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +0 -1
  345. package/fesm2015/bravobit-bb-foundation-storage.mjs +0 -418
  346. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +0 -1
  347. package/fesm2015/bravobit-bb-foundation-table.mjs +0 -603
  348. package/fesm2015/bravobit-bb-foundation-table.mjs.map +0 -1
  349. package/fesm2015/bravobit-bb-foundation-theming.mjs +0 -382
  350. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +0 -1
  351. package/fesm2015/bravobit-bb-foundation-tooltip.mjs +0 -210
  352. package/fesm2015/bravobit-bb-foundation-tooltip.mjs.map +0 -1
  353. package/fesm2015/bravobit-bb-foundation-utils.mjs +0 -246
  354. package/fesm2015/bravobit-bb-foundation-utils.mjs.map +0 -1
  355. package/fesm2015/bravobit-bb-foundation.mjs +0 -929
  356. package/fesm2015/bravobit-bb-foundation.mjs.map +0 -1
  357. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +0 -1
  358. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +0 -1
  359. package/fesm2020/bravobit-bb-foundation-table.mjs.map +0 -1
  360. package/fesm2020/bravobit-bb-foundation-utils.mjs.map +0 -1
  361. /package/{esm2020 → esm2022}/auth/bravobit-bb-foundation-auth.mjs +0 -0
  362. /package/{esm2020 → esm2022}/auth/lib/auth.session.mjs +0 -0
  363. /package/{esm2020 → esm2022}/auth/lib/directives/abstract.directive.mjs +0 -0
  364. /package/{esm2020 → esm2022}/auth/lib/helpers/jwt.helper.mjs +0 -0
  365. /package/{esm2020 → esm2022}/auth/lib/interfaces/config.interface.mjs +0 -0
  366. /package/{esm2020 → esm2022}/auth/lib/interfaces/provider.interface.mjs +0 -0
  367. /package/{esm2020 → esm2022}/auth/lib/interfaces/token.interface.mjs +0 -0
  368. /package/{esm2020 → esm2022}/auth/lib/providers/email.provider.mjs +0 -0
  369. /package/{esm2020 → esm2022}/auth/lib/providers/verify.provider.mjs +0 -0
  370. /package/{esm2020 → esm2022}/auth/lib/tokens/use-authorization.token.mjs +0 -0
  371. /package/{esm2020 → esm2022}/auth/public_api.mjs +0 -0
  372. /package/{esm2020 → esm2022}/bravobit-bb-foundation.mjs +0 -0
  373. /package/{esm2020 → esm2022}/collections/bravobit-bb-foundation-collections.mjs +0 -0
  374. /package/{esm2020 → esm2022}/collections/lib/collection.mjs +0 -0
  375. /package/{esm2020 → esm2022}/collections/lib/interfaces/collection.interface.mjs +0 -0
  376. /package/{esm2020 → esm2022}/collections/lib/providers/api-collection.provider.mjs +0 -0
  377. /package/{esm2020 → esm2022}/collections/lib/providers/collection.provider.mjs +0 -0
  378. /package/{esm2020 → esm2022}/collections/lib/providers/local-collection.provider.mjs +0 -0
  379. /package/{esm2020 → esm2022}/collections/public_api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/controls/bravobit-bb-foundation-controls.mjs +0 -0
  381. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error/control-error.animation.mjs +0 -0
  382. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.defaults.mjs +0 -0
  383. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.interface.mjs +0 -0
  384. /package/{esm2020 → esm2022}/controls/lib/control-error/control-error.utils.mjs +0 -0
  385. /package/{esm2020 → esm2022}/controls/lib/controls.interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/controls/public_api.mjs +0 -0
  387. /package/{esm2020 → esm2022}/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -0
  388. /package/{esm2020 → esm2022}/dashboard/public_api.mjs +0 -0
  389. /package/{esm2020 → esm2022}/dialog/bravobit-bb-foundation-dialog.mjs +0 -0
  390. /package/{esm2020 → esm2022}/dialog/lib/dialog-container/dialog-container.animations.mjs +0 -0
  391. /package/{esm2020 → esm2022}/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +0 -0
  392. /package/{esm2020 → esm2022}/dialog/lib/dialog.interfaces.mjs +0 -0
  393. /package/{esm2020 → esm2022}/dialog/lib/dialog.ref.mjs +0 -0
  394. /package/{esm2020 → esm2022}/dialog/public_api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/elements/bravobit-bb-foundation-elements.mjs +0 -0
  396. /package/{esm2020 → esm2022}/elements/lib/elements.interfaces.mjs +0 -0
  397. /package/{esm2020 → esm2022}/elements/public_api.mjs +0 -0
  398. /package/{esm2020 → esm2022}/http/bravobit-bb-foundation-http.mjs +0 -0
  399. /package/{esm2020 → esm2022}/http/lib/classes/http.config.mjs +0 -0
  400. /package/{esm2020 → esm2022}/http/lib/classes/http.error.mjs +0 -0
  401. /package/{esm2020 → esm2022}/http/lib/http.interfaces.mjs +0 -0
  402. /package/{esm2020 → esm2022}/http/public_api.mjs +0 -0
  403. /package/{esm2020 → esm2022}/lib/core/functions/date.utils.mjs +0 -0
  404. /package/{esm2020 → esm2022}/lib/core/functions/password.utils.mjs +0 -0
  405. /package/{esm2020 → esm2022}/lib/core/miscellaneous/regex.mjs +0 -0
  406. /package/{esm2020 → esm2022}/lib/core/miscellaneous/validator.mjs +0 -0
  407. /package/{esm2020 → esm2022}/lib/core/mixins/can-disable.mjs +0 -0
  408. /package/{esm2020 → esm2022}/lib/core/mixins/can-hide-errors.mjs +0 -0
  409. /package/{esm2020 → esm2022}/lib/core/mixins/can-load.mjs +0 -0
  410. /package/{esm2020 → esm2022}/lib/core/mixins/constructor.mjs +0 -0
  411. /package/{esm2020 → esm2022}/lib/core/mixins/has-error.mjs +0 -0
  412. /package/{esm2020 → esm2022}/lib/core/mixins/is-focused.mjs +0 -0
  413. /package/{esm2020 → esm2022}/lib/core/mixins/is-grouped.mjs +0 -0
  414. /package/{esm2020 → esm2022}/lib/core/mixins/is-readonly.mjs +0 -0
  415. /package/{esm2020 → esm2022}/lib/core/mixins/is-required.mjs +0 -0
  416. /package/{esm2020 → esm2022}/lib/core/tokens/accept-language.token.mjs +0 -0
  417. /package/{esm2020 → esm2022}/lib/core/tokens/base-url.token.mjs +0 -0
  418. /package/{esm2020 → esm2022}/lib/core/tokens/cookie.token.mjs +0 -0
  419. /package/{esm2020 → esm2022}/lib/core/tokens/location.token.mjs +0 -0
  420. /package/{esm2020 → esm2022}/lib/core/tokens/navigator.token.mjs +0 -0
  421. /package/{esm2020 → esm2022}/lib/core/tokens/window.token.mjs +0 -0
  422. /package/{esm2020 → esm2022}/localize/bravobit-bb-foundation-localize.mjs +0 -0
  423. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.class.mjs +0 -0
  424. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.context.mjs +0 -0
  425. /package/{esm2020 → esm2022}/localize/lib/dictionary/dictionary.data.mjs +0 -0
  426. /package/{esm2020 → esm2022}/localize/lib/functions/date.function.mjs +0 -0
  427. /package/{esm2020 → esm2022}/localize/lib/functions/lowercase.function.mjs +0 -0
  428. /package/{esm2020 → esm2022}/localize/lib/functions/uppercase.function.mjs +0 -0
  429. /package/{esm2020 → esm2022}/localize/lib/handlers/missing.handler.mjs +0 -0
  430. /package/{esm2020 → esm2022}/localize/lib/interfaces/config.interfaces.mjs +0 -0
  431. /package/{esm2020 → esm2022}/localize/lib/interfaces/functions.interfaces.mjs +0 -0
  432. /package/{esm2020 → esm2022}/localize/lib/interfaces/handlers.interfaces.mjs +0 -0
  433. /package/{esm2020 → esm2022}/localize/lib/interfaces/options.interfaces.mjs +0 -0
  434. /package/{esm2020 → esm2022}/localize/lib/interfaces/transforms.interfaces.mjs +0 -0
  435. /package/{esm2020 → esm2022}/localize/lib/locale.token.mjs +0 -0
  436. /package/{esm2020 → esm2022}/localize/lib/localizations/dutch.localization.mjs +0 -0
  437. /package/{esm2020 → esm2022}/localize/lib/localizations/english.localization.mjs +0 -0
  438. /package/{esm2020 → esm2022}/localize/lib/transforms/abstract.transform.mjs +0 -0
  439. /package/{esm2020 → esm2022}/localize/public_api.mjs +0 -0
  440. /package/{esm2020 → esm2022}/masking/bravobit-bb-foundation-masking.mjs +0 -0
  441. /package/{esm2020 → esm2022}/masking/lib/input-mask.interface.mjs +0 -0
  442. /package/{esm2020 → esm2022}/masking/public_api.mjs +0 -0
  443. /package/{esm2020 → esm2022}/notifications/bravobit-bb-foundation-notifications.mjs +0 -0
  444. /package/{esm2020 → esm2022}/notifications/lib/notifications.animations.mjs +0 -0
  445. /package/{esm2020 → esm2022}/notifications/lib/notifications.interfaces.mjs +0 -0
  446. /package/{esm2020 → esm2022}/notifications/public_api.mjs +0 -0
  447. /package/{esm2020 → esm2022}/permissions/bravobit-bb-foundation-permissions.mjs +0 -0
  448. /package/{esm2020 → esm2022}/permissions/lib/handlers/abstract.handler.mjs +0 -0
  449. /package/{esm2020 → esm2022}/permissions/lib/handlers/local.handler.mjs +0 -0
  450. /package/{esm2020 → esm2022}/permissions/lib/permissions.interface.mjs +0 -0
  451. /package/{esm2020 → esm2022}/permissions/public_api.mjs +0 -0
  452. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
  453. /package/{esm2020 → esm2022}/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -0
  454. /package/{esm2020 → esm2022}/recaptcha/lib/recaptcha.interface.mjs +0 -0
  455. /package/{esm2020 → esm2022}/recaptcha/public_api.mjs +0 -0
  456. /package/{esm2020 → esm2022}/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -0
  457. /package/{esm2020 → esm2022}/rxjs/lib/observables/get-control-value.observable.mjs +0 -0
  458. /package/{esm2020 → esm2022}/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -0
  459. /package/{esm2020 → esm2022}/rxjs/lib/operators/filter-nil.operator.mjs +0 -0
  460. /package/{esm2020 → esm2022}/rxjs/public_api.mjs +0 -0
  461. /package/{esm2020 → esm2022}/storage/bravobit-bb-foundation-storage.mjs +0 -0
  462. /package/{esm2020 → esm2022}/storage/lib/interfaces/attributes.interface.mjs +0 -0
  463. /package/{esm2020 → esm2022}/storage/lib/interfaces/memory.interface.mjs +0 -0
  464. /package/{esm2020 → esm2022}/storage/lib/interfaces/strategy.interface.mjs +0 -0
  465. /package/{esm2020 → esm2022}/storage/lib/strategies/cookie-storage.strategy.mjs +0 -0
  466. /package/{esm2020 → esm2022}/storage/lib/strategies/memory-storage.strategy.mjs +0 -0
  467. /package/{esm2020 → esm2022}/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -0
  468. /package/{esm2020 → esm2022}/storage/public_api.mjs +0 -0
  469. /package/{esm2020 → esm2022}/table/bravobit-bb-foundation-table.mjs +0 -0
  470. /package/{esm2020 → esm2022}/table/lib/data/datasource.data.mjs +0 -0
  471. /package/{esm2020 → esm2022}/table/lib/interfaces/datasource.interface.mjs +0 -0
  472. /package/{esm2020 → esm2022}/table/lib/interfaces/table.interfaces.mjs +0 -0
  473. /package/{esm2020 → esm2022}/table/public_api.mjs +0 -0
  474. /package/{esm2020 → esm2022}/theming/bravobit-bb-foundation-theming.mjs +0 -0
  475. /package/{esm2020 → esm2022}/theming/lib/themes/checkbox-group.theme.mjs +0 -0
  476. /package/{esm2020 → esm2022}/theming/lib/themes/checkbox.theme.mjs +0 -0
  477. /package/{esm2020 → esm2022}/theming/lib/themes/control-error.theme.mjs +0 -0
  478. /package/{esm2020 → esm2022}/theming/lib/themes/form-control-addon.theme.mjs +0 -0
  479. /package/{esm2020 → esm2022}/theming/lib/themes/form-control.theme.mjs +0 -0
  480. /package/{esm2020 → esm2022}/theming/lib/themes/radio-button.theme.mjs +0 -0
  481. /package/{esm2020 → esm2022}/theming/lib/themes/radio-group.theme.mjs +0 -0
  482. /package/{esm2020 → esm2022}/theming/lib/themes/toggle-group.theme.mjs +0 -0
  483. /package/{esm2020 → esm2022}/theming/lib/themes/toggle.theme.mjs +0 -0
  484. /package/{esm2020 → esm2022}/theming/lib/theming.data.mjs +0 -0
  485. /package/{esm2020 → esm2022}/theming/lib/theming.interface.mjs +0 -0
  486. /package/{esm2020 → esm2022}/theming/lib/utils/theming.variable.mjs +0 -0
  487. /package/{esm2020 → esm2022}/theming/public_api.mjs +0 -0
  488. /package/{esm2020 → esm2022}/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -0
  489. /package/{esm2020 → esm2022}/tooltip/lib/tooltip.interfaces.mjs +0 -0
  490. /package/{esm2020 → esm2022}/tooltip/public_api.mjs +0 -0
  491. /package/{esm2020 → esm2022}/utils/bravobit-bb-foundation-utils.mjs +0 -0
  492. /package/{fesm2020 → fesm2022}/bravobit-bb-foundation-rxjs.mjs +0 -0
  493. /package/{fesm2020 → fesm2022}/bravobit-bb-foundation-rxjs.mjs.map +0 -0
@@ -0,0 +1,103 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';
2
+ import { ELEMENTS_ICONS } from '../elements.interfaces';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ class BbIcon {
8
+ set src(newValue) {
9
+ this.state$.next(this.convert(newValue));
10
+ this._src = newValue;
11
+ }
12
+ get src() {
13
+ return this._src;
14
+ }
15
+ set ariaHidden(newValue) {
16
+ this._ariaHidden = coerceBooleanProperty(newValue);
17
+ }
18
+ get ariaHidden() {
19
+ return this._ariaHidden;
20
+ }
21
+ constructor(_registry) {
22
+ this._registry = _registry;
23
+ // Data.
24
+ this._src = null;
25
+ // State.
26
+ this.state$ = new BehaviorSubject(null);
27
+ this.alt = null;
28
+ this.size = 24;
29
+ this._ariaHidden = true;
30
+ this.warn = (content) => {
31
+ return console && console.warn && console.warn(content);
32
+ };
33
+ }
34
+ convert(src) {
35
+ const [namespace, value] = (src || '').split(':');
36
+ const onError = () => {
37
+ this.warn(`ElementsModule: The icon with src "${src}" could not be rendered correctly; Did you put a correct src attribute?`);
38
+ return { type: 'unknown' };
39
+ };
40
+ if (!namespace || !value || !this._registry) {
41
+ return onError();
42
+ }
43
+ // Try to find a image icon.
44
+ const imageIcon = this.findImageIcon(namespace, value);
45
+ if (imageIcon) {
46
+ return imageIcon;
47
+ }
48
+ // Try to find a font icon.
49
+ const fontIcon = this.findFontIcon(namespace, value);
50
+ if (fontIcon) {
51
+ return fontIcon;
52
+ }
53
+ // Return the on error function.
54
+ return onError();
55
+ }
56
+ findImageIcon(namespace, value) {
57
+ const data = this._registry.find(item => item['namespace'] === namespace && item['name'] === value);
58
+ if (!data) {
59
+ return null;
60
+ }
61
+ return { type: data['type'], src: data['src'] };
62
+ }
63
+ findFontIcon(namespace, content) {
64
+ const data = this._registry.find(item => item['namespace'] === namespace);
65
+ if (!data) {
66
+ return null;
67
+ }
68
+ const uses = data['uses'];
69
+ if (uses === 'data-attribute') {
70
+ return { type: data['type'], className: data['className'], attribute: content };
71
+ }
72
+ return { type: data['type'], className: data['className'], content };
73
+ }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbIcon, deps: [{ token: ELEMENTS_ICONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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 }); }
76
+ }
77
+ export { BbIcon };
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbIcon, decorators: [{
79
+ type: Component,
80
+ args: [{ selector: 'bb-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
81
+ 'class': 'bb-icon',
82
+ '[attr.aria-hidden]': 'ariaHidden',
83
+ '[style.width.px]': 'size',
84
+ '[style.height.px]': 'size',
85
+ '[style.min-width.px]': 'size',
86
+ '[style.min-height.px]': 'size',
87
+ '[style.font-size.px]': 'size'
88
+ }, preserveWhitespaces: false, 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"] }]
89
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
90
+ type: Optional
91
+ }, {
92
+ type: Inject,
93
+ args: [ELEMENTS_ICONS]
94
+ }] }]; }, propDecorators: { alt: [{
95
+ type: Input
96
+ }], size: [{
97
+ type: Input
98
+ }], src: [{
99
+ type: Input
100
+ }], ariaHidden: [{
101
+ type: Input
102
+ }] } });
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsY0FBYyxFQUFlLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7O0FBRXJDLE1BaUJhLE1BQU07SUFXZixJQUNJLEdBQUcsQ0FBQyxRQUF1QjtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFJRCxZQUF3RCxTQUF5QjtRQUF6QixjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQTlC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USxNQUFNLGtCQWdDaUIsY0FBYztrR0FoQ3JDLE1BQU0sa1dDdEJuQixvZ0JBZUE7O1NET2EsTUFBTTsyRkFBTixNQUFNO2tCQWpCbEIsU0FBUzsrQkFDSSxTQUFTLG1CQUdGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLFNBQVM7d0JBQ2xCLG9CQUFvQixFQUFFLFlBQVk7d0JBQ2xDLGtCQUFrQixFQUFFLE1BQU07d0JBQzFCLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLHNCQUFzQixFQUFFLE1BQU07d0JBQzlCLHVCQUF1QixFQUFFLE1BQU07d0JBQy9CLHNCQUFzQixFQUFFLE1BQU07cUJBQ2pDLHVCQUNvQixLQUFLOzswQkFrQ2IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxjQUFjOzRDQXhCckMsR0FBRztzQkFBWCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFHRixHQUFHO3NCQUROLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTEVNRU5UU19JQ09OUywgRWxlbWVudHNJY29ufSBmcm9tICcuLi9lbGVtZW50cy5pbnRlcmZhY2VzJztcbmltcG9ydCB7Y29lcmNlQm9vbGVhblByb3BlcnR5fSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWljb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pY29uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pY29uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1pY29uJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtaGlkZGVuXSc6ICdhcmlhSGlkZGVuJyxcbiAgICAgICAgJ1tzdHlsZS53aWR0aC5weF0nOiAnc2l6ZScsXG4gICAgICAgICdbc3R5bGUuaGVpZ2h0LnB4XSc6ICdzaXplJyxcbiAgICAgICAgJ1tzdHlsZS5taW4td2lkdGgucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLm1pbi1oZWlnaHQucHhdJzogJ3NpemUnLFxuICAgICAgICAnW3N0eWxlLmZvbnQtc2l6ZS5weF0nOiAnc2l6ZSdcbiAgICB9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiSWNvbiB7XG5cbiAgICAvLyBEYXRhLlxuICAgIHByaXZhdGUgX3NyYzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBzdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG5cbiAgICBASW5wdXQoKSBhbHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHNpemU6IG51bWJlciA9IDI0O1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgc3JjKG5ld1ZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuc3RhdGUkLm5leHQodGhpcy5jb252ZXJ0KG5ld1ZhbHVlKSk7XG4gICAgICAgIHRoaXMuX3NyYyA9IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIGdldCBzcmMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zcmM7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgYXJpYUhpZGRlbihuZXdWYWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9hcmlhSGlkZGVuID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgYXJpYUhpZGRlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FyaWFIaWRkZW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEVMRU1FTlRTX0lDT05TKSBwcml2YXRlIF9yZWdpc3RyeTogRWxlbWVudHNJY29uW10pIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnQoc3JjOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lc3BhY2UsIHZhbHVlXSA9IChzcmMgfHwgJycpLnNwbGl0KCc6Jyk7XG5cbiAgICAgICAgY29uc3Qgb25FcnJvciA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMud2FybihgRWxlbWVudHNNb2R1bGU6IFRoZSBpY29uIHdpdGggc3JjIFwiJHtzcmN9XCIgY291bGQgbm90IGJlIHJlbmRlcmVkIGNvcnJlY3RseTsgRGlkIHlvdSBwdXQgYSBjb3JyZWN0IHNyYyBhdHRyaWJ1dGU/YCk7XG4gICAgICAgICAgICByZXR1cm4ge3R5cGU6ICd1bmtub3duJ307XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFuYW1lc3BhY2UgfHwgIXZhbHVlIHx8ICF0aGlzLl9yZWdpc3RyeSkge1xuICAgICAgICAgICAgcmV0dXJuIG9uRXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRyeSB0byBmaW5kIGEgaW1hZ2UgaWNvbi5cbiAgICAgICAgY29uc3QgaW1hZ2VJY29uID0gdGhpcy5maW5kSW1hZ2VJY29uKG5hbWVzcGFjZSwgdmFsdWUpO1xuICAgICAgICBpZiAoaW1hZ2VJY29uKSB7XG4gICAgICAgICAgICByZXR1cm4gaW1hZ2VJY29uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYSBmb250IGljb24uXG4gICAgICAgIGNvbnN0IGZvbnRJY29uID0gdGhpcy5maW5kRm9udEljb24obmFtZXNwYWNlLCB2YWx1ZSk7XG4gICAgICAgIGlmIChmb250SWNvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZvbnRJY29uO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBvbiBlcnJvciBmdW5jdGlvbi5cbiAgICAgICAgcmV0dXJuIG9uRXJyb3IoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRJbWFnZUljb24obmFtZXNwYWNlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuX3JlZ2lzdHJ5LmZpbmQoaXRlbSA9PiBpdGVtWyduYW1lc3BhY2UnXSA9PT0gbmFtZXNwYWNlICYmIGl0ZW1bJ25hbWUnXSA9PT0gdmFsdWUpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge3R5cGU6IGRhdGFbJ3R5cGUnXSwgc3JjOiBkYXRhWydzcmMnXX07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kRm9udEljb24obmFtZXNwYWNlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5fcmVnaXN0cnkuZmluZChpdGVtID0+IGl0ZW1bJ25hbWVzcGFjZSddID09PSBuYW1lc3BhY2UpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB1c2VzID0gZGF0YVsndXNlcyddO1xuICAgICAgICBpZiAodXNlcyA9PT0gJ2RhdGEtYXR0cmlidXRlJykge1xuICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiBkYXRhWyd0eXBlJ10sIGNsYXNzTmFtZTogZGF0YVsnY2xhc3NOYW1lJ10sIGF0dHJpYnV0ZTogY29udGVudH07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge3R5cGU6IGRhdGFbJ3R5cGUnXSwgY2xhc3NOYW1lOiBkYXRhWydjbGFzc05hbWUnXSwgY29udGVudH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3YXJuID0gKGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICByZXR1cm4gY29uc29sZSAmJiBjb25zb2xlLndhcm4gJiYgY29uc29sZS53YXJuKGNvbnRlbnQpO1xuICAgIH07XG5cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZSQgfCBhc3luYyBhcyBkYXRhXCJcbiAgICAgICAgICAgICAgW25nU3dpdGNoXT1cImRhdGE/LnR5cGVcIj5cbiAgICA8aSAqbmdTd2l0Y2hDYXNlPVwiJ2ZvbnQnXCJcbiAgICAgICBbYXR0ci5kYXRhLWljb25dPVwiZGF0YT8uYXR0cmlidXRlXCJcbiAgICAgICBbY2xhc3NdPVwiZGF0YT8uY2xhc3NOYW1lXCI+XG4gICAgICAgIHt7IGRhdGE/LmNvbnRlbnQgfX1cbiAgICA8L2k+XG4gICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiXG4gICAgICAgICBbc3JjXT1cImRhdGE/LnNyY1wiXG4gICAgICAgICBbYWx0XT1cImFsdFwiPlxuICAgIDxzdmcgKm5nU3dpdGNoQ2FzZT1cIid1bmtub3duJ1wiXG4gICAgICAgICB2aWV3Qm94PVwiMCAwIDEgMVwiPlxuICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGZpbGw9XCIjYzVjNWM1XCI+PC9yZWN0PlxuICAgIDwvc3ZnPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,107 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { mixinDisabled, mixinGrouped } from '@bravobit/bb-foundation';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { map } from 'rxjs/operators';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@bravobit/bb-foundation";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "../button/button.component";
10
+ class BbImagePickerBase {
11
+ }
12
+ const BbImagePickerMixinBase = mixinDisabled(mixinGrouped(BbImagePickerBase));
13
+ class BbImagePicker extends BbImagePickerMixinBase {
14
+ constructor(_converter) {
15
+ super();
16
+ this._converter = _converter;
17
+ // Inputs.
18
+ this.label = null;
19
+ this.placeholder = null;
20
+ this.styleDimensions = null;
21
+ this.cropDimensions = null;
22
+ // Form.
23
+ this._value$ = new BehaviorSubject(null);
24
+ this.valueChange = new EventEmitter();
25
+ this.onTouchedCallback = () => {
26
+ };
27
+ this.onChangeCallback = () => {
28
+ };
29
+ }
30
+ get value() {
31
+ return this._value$.getValue();
32
+ }
33
+ set value(value) {
34
+ this._value$.next(value);
35
+ this.valueChange.emit(value);
36
+ }
37
+ get image() {
38
+ return this._value$.pipe(map(value => value || this.placeholder), map(value => value ? `url(${value})` : null));
39
+ }
40
+ async onFileChange(event) {
41
+ // Grab the file from the event.
42
+ const file = event.target.files[0];
43
+ // Check if the file exists.
44
+ if (!file || this.disabled) {
45
+ return;
46
+ }
47
+ try {
48
+ this.value = await this._converter.toDataUri(file, this.cropDimensions);
49
+ }
50
+ catch (error) {
51
+ this.value = null;
52
+ }
53
+ this.onChangeCallback(this.value);
54
+ if (this.fileInput && this.fileInput.nativeElement) {
55
+ this.fileInput.nativeElement.value = '';
56
+ }
57
+ }
58
+ openFilePicker() {
59
+ if (this.disabled) {
60
+ return;
61
+ }
62
+ // Execute a click on the file input.
63
+ this.fileInput
64
+ && this.fileInput.nativeElement
65
+ && this.fileInput.nativeElement.click
66
+ && this.fileInput.nativeElement.click();
67
+ }
68
+ writeValue(value) {
69
+ this.value = value;
70
+ }
71
+ registerOnChange(method) {
72
+ this.onChangeCallback = method;
73
+ }
74
+ registerOnTouched(method) {
75
+ this.onTouchedCallback = method;
76
+ }
77
+ setDisabledState(isDisabled) {
78
+ this.disabled = isDisabled;
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbImagePicker, deps: [{ token: i1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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 }); }
82
+ }
83
+ export { BbImagePicker };
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbImagePicker, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'bb-image-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
87
+ 'class': 'bb-image-picker',
88
+ '[class.disabled]': 'disabled',
89
+ '[class.grouped]': 'grouped'
90
+ }, inputs: ['grouped', 'disabled'], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbImagePicker), multi: true }], preserveWhitespaces: false, 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"] }]
91
+ }], ctorParameters: function () { return [{ type: i1.ImageConverter }]; }, propDecorators: { fileInput: [{
92
+ type: ViewChild,
93
+ args: ['fileInput', { static: true }]
94
+ }], label: [{
95
+ type: Input
96
+ }], placeholder: [{
97
+ type: Input
98
+ }], styleDimensions: [{
99
+ type: Input
100
+ }], cropDimensions: [{
101
+ type: Input
102
+ }], value: [{
103
+ type: Input
104
+ }], valueChange: [{
105
+ type: Output
106
+ }] } });
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxhQUFhLEVBRWIsWUFBWSxFQUNmLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUVuQyxNQUFNLGlCQUFpQjtDQUN0QjtBQUVELE1BQU0sc0JBQXNCLEdBR3RCLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBRXJELE1BZWEsYUFBYyxTQUFRLHNCQUFzQjtJQWNyRCxZQUFvQixVQUEwQjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBVDlDLFVBQVU7UUFDRCxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsb0JBQWUsR0FBNkMsSUFBSSxDQUFDO1FBQ2pFLG1CQUFjLEdBQTZDLElBQUks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QUssRUFBRSxJQUFJLEVBQUMsQ0FBQyx1S0MxQ3hHLHVvQkFxQkE7O1NEd0JhLGFBQWE7MkZBQWIsYUFBYTtrQkFmekIsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixrQkFBa0IsRUFBRSxVQUFVO3dCQUM5QixpQkFBaUIsRUFBRSxTQUFTO3FCQUMvQixVQUNPLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxhQUNwQixDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyx1QkFDL0UsS0FBSztxR0FLYyxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBRzdCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSW1hZ2VDb252ZXJ0ZXIsXG4gICAgQ2FuRGlzYWJsZUNvbnN0cnVjdG9yLFxuICAgIG1peGluRGlzYWJsZWQsXG4gICAgSXNHcm91cGVkQ29uc3RydWN0b3IsXG4gICAgbWl4aW5Hcm91cGVkXG59IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5jbGFzcyBCYkltYWdlUGlja2VyQmFzZSB7XG59XG5cbmNvbnN0IEJiSW1hZ2VQaWNrZXJNaXhpbkJhc2U6IElzR3JvdXBlZENvbnN0cnVjdG9yXG4gICAgJiBDYW5EaXNhYmxlQ29uc3RydWN0b3JcbiAgICAmIHR5cGVvZiBCYkltYWdlUGlja2VyQmFzZVxuICAgID0gbWl4aW5EaXNhYmxlZChtaXhpbkdyb3VwZWQoQmJJbWFnZVBpY2tlckJhc2UpKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1pbWFnZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ltYWdlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItaW1hZ2UtcGlja2VyJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmdyb3VwZWRdJzogJ2dyb3VwZWQnXG4gICAgfSxcbiAgICBpbnB1dHM6IFsnZ3JvdXBlZCcsICdkaXNhYmxlZCddLFxuICAgIHByb3ZpZGVyczogW3twcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmJJbWFnZVBpY2tlciksIG11bHRpOiB0cnVlfV0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQmJJbWFnZVBpY2tlciBleHRlbmRzIEJiSW1hZ2VQaWNrZXJNaXhpbkJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgZmlsZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgc3R5bGVEaW1lbnNpb25zOiB7IHdpZHRoOiBzdHJpbmcsIGhlaWdodDogc3RyaW5nIH0gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBjcm9wRGltZW5zaW9uczogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvLyBGb3JtLlxuICAgIHByaXZhdGUgX3ZhbHVlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jb252ZXJ0ZXI6IEltYWdlQ29udmVydGVyKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUkLm5leHQodmFsdWUpO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBpbWFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5waXBlKFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIHx8IHRoaXMucGxhY2Vob2xkZXIpLFxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlID8gYHVybCgke3ZhbHVlfSlgIDogbnVsbClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBhc3luYyBvbkZpbGVDaGFuZ2UoZXZlbnQpIHtcbiAgICAgICAgLy8gR3JhYiB0aGUgZmlsZSBmcm9tIHRoZSBldmVudC5cbiAgICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXTtcblxuICAgICAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBleGlzdHMuXG4gICAgICAgIGlmICghZmlsZSB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGF3YWl0IHRoaXMuX2NvbnZlcnRlci50b0RhdGFVcmkoZmlsZSwgdGhpcy5jcm9wRGltZW5zaW9ucyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5maWxlSW5wdXQgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkZpbGVQaWNrZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGVjdXRlIGEgY2xpY2sgb24gdGhlIGZpbGUgaW5wdXQuXG4gICAgICAgIHRoaXMuZmlsZUlucHV0XG4gICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGlja1xuICAgICAgICAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIH07XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG1ldGhvZDogKF86IHN0cmluZyB8IG51bGwpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gbWV0aG9kO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKG1ldGhvZDogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gbWV0aG9kO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbn1cbiIsIjwhLS0gVGhlIGlucHV0IHRoYXQgY2FuIG9wZW4gdGhlIGZpbGUgcGlja2VyLiAtLT5cbjxpbnB1dCAjZmlsZUlucHV0XG4gICAgICAgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgY2xhc3M9XCJiYi1pbWFnZS1waWNrZXItaW5wdXRcIlxuICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICBhY2NlcHQ9XCJpbWFnZS8qXCI+XG5cbjxzcGFuIFtzdHlsZS53aWR0aF09XCJzdHlsZURpbWVuc2lvbnM/LndpZHRoIHx8ICcxMDAlJ1wiXG4gICAgICBbc3R5bGUuaGVpZ2h0XT1cInN0eWxlRGltZW5zaW9ucz8uaGVpZ2h0IHx8ICcyMTVweCdcIlxuICAgICAgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiaW1hZ2UgfCBhc3luY1wiXG4gICAgICBjbGFzcz1cImJiLWltYWdlLWlucHV0LWltYWdlXCI+XG4gICAgPC9zcGFuPlxuXG48YnV0dG9uICpuZ0lmPVwibGFiZWwgYXMgbGFiZWxUZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5GaWxlUGlja2VyKClcIlxuICAgICAgICBiYi1idXR0b25cbiAgICAgICAgY2xhc3M9XCJiYi1pbWFnZS1pbnB1dC1idXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAge3sgbGFiZWxUZXh0IH19XG48L2J1dHRvbj5cbiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/cdk/platform";
4
+ import * as i2 from "@bravobit/bb-foundation";
5
+ import * as i3 from "@angular/platform-browser";
6
+ class BbFileImage {
7
+ constructor(_platform, _image, _sanitizer) {
8
+ this._platform = _platform;
9
+ this._image = _image;
10
+ this._sanitizer = _sanitizer;
11
+ }
12
+ async transform(file) {
13
+ // If the file is not a file return.
14
+ if (!this._platform.isBrowser || !(file instanceof File)) {
15
+ return null;
16
+ }
17
+ return this._image.fileToImage(file, [
18
+ 'image/png',
19
+ 'image/jpeg',
20
+ 'image/gif',
21
+ 'image/svg+xml'
22
+ ]).then(image => {
23
+ if (!image) {
24
+ return null;
25
+ }
26
+ return {
27
+ background: this._sanitizer.bypassSecurityTrustStyle(`url(${image.src})`),
28
+ aspectRatio: image.height / image.width
29
+ };
30
+ }).catch(() => {
31
+ return null;
32
+ });
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
35
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: BbFileImage, name: "bbFileImage" }); }
36
+ }
37
+ export { BbFileImage };
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbFileImage, decorators: [{
39
+ type: Pipe,
40
+ args: [{
41
+ name: 'bbFileImage'
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.ImageConverter }, { type: i3.DomSanitizer }]; } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2ZpbGUtaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFHbEQsTUFHYSxXQUFXO0lBRXBCLFlBQW9CLFNBQW1CLEVBQ25CLE1BQXNCLEVBQ3RCLFVBQXdCO1FBRnhCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBYztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFVO1FBQ3RCLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLElBQUksWUFBWSxJQUFJLENBQUMsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDakMsV0FBVztZQUNYLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtTQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDUixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTztnQkFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQztnQkFDekUsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUs7YUFDMUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBOUJRLFdBQVc7NEdBQVgsV0FBVzs7U0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGFBQWE7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbWFnZUNvbnZlcnRlcn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYmJGaWxlSW1hZ2UnXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZUltYWdlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfaW1hZ2U6IEltYWdlQ29udmVydGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgYXN5bmMgdHJhbnNmb3JtKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgaXMgbm90IGEgZmlsZSByZXR1cm4uXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyIHx8ICEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZS5maWxlVG9JbWFnZShmaWxlLCBbXG4gICAgICAgICAgICAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICdpbWFnZS9qcGVnJyxcbiAgICAgICAgICAgICdpbWFnZS9naWYnLFxuICAgICAgICAgICAgJ2ltYWdlL3N2Zyt4bWwnXG4gICAgICAgIF0pLnRoZW4oaW1hZ2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke2ltYWdlLnNyY30pYCksXG4gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW86IGltYWdlLmhlaWdodCAvIGltYWdlLndpZHRoXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -0,0 +1,29 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ class BbFileSize {
4
+ constructor() {
5
+ this.format = (value, decimals = 2) => {
6
+ if (value === 0) {
7
+ return '0 Bytes';
8
+ }
9
+ const k = 1024;
10
+ const dm = decimals < 0 ? 0 : decimals;
11
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
12
+ const index = Math.floor(Math.log(value) / Math.log(k));
13
+ return parseFloat((value / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];
14
+ };
15
+ }
16
+ transform(value) {
17
+ return this.format(value);
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: BbFileSize, name: "bbFileSize" }); }
21
+ }
22
+ export { BbFileSize };
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbFileSize, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: 'bbFileSize'
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRWxELE1BR2EsVUFBVTtJQUh2QjtRQVNZLFdBQU0sR0FBRyxDQUFDLEtBQWEsRUFBRSxXQUFtQixDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7Z0JBQ2IsT0FBTyxTQUFTLENBQUM7YUFDcEI7WUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4RCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDO0tBRUw7SUFsQkcsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBSlEsVUFBVTs0R0FBVixVQUFVOztTQUFWLFVBQVU7MkZBQVYsVUFBVTtrQkFIdEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiRmlsZVNpemUnXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZVNpemUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXQgPSAodmFsdWU6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlciA9IDIpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAgQnl0ZXMnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgayA9IDEwMjQ7XG4gICAgICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPCAwID8gMCA6IGRlY2ltYWxzO1xuICAgICAgICBjb25zdCBzaXplcyA9IFsnQnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcblxuICAgICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5sb2codmFsdWUpIC8gTWF0aC5sb2coaykpO1xuXG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIE1hdGgucG93KGssIGluZGV4KSkudG9GaXhlZChkbSkpICsgJyAnICsgc2l6ZXNbaW5kZXhdO1xuICAgIH07XG5cbn1cbiJdfQ==
@@ -0,0 +1,97 @@
1
+ import { Inject, LOCALE_ID, Optional, Pipe } from '@angular/core';
2
+ import { formatDate } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@bravobit/bb-foundation/localize";
5
+ class BbRelativeTime {
6
+ constructor(_localeId, _localize) {
7
+ this._localeId = _localeId;
8
+ this._localize = _localize;
9
+ this.isValidDate = (date) => {
10
+ return typeof date === 'object' &&
11
+ typeof date.getTime === 'function' &&
12
+ !isNaN(date.getTime());
13
+ };
14
+ this.parseAsDate = (value) => {
15
+ // Add a Z after the date so
16
+ // it is treated as a UTC date.
17
+ if (typeof value === 'string' && /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/.test(value)) {
18
+ return new Date(`${value}Z`);
19
+ }
20
+ // Return the regular parsed date.
21
+ return new Date(value);
22
+ };
23
+ this.isToday = (date) => {
24
+ const today = new Date();
25
+ return date?.getDate() === today?.getDate() &&
26
+ date?.getMonth() === today?.getMonth() &&
27
+ date?.getFullYear() === today?.getFullYear();
28
+ };
29
+ this.isYesterday = (date) => {
30
+ const yesterday = new Date(new Date()?.setDate(new Date()?.getDate() - 1));
31
+ return date?.getDate() === yesterday?.getDate() &&
32
+ date?.getMonth() === yesterday?.getMonth() &&
33
+ date?.getFullYear() === yesterday?.getFullYear();
34
+ };
35
+ this.isTomorrow = (date) => {
36
+ const tomorrow = new Date(new Date()?.setDate(new Date()?.getDate() + 1));
37
+ return date?.getDate() === tomorrow?.getDate() &&
38
+ date?.getMonth() === tomorrow?.getMonth() &&
39
+ date?.getFullYear() === tomorrow?.getFullYear();
40
+ };
41
+ }
42
+ transform(value) {
43
+ // Parse the value to a date object.
44
+ const date = this.parseAsDate(value);
45
+ // Check if the date is valid.
46
+ if (!this.isValidDate(date)) {
47
+ return value;
48
+ }
49
+ // Return the formatted date.
50
+ return this.format(date);
51
+ }
52
+ format(date) {
53
+ // It happens tomorrow.
54
+ if (this.isTomorrow(date)) {
55
+ return this.formatString(date, 'times.tomorrow_at', 'shortTime');
56
+ }
57
+ // It happened today.
58
+ if (this.isToday(date)) {
59
+ return this.formatString(date, 'times.today_at', 'shortTime');
60
+ }
61
+ // It happened yesterday.
62
+ if (this.isYesterday(date)) {
63
+ return this.formatString(date, 'times.yesterday_at', 'shortTime');
64
+ }
65
+ // Just return the date.
66
+ return this.formatString(date);
67
+ }
68
+ formatString(date, token, format) {
69
+ // Just return the parsed date.
70
+ if (!this._localize || !token || !format) {
71
+ return formatDate(date, 'mediumDate', this.locale);
72
+ }
73
+ // Return the translated formatting.
74
+ return this._localize.translate({
75
+ token: token,
76
+ data: { date: formatDate(date, format, this.locale) }
77
+ });
78
+ }
79
+ get locale() {
80
+ return this._localize?.current?.locale ?? this._localeId;
81
+ }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbRelativeTime, deps: [{ token: LOCALE_ID }, { token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe }); }
83
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" }); }
84
+ }
85
+ export { BbRelativeTime };
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbRelativeTime, decorators: [{
87
+ type: Pipe,
88
+ args: [{
89
+ name: 'bbRelativeTime'
90
+ }]
91
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
92
+ type: Inject,
93
+ args: [LOCALE_ID]
94
+ }] }, { type: i1.Localize, decorators: [{
95
+ type: Optional
96
+ }] }]; } });
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQUUzQyxNQUdhLGNBQWM7SUFFdkIsWUFBdUMsU0FBaUIsRUFDeEIsU0FBb0I7UUFEYixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ3hCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFxRDVDLGdCQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtZQUNqQyxPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVO2dCQUNsQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7UUFFTSxnQkFBVyxHQUFHLENBQUMsS0FBNkIsRUFBRSxFQUFFO1lBQ3BELDRCQUE0QjtZQUM1QiwrQkFBK0I7WUFDL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUkseURBQXlELENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNoQztZQUVELGtDQUFrQztZQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVNLFlBQU8sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxF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dEQ7UUFFRCxvQ0FBb0M7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztZQUM1QixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUM7U0FDdEQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQVksTUFBTTtRQUNkLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0QsQ0FBQzs4R0F0RFEsY0FBYyxrQkFFSCxTQUFTOzRHQUZwQixjQUFjOztTQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFIMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN6Qjs7MEJBR2dCLE1BQU07MkJBQUMsU0FBUzs7MEJBQ2hCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgTE9DQUxFX0lELCBPcHRpb25hbCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge2Zvcm1hdERhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYmJSZWxhdGl2ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEJiUmVsYXRpdmVUaW1lIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMRV9JRCkgcHJpdmF0ZSBfbG9jYWxlSWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9sb2NhbGl6ZT86IExvY2FsaXplKSB7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKSB7XG4gICAgICAgIC8vIFBhcnNlIHRoZSB2YWx1ZSB0byBhIGRhdGUgb2JqZWN0LlxuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5wYXJzZUFzRGF0ZSh2YWx1ZSk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGRhdGUgaXMgdmFsaWQuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkRGF0ZShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBmb3JtYXR0ZWQgZGF0ZS5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KGRhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0KGRhdGU6IERhdGUpIHtcbiAgICAgICAgLy8gSXQgaGFwcGVucyB0b21vcnJvdy5cbiAgICAgICAgaWYgKHRoaXMuaXNUb21vcnJvdyhkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b21vcnJvd19hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHRvZGF5LlxuICAgICAgICBpZiAodGhpcy5pc1RvZGF5KGRhdGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRTdHJpbmcoZGF0ZSwgJ3RpbWVzLnRvZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSXQgaGFwcGVuZWQgeWVzdGVyZGF5LlxuICAgICAgICBpZiAodGhpcy5pc1llc3RlcmRheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy55ZXN0ZXJkYXlfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBKdXN0IHJldHVybiB0aGUgZGF0ZS5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0U3RyaW5nKGRhdGU6IERhdGUsIHRva2VuPzogc3RyaW5nLCBmb3JtYXQ/OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIHBhcnNlZCBkYXRlLlxuICAgICAgICBpZiAoIXRoaXMuX2xvY2FsaXplIHx8ICF0b2tlbiB8fCAhZm9ybWF0KSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCAnbWVkaXVtRGF0ZScsIHRoaXMubG9jYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgdHJhbnNsYXRlZCBmb3JtYXR0aW5nLlxuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxpemUudHJhbnNsYXRlKHtcbiAgICAgICAgICAgIHRva2VuOiB0b2tlbixcbiAgICAgICAgICAgIGRhdGE6IHtkYXRlOiBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCwgdGhpcy5sb2NhbGUpfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGl6ZT8uY3VycmVudD8ubG9jYWxlID8/IHRoaXMuX2xvY2FsZUlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZERhdGUgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICByZXR1cm4gdHlwZW9mIGRhdGUgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICB0eXBlb2YgZGF0ZS5nZXRUaW1lID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIHBhcnNlQXNEYXRlID0gKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlKSA9PiB7XG4gICAgICAgIC8vIEFkZCBhIFogYWZ0ZXIgdGhlIGRhdGUgc29cbiAgICAgICAgLy8gaXQgaXMgdHJlYXRlZCBhcyBhIFVUQyBkYXRlLlxuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAvXlswLTldezR9LVswLTldezJ9LVswLTldezJ9VFswLTldezJ9OlswLTldezJ9OlswLTldezJ9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShgJHt2YWx1ZX1aYCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHJlZ3VsYXIgcGFyc2VkIGRhdGUuXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb2RheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgcmV0dXJuIGRhdGU/LmdldERhdGUoKSA9PT0gdG9kYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0gdG9kYXk/LmdldE1vbnRoKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldEZ1bGxZZWFyKCkgPT09IHRvZGF5Py5nZXRGdWxsWWVhcigpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzWWVzdGVyZGF5ID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgY29uc3QgeWVzdGVyZGF5ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgLSAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHllc3RlcmRheT8uZ2V0RGF0ZSgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRNb250aCgpID09PSB5ZXN0ZXJkYXk/LmdldE1vbnRoKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldEZ1bGxZZWFyKCkgPT09IHllc3RlcmRheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1RvbW9ycm93ID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSBuZXcgRGF0ZShuZXcgRGF0ZSgpPy5zZXREYXRlKG5ldyBEYXRlKCk/LmdldERhdGUoKSArIDEpKTtcbiAgICAgICAgcmV0dXJuIGRhdGU/LmdldERhdGUoKSA9PT0gdG9tb3Jyb3c/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0gdG9tb3Jyb3c/LmdldE1vbnRoKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldEZ1bGxZZWFyKCkgPT09IHRvbW9ycm93Py5nZXRGdWxsWWVhcigpO1xuICAgIH07XG5cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
+ import { mixinDisabled } from '@bravobit/bb-foundation';
3
+ import * as i0 from "@angular/core";
4
+ class BbSpinnerBase {
5
+ }
6
+ const BbSpinnerMixinBase = mixinDisabled(BbSpinnerBase);
7
+ class BbSpinner extends BbSpinnerMixinBase {
8
+ constructor() {
9
+ super(...arguments);
10
+ // Inputs.
11
+ this.color = '#303f9f';
12
+ this.alt = 'Loading...';
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbSpinner, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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 }); }
16
+ }
17
+ export { BbSpinner };
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbSpinner, decorators: [{
19
+ type: Component,
20
+ 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"] }]
21
+ }], propDecorators: { color: [{
22
+ type: Input
23
+ }], alt: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFvQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFekYsTUFBTSxhQUFhO0NBQ2xCO0FBRUQsTUFBTSxrQkFBa0IsR0FFbEIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRW5DLE1BVWEsU0FBVSxTQUFRLGtCQUFrQjtJQVZqRDs7UUFZSSxVQUFVO1FBQ0QsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUMxQixRQUFHLEdBQVcsWUFBWSxDQUFDO0tBRXZDOzhHQU5ZLFNBQVM7a0dBQVQsU0FBUywrS0NwQnRCLGd0QkEyQkE7O1NEUGEsU0FBUzsyRkFBVCxTQUFTO2tCQVZyQixTQUFTOytCQUNJLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUMsVUFDckIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyx1QkFDZixLQUFLOzhCQUtqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDYW5EaXNhYmxlLCBDYW5EaXNhYmxlQ29uc3RydWN0b3IsIG1peGluRGlzYWJsZWR9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxuY2xhc3MgQmJTcGlubmVyQmFzZSB7XG59XG5cbmNvbnN0IEJiU3Bpbm5lck1peGluQmFzZTogQ2FuRGlzYWJsZUNvbnN0cnVjdG9yXG4gICAgJiB0eXBlb2YgQmJTcGlubmVyQmFzZVxuICAgID0gbWl4aW5EaXNhYmxlZChCYlNwaW5uZXJCYXNlKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeydjbGFzcyc6ICdiYi1zcGlubmVyJ30sXG4gICAgaW5wdXRzOiBbJ2NvbG9yJywgJ2FsdCcsICdkaXNhYmxlZCddLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJiU3Bpbm5lciBleHRlbmRzIEJiU3Bpbm5lck1peGluQmFzZSBpbXBsZW1lbnRzIENhbkRpc2FibGUge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnIzMwM2Y5Zic7XG4gICAgQElucHV0KCkgYWx0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG5cbn1cbiIsIjwhLS1cbiAgICBUaGUgc3Bpbm5lciBlbGVtZW50LlxuXG4gICAgVGhpcyBlbGVtZW50IGNvbnRhaW5zIGEgY2lyY2xlIHdpdGggYSAyNSUgYmFyIHRoYXQgc3BpbnNcbiAgICBpbmRlZmluaXRlbHkuIFRoZSBib3JkZXIgY29sb3IgY2FuIGJlIHNldCB2aWEgdGhlIFwiY29sb3JcIlxuICAgIHByb3BlcnR5LlxuLS0+XG48ZGl2IGNsYXNzPVwiYmItc3Bpbm5lci1jb250YWluZXJcIj5cbiAgICA8ZGl2IFtzdHlsZS5ib3JkZXItbGVmdC1jb2xvcl09XCJjb2xvclwiXG4gICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgY2xhc3M9XCJiYi1zcGlubmVyLWxvYWRlclwiXG4gICAgICAgICBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIlxuICAgICAgICAgcm9sZT1cImFsZXJ0XCI+XG4gICAgICAgIHt7IGFsdCB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImltZ1wiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIGNvbnRlbnQgb2YgdGhlIHNwaW5uZXIuXG5cbiAgICBUaGlzIGVsZW1lbnQgY29udGFpbnMgdGhlIGNvbnRlbnQgb2YgdGhlIHNwaW5uZXIuIFRoZSB1c2VyXG4gICAgY2FuIHNldCB0aGUgY29udGVudCBpbnNpZGUgdGhlIHRhZy5cbi0tPlxuPHNwYW4gY2xhc3M9XCJiYi1zcGlubmVyLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3NwYW4+XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ class BbTag {
5
+ constructor() {
6
+ // Outputs.
7
+ this.onClose = new EventEmitter();
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbTag, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.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 }); }
11
+ }
12
+ export { BbTag };
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: BbTag, decorators: [{
14
+ type: Component,
15
+ 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"] }]
16
+ }], propDecorators: { onClose: [{
17
+ type: Output
18
+ }] } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi90YWcvdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7O0FBRTFHLE1BU2EsS0FBSztJQVRsQjtRQVdJLFdBQVc7UUFDRCxZQUFPLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7S0FFcEU7OEdBTFksS0FBSztrR0FBTCxLQUFLLG1IQ1hsQixzSkFNUzs7U0RLSSxLQUFLOzJGQUFMLEtBQUs7a0JBVGpCLFNBQVM7K0JBQ0ksUUFBUSxtQkFHRCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCLEVBQUMsT0FBTyxFQUFFLFFBQVEsRUFBQzs4QkFLZixPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLXRhZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLXRhZyd9XG59KVxuZXhwb3J0IGNsYXNzIEJiVGFnIHtcblxuICAgIC8vIE91dHB1dHMuXG4gICAgQE91dHB1dCgpIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG48YnV0dG9uICpuZ0lmPVwib25DbG9zZT8ub2JzZXJ2ZWRcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZS5lbWl0KClcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgQ2xvc2VcbjwvYnV0dG9uPiJdfQ==
@@ -0,0 +1,44 @@
1
+ import { InjectionToken, NgModule, Optional, SkipSelf } from '@angular/core';
2
+ import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
3
+ import { BaseUrlInterceptor } from './interceptors/base-url.interceptor';
4
+ import { ErrorInterceptor } from './interceptors/error.interceptor';
5
+ import { HttpConfig } from './classes/http.config';
6
+ import * as i0 from "@angular/core";
7
+ class HttpModule {
8
+ constructor(_parent) {
9
+ this._parent = _parent;
10
+ if (this._parent) {
11
+ throw new Error('HttpModule is already loaded; Import it in the core module only.');
12
+ }
13
+ }
14
+ static forRoot(config) {
15
+ return {
16
+ ngModule: HttpModule,
17
+ providers: [
18
+ { provide: HTTP_CONFIGURATION_DATA, useValue: config },
19
+ { provide: HttpConfig, useFactory: createHttpConfig, deps: [HTTP_CONFIGURATION_DATA] },
20
+ { provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true },
21
+ { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }
22
+ ]
23
+ };
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: HttpModule, imports: [HttpClientModule] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: HttpModule, imports: [HttpClientModule] }); }
28
+ }
29
+ export { HttpModule };
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: HttpModule, decorators: [{
31
+ type: NgModule,
32
+ args: [{
33
+ imports: [HttpClientModule]
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: HttpModule, decorators: [{
36
+ type: Optional
37
+ }, {
38
+ type: SkipSelf
39
+ }] }]; } });
40
+ export const HTTP_CONFIGURATION_DATA = new InjectionToken('HTTP_CONFIGURATION_DATA');
41
+ export function createHttpConfig(data) {
42
+ return new HttpConfig(data);
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2h0dHAvc3JjL2xpYi9odHRwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRWpELE1BR2EsVUFBVTtJQUVuQixZQUE0QyxPQUFvQjtRQUFwQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQzVELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsa0VBQWtFLENBQUMsQ0FBQztTQUN2RjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQXNCO1FBQ2pDLE9BQU87WUFDSCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1AsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBQztnQkFDcEQsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFDO2dCQUNwRixFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQztnQkFDdkUsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUM7YUFDeEU7U0FDSixDQUFDO0lBQ04sQ0FBQzs4R0FsQlEsVUFBVTsrR0FBVixVQUFVLFlBRlQsZ0JBQWdCOytHQUVqQixVQUFVLFlBRlQsZ0JBQWdCOztTQUVqQixVQUFVOzJGQUFWLFVBQVU7a0JBSHRCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7aUJBQzlCOzswQkFHZ0IsUUFBUTs7MEJBQUksUUFBUTs7QUFvQnJDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFpQix5QkFBeUIsQ0FBQyxDQUFDO0FBRXJHLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFvQjtJQUNqRCxPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SFRUUF9JTlRFUkNFUFRPUlMsIEh0dHBDbGllbnRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7QmFzZVVybEludGVyY2VwdG9yfSBmcm9tICcuL2ludGVyY2VwdG9ycy9iYXNlLXVybC5pbnRlcmNlcHRvcic7XG5pbXBvcnQge0Vycm9ySW50ZXJjZXB0b3J9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2Vycm9yLmludGVyY2VwdG9yJztcbmltcG9ydCB7SHR0cENvbmZpZ0RhdGF9IGZyb20gJy4vaHR0cC5pbnRlcmZhY2VzJztcbmltcG9ydCB7SHR0cENvbmZpZ30gZnJvbSAnLi9jbGFzc2VzL2h0dHAuY29uZmlnJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbSHR0cENsaWVudE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgSHR0cE1vZHVsZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwcml2YXRlIF9wYXJlbnQ/OiBIdHRwTW9kdWxlKSB7XG4gICAgICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSHR0cE1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZDsgSW1wb3J0IGl0IGluIHRoZSBjb3JlIG1vZHVsZSBvbmx5LicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBIdHRwQ29uZmlnRGF0YSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SHR0cE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEh0dHBNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9DT05GSUdVUkFUSU9OX0RBVEEsIHVzZVZhbHVlOiBjb25maWd9LFxuICAgICAgICAgICAgICAgIHtwcm92aWRlOiBIdHRwQ29uZmlnLCB1c2VGYWN0b3J5OiBjcmVhdGVIdHRwQ29uZmlnLCBkZXBzOiBbSFRUUF9DT05GSUdVUkFUSU9OX0RBVEFdfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBCYXNlVXJsSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlfSxcbiAgICAgICAgICAgICAgICB7cHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBFcnJvckludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZX1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IEhUVFBfQ09ORklHVVJBVElPTl9EQVRBID0gbmV3IEluamVjdGlvblRva2VuPEh0dHBDb25maWdEYXRhPignSFRUUF9DT05GSUdVUkFUSU9OX0RBVEEnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUh0dHBDb25maWcoZGF0YTogSHR0cENvbmZpZ0RhdGEpIHtcbiAgICByZXR1cm4gbmV3IEh0dHBDb25maWcoZGF0YSk7XG59Il19