@bravobit/bb-foundation 0.32.1 → 0.40.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 (457) hide show
  1. package/auth/lib/auth.config.d.ts +5 -0
  2. package/auth/lib/auth.interceptor.d.ts +2 -2
  3. package/auth/lib/auth.module.d.ts +1 -4
  4. package/auth/lib/auth.service.d.ts +2 -2
  5. package/auth/lib/directives/authenticated.directive.d.ts +11 -4
  6. package/auth/lib/guards/anonymous.guard.d.ts +2 -15
  7. package/auth/lib/guards/authenticated.guard.d.ts +2 -15
  8. package/auth/lib/interfaces/config.interface.d.ts +2 -1
  9. package/auth/public_api.d.ts +1 -0
  10. package/collections/lib/collections.module.d.ts +12 -3
  11. package/collections/lib/components/collections-actions/collections-actions.component.d.ts +10 -0
  12. package/collections/lib/components/collections-grid/collections-grid.component.d.ts +18 -0
  13. package/collections/lib/components/collections-pager/collections-pager.component.d.ts +15 -14
  14. package/collections/lib/components/collections-table/collections-table.component.d.ts +24 -0
  15. package/collections/lib/components/collections-table-label/collections-table-label.component.d.ts +11 -0
  16. package/collections/lib/components/collections-table-sorting/collections-table-sorting.component.d.ts +18 -0
  17. package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +9 -5
  18. package/collections/lib/directives/collections-data-row.directive.d.ts +14 -0
  19. package/collections/lib/directives/collections-data.directive.d.ts +14 -0
  20. package/collections/lib/directives/collections-empty.directive.d.ts +14 -0
  21. package/collections/lib/directives/collections-error.directive.d.ts +14 -0
  22. package/collections/lib/directives/collections-initial.directive.d.ts +11 -0
  23. package/collections/lib/directives/collections-item.directive.d.ts +14 -0
  24. package/collections/public_api.d.ts +11 -1
  25. package/dashboard/lib/dashboard/dashboard.component.d.ts +5 -8
  26. package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +3 -5
  27. package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +1 -1
  28. package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +4 -7
  29. package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +3 -5
  30. package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +6 -11
  31. package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +2 -2
  32. package/dashboard/lib/dashboard.module.d.ts +1 -4
  33. package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +1 -1
  34. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +2 -2
  35. package/dialog/lib/dialog-container/dialog-container.component.d.ts +2 -2
  36. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -1
  37. package/dialog/lib/dialog-link/dialog-link.component.d.ts +1 -1
  38. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +1 -1
  39. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +2 -2
  40. package/dialog/lib/dialog.config.d.ts +3 -0
  41. package/dialog/lib/dialog.insertion.d.ts +1 -1
  42. package/dialog/lib/dialog.interfaces.d.ts +2 -0
  43. package/dialog/lib/dialog.module.d.ts +2 -4
  44. package/dialog/lib/directives/confirm.directive.d.ts +13 -0
  45. package/dialog/public_api.d.ts +2 -0
  46. package/elements/lib/avatar/avatar.component.d.ts +2 -1
  47. package/elements/lib/button/button.component.d.ts +12 -14
  48. package/elements/lib/checkbox/checkbox.component.d.ts +29 -22
  49. package/elements/lib/checkbox-group/checkbox-group.component.d.ts +13 -0
  50. package/elements/lib/date-picker/date-picker.component.d.ts +17 -10
  51. package/elements/lib/directives/addon.directive.d.ts +2 -2
  52. package/elements/lib/directives/extra-error-controls.directive.d.ts +13 -0
  53. package/elements/lib/directives/form-submit.directive.d.ts +1 -1
  54. package/elements/lib/directives/form-submitter.directive.d.ts +1 -1
  55. package/elements/lib/directives/image-upload.directive.d.ts +28 -0
  56. package/elements/lib/directives/input.directive.d.ts +9 -31
  57. package/elements/lib/elements.config.d.ts +84 -0
  58. package/elements/lib/elements.module.d.ts +21 -102
  59. package/elements/lib/file-picker/file-picker.component.d.ts +14 -10
  60. package/elements/lib/form-control/form-control.component.d.ts +8 -9
  61. package/elements/lib/form-error/form-error.component.d.ts +12 -9
  62. package/elements/lib/form-group/form-group.component.d.ts +4 -7
  63. package/elements/lib/icon/icon.component.d.ts +4 -4
  64. package/elements/lib/image-picker/image-picker.component.d.ts +9 -9
  65. package/elements/lib/multi-file-control/multi-file-control.component.d.ts +58 -0
  66. package/elements/lib/pipes/date.pipe.d.ts +9 -0
  67. package/elements/lib/pipes/file-image.pipe.d.ts +1 -1
  68. package/elements/lib/pipes/file-size.pipe.d.ts +1 -1
  69. package/elements/lib/pipes/relative-time.pipe.d.ts +1 -1
  70. package/elements/lib/radio-button/radio-button.component.d.ts +18 -0
  71. package/elements/lib/radio-group/radio-group.component.d.ts +38 -0
  72. package/elements/lib/spinner/spinner.component.d.ts +4 -7
  73. package/elements/public_api.d.ts +9 -3
  74. package/esm2022/auth/lib/auth.config.mjs +16 -0
  75. package/esm2022/auth/lib/auth.interceptor.mjs +10 -7
  76. package/esm2022/auth/lib/auth.module.mjs +9 -19
  77. package/esm2022/auth/lib/auth.service.mjs +22 -13
  78. package/esm2022/auth/lib/directives/authenticated.directive.mjs +45 -11
  79. package/esm2022/auth/lib/guards/anonymous.guard.mjs +27 -51
  80. package/esm2022/auth/lib/guards/authenticated.guard.mjs +30 -54
  81. package/esm2022/auth/lib/helpers/jwt.helper.mjs +2 -2
  82. package/esm2022/auth/lib/interfaces/config.interface.mjs +2 -3
  83. package/esm2022/auth/public_api.mjs +2 -1
  84. package/esm2022/collections/lib/collections.module.mjs +53 -23
  85. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +39 -0
  86. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +52 -0
  87. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +51 -60
  88. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +86 -0
  89. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +33 -0
  90. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +62 -0
  91. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +10 -7
  92. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +26 -0
  93. package/esm2022/collections/lib/directives/collections-data.directive.mjs +26 -0
  94. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +26 -0
  95. package/esm2022/collections/lib/directives/collections-error.directive.mjs +26 -0
  96. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +22 -0
  97. package/esm2022/collections/lib/directives/collections-item.directive.mjs +26 -0
  98. package/esm2022/collections/public_api.mjs +12 -2
  99. package/esm2022/combobox/combobox/combobox-container.directive.mjs +3 -3
  100. package/esm2022/combobox/combobox/combobox.component.mjs +6 -6
  101. package/esm2022/combobox/combobox-label.directive.mjs +3 -3
  102. package/esm2022/combobox/combobox-option.directive.mjs +3 -3
  103. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +5 -5
  104. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +17 -24
  105. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +12 -15
  106. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +7 -8
  107. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +20 -15
  108. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +15 -14
  109. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +20 -27
  110. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +6 -10
  111. package/esm2022/dashboard/lib/dashboard.module.mjs +30 -27
  112. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +6 -6
  113. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +12 -15
  114. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +10 -7
  115. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +5 -6
  116. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +5 -5
  117. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +7 -7
  118. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +11 -7
  119. package/esm2022/dialog/lib/dialog.config.mjs +8 -0
  120. package/esm2022/dialog/lib/dialog.insertion.mjs +6 -5
  121. package/esm2022/dialog/lib/dialog.interfaces.mjs +3 -1
  122. package/esm2022/dialog/lib/dialog.module.mjs +17 -25
  123. package/esm2022/dialog/lib/dialog.service.mjs +8 -5
  124. package/esm2022/dialog/lib/directives/confirm.directive.mjs +50 -0
  125. package/esm2022/dialog/public_api.mjs +3 -1
  126. package/esm2022/elements/lib/avatar/avatar.component.mjs +15 -14
  127. package/esm2022/elements/lib/button/button.component.mjs +37 -32
  128. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +86 -47
  129. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +36 -0
  130. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +64 -51
  131. package/esm2022/elements/lib/directives/addon.directive.mjs +11 -13
  132. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +43 -0
  133. package/esm2022/elements/lib/directives/form-submit.directive.mjs +6 -5
  134. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +6 -5
  135. package/esm2022/elements/lib/directives/image-upload.directive.mjs +140 -0
  136. package/esm2022/elements/lib/directives/input.directive.mjs +21 -110
  137. package/esm2022/elements/lib/elements.config.mjs +42 -0
  138. package/esm2022/elements/lib/elements.module.mjs +42 -77
  139. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +36 -24
  140. package/esm2022/elements/lib/form-control/form-control.component.mjs +21 -24
  141. package/esm2022/elements/lib/form-error/form-error.component.mjs +35 -60
  142. package/esm2022/elements/lib/form-group/form-group.component.mjs +15 -12
  143. package/esm2022/elements/lib/icon/icon.component.mjs +19 -24
  144. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +33 -19
  145. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +165 -0
  146. package/esm2022/elements/lib/pipes/date.pipe.mjs +30 -0
  147. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +6 -5
  148. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +6 -5
  149. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +6 -5
  150. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +59 -0
  151. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +102 -0
  152. package/esm2022/elements/lib/spinner/spinner.component.mjs +12 -13
  153. package/esm2022/elements/public_api.mjs +10 -4
  154. package/esm2022/http/lib/http.config.mjs +18 -0
  155. package/esm2022/http/lib/http.interfaces.mjs +4 -2
  156. package/esm2022/http/lib/http.module.mjs +9 -22
  157. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +9 -5
  158. package/esm2022/http/lib/interceptors/error.interceptor.mjs +10 -6
  159. package/esm2022/http/public_api.mjs +2 -1
  160. package/esm2022/lib/core/functions/array.utils.mjs +7 -0
  161. package/esm2022/lib/core/miscellaneous/coercion.mjs +5 -0
  162. package/esm2022/lib/core/miscellaneous/regex.mjs +41 -2
  163. package/esm2022/lib/core/services/exif.service.mjs +3 -3
  164. package/esm2022/lib/core/services/file-loader.service.mjs +3 -3
  165. package/esm2022/lib/core/services/files.service.mjs +86 -0
  166. package/esm2022/lib/core/services/image-converter.service.mjs +3 -3
  167. package/esm2022/lib/core/services/languages.service.mjs +3 -3
  168. package/esm2022/lib/core/services/network.service.mjs +5 -5
  169. package/esm2022/lib/core/services/patch.service.mjs +3 -3
  170. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +2 -7
  171. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +6 -6
  172. package/esm2022/localize/lib/localizations/dutch.localization.mjs +19 -1
  173. package/esm2022/localize/lib/localizations/english.localization.mjs +19 -1
  174. package/esm2022/localize/lib/localize.config.mjs +43 -0
  175. package/esm2022/localize/lib/localize.module.mjs +10 -54
  176. package/esm2022/localize/lib/localize.pipe.mjs +6 -5
  177. package/esm2022/localize/lib/localize.service.mjs +26 -13
  178. package/esm2022/localize/lib/localize.tokens.mjs +18 -0
  179. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +3 -2
  180. package/esm2022/localize/lib/transforms/plural.transform.mjs +5 -3
  181. package/esm2022/localize/lib/transforms/reference.transform.mjs +5 -3
  182. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +6 -10
  183. package/esm2022/localize/lib/views/localize-template.directive.mjs +6 -5
  184. package/esm2022/localize/public_api.mjs +3 -3
  185. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +6 -5
  186. package/esm2022/masking/lib/directives/date-mask.directive.mjs +6 -5
  187. package/esm2022/masking/lib/directives/input-mask.directive.mjs +6 -5
  188. package/esm2022/masking/lib/masking.module.mjs +6 -6
  189. package/esm2022/masking/lib/masking.service.mjs +3 -3
  190. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +7 -9
  191. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +8 -8
  192. package/esm2022/notifications/lib/notifications.config.mjs +8 -0
  193. package/esm2022/notifications/lib/notifications.interfaces.mjs +3 -1
  194. package/esm2022/notifications/lib/notifications.module.mjs +8 -18
  195. package/esm2022/notifications/lib/notifications.service.mjs +14 -8
  196. package/esm2022/notifications/public_api.mjs +2 -1
  197. package/esm2022/permissions/lib/directives/permission.directive.mjs +6 -5
  198. package/esm2022/permissions/lib/guards/permission.guard.mjs +23 -54
  199. package/esm2022/permissions/lib/permissions.config.mjs +20 -0
  200. package/esm2022/permissions/lib/permissions.interface.mjs +3 -1
  201. package/esm2022/permissions/lib/permissions.module.mjs +9 -23
  202. package/esm2022/permissions/lib/permissions.service.mjs +8 -5
  203. package/esm2022/permissions/public_api.mjs +2 -1
  204. package/esm2022/public_api.mjs +4 -11
  205. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +12 -13
  206. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +21 -36
  207. package/esm2022/recaptcha/lib/recaptcha.config.mjs +8 -0
  208. package/esm2022/recaptcha/lib/recaptcha.module.mjs +8 -8
  209. package/esm2022/recaptcha/public_api.mjs +2 -1
  210. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +5 -0
  211. package/esm2022/rxjs/public_api.mjs +2 -1
  212. package/esm2022/select/bravobit-bb-foundation-select.mjs +5 -0
  213. package/esm2022/select/lib/select/select.component.mjs +210 -0
  214. package/esm2022/select/lib/select-label.directive.mjs +17 -0
  215. package/esm2022/select/lib/select-option-group.directive.mjs +17 -0
  216. package/esm2022/select/lib/select-option.directive.mjs +17 -0
  217. package/esm2022/select/lib/select.module.mjs +35 -0
  218. package/esm2022/select/public_api.mjs +6 -0
  219. package/esm2022/storage/lib/storage.service.mjs +3 -3
  220. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +2 -5
  221. package/esm2022/table/lib/components/table/table.component.mjs +21 -22
  222. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +5 -5
  223. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +14 -14
  224. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +15 -17
  225. package/esm2022/table/lib/table.module.mjs +23 -21
  226. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +11 -17
  227. package/esm2022/tooltip/lib/tooltip.directive.mjs +17 -27
  228. package/esm2022/tooltip/lib/tooltip.module.mjs +7 -22
  229. package/esm2022/tooltip/public_api.mjs +2 -2
  230. package/esm2022/utils/lib/directives/autosize.directive.mjs +9 -7
  231. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +6 -5
  232. package/esm2022/utils/lib/directives/focus.directive.mjs +6 -5
  233. package/esm2022/utils/lib/directives/template.directive.mjs +6 -5
  234. package/esm2022/utils/lib/utils.module.mjs +6 -6
  235. package/fesm2022/bravobit-bb-foundation-auth.mjs +140 -175
  236. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  237. package/fesm2022/bravobit-bb-foundation-collections.mjs +451 -106
  238. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  239. package/fesm2022/bravobit-bb-foundation-combobox.mjs +18 -18
  240. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  241. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +106 -116
  242. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  243. package/fesm2022/bravobit-bb-foundation-dialog.mjs +125 -70
  244. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  245. package/fesm2022/bravobit-bb-foundation-elements.mjs +1780 -1368
  246. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  247. package/fesm2022/bravobit-bb-foundation-http.mjs +38 -27
  248. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  249. package/fesm2022/bravobit-bb-foundation-localize.mjs +310 -264
  250. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  251. package/fesm2022/bravobit-bb-foundation-masking.mjs +23 -20
  252. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  253. package/fesm2022/bravobit-bb-foundation-notifications.mjs +67 -62
  254. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  255. package/fesm2022/bravobit-bb-foundation-permissions.mjs +54 -72
  256. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  257. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +44 -54
  258. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  259. package/fesm2022/bravobit-bb-foundation-rxjs.mjs +5 -1
  260. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  261. package/fesm2022/bravobit-bb-foundation-select.mjs +288 -0
  262. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -0
  263. package/fesm2022/bravobit-bb-foundation-storage.mjs +4 -7
  264. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  265. package/fesm2022/bravobit-bb-foundation-table.mjs +67 -66
  266. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  267. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +31 -61
  268. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  269. package/fesm2022/bravobit-bb-foundation-utils.mjs +28 -23
  270. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  271. package/fesm2022/bravobit-bb-foundation.mjs +166 -222
  272. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  273. package/http/lib/http.config.d.ts +5 -0
  274. package/http/lib/http.interfaces.d.ts +3 -0
  275. package/http/lib/http.module.d.ts +2 -6
  276. package/http/public_api.d.ts +1 -0
  277. package/lib/core/functions/array.utils.d.ts +1 -0
  278. package/lib/core/miscellaneous/coercion.d.ts +2 -0
  279. package/lib/core/miscellaneous/regex.d.ts +1 -0
  280. package/lib/core/services/files.service.d.ts +19 -0
  281. package/localize/lib/interfaces/config.interfaces.d.ts +1 -1
  282. package/localize/lib/interfaces/functions.interfaces.d.ts +0 -2
  283. package/localize/lib/localizations/dutch.localization.d.ts +18 -0
  284. package/localize/lib/localizations/english.localization.d.ts +18 -0
  285. package/localize/lib/localize.config.d.ts +6 -0
  286. package/localize/lib/localize.module.d.ts +2 -7
  287. package/localize/lib/localize.pipe.d.ts +1 -1
  288. package/localize/lib/localize.service.d.ts +4 -4
  289. package/localize/lib/localize.tokens.d.ts +11 -0
  290. package/localize/lib/views/localize-string/localize-string.component.d.ts +1 -1
  291. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  292. package/localize/public_api.d.ts +2 -2
  293. package/masking/lib/directives/currency-mask.directive.d.ts +1 -1
  294. package/masking/lib/directives/date-mask.directive.d.ts +1 -1
  295. package/masking/lib/directives/input-mask.directive.d.ts +1 -1
  296. package/masking/lib/masking.module.d.ts +1 -1
  297. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  298. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -1
  299. package/notifications/lib/notifications.config.d.ts +3 -0
  300. package/notifications/lib/notifications.interfaces.d.ts +2 -1
  301. package/notifications/lib/notifications.module.d.ts +1 -5
  302. package/notifications/public_api.d.ts +1 -0
  303. package/package.json +31 -36
  304. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  305. package/permissions/lib/guards/permission.guard.d.ts +3 -15
  306. package/permissions/lib/permissions.config.d.ts +3 -0
  307. package/permissions/lib/permissions.interface.d.ts +2 -1
  308. package/permissions/lib/permissions.module.d.ts +1 -1
  309. package/permissions/public_api.d.ts +1 -0
  310. package/public_api.d.ts +3 -10
  311. package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +4 -7
  312. package/recaptcha/lib/recaptcha-loader.service.d.ts +9 -13
  313. package/recaptcha/lib/recaptcha.config.d.ts +3 -0
  314. package/recaptcha/lib/recaptcha.module.d.ts +2 -2
  315. package/recaptcha/public_api.d.ts +1 -0
  316. package/rxjs/lib/observables/get-route-param.observable.d.ts +3 -0
  317. package/rxjs/public_api.d.ts +1 -0
  318. package/{theming → select}/index.d.ts +1 -1
  319. package/select/lib/select/select.component.d.ts +75 -0
  320. package/select/lib/select-label.directive.d.ts +8 -0
  321. package/select/lib/select-option-group.directive.d.ts +8 -0
  322. package/select/lib/select-option.directive.d.ts +8 -0
  323. package/select/lib/select.module.d.ts +10 -0
  324. package/select/public_api.d.ts +5 -0
  325. package/styles/colors.scss +20 -0
  326. package/styles/grid.scss +98 -0
  327. package/styles/reset.scss +65 -0
  328. package/styles/theme.scss +88 -0
  329. package/table/lib/components/table/table.component.d.ts +4 -6
  330. package/table/lib/components/table-cell/table-cell.component.d.ts +1 -1
  331. package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +4 -7
  332. package/table/lib/components/table-pager/table-pager.component.d.ts +4 -8
  333. package/table/lib/table.module.d.ts +1 -5
  334. package/tooltip/lib/tooltip-container/tooltip-container.component.d.ts +3 -4
  335. package/tooltip/lib/tooltip.directive.d.ts +8 -17
  336. package/tooltip/lib/tooltip.module.d.ts +2 -5
  337. package/tooltip/public_api.d.ts +1 -1
  338. package/utils/lib/directives/autosize.directive.d.ts +2 -1
  339. package/utils/lib/directives/focus-trap.directive.d.ts +1 -1
  340. package/utils/lib/directives/focus.directive.d.ts +1 -1
  341. package/utils/lib/directives/template.directive.d.ts +1 -1
  342. package/utils/lib/utils.module.d.ts +1 -1
  343. package/auth/lib/directives/abstract.directive.d.ts +0 -12
  344. package/collections/lib/components/collections.directive.d.ts +0 -17
  345. package/controls/index.d.ts +0 -5
  346. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +0 -51
  347. package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +0 -23
  348. package/controls/lib/checkbox/checkbox.module.d.ts +0 -10
  349. package/controls/lib/control-error/control-error/control-error.animation.d.ts +0 -1
  350. package/controls/lib/control-error/control-error/control-error.component.d.ts +0 -17
  351. package/controls/lib/control-error/control-error-submit.directive.d.ts +0 -15
  352. package/controls/lib/control-error/control-error.defaults.d.ts +0 -2
  353. package/controls/lib/control-error/control-error.interface.d.ts +0 -12
  354. package/controls/lib/control-error/control-error.module.d.ts +0 -9
  355. package/controls/lib/control-error/control-error.utils.d.ts +0 -3
  356. package/controls/lib/controls.interfaces.d.ts +0 -4
  357. package/controls/lib/controls.module.d.ts +0 -14
  358. package/controls/lib/form-control/form-control/form-control.component.d.ts +0 -29
  359. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +0 -6
  360. package/controls/lib/form-control/form-control-input.directive.d.ts +0 -35
  361. package/controls/lib/form-control/form-control.module.d.ts +0 -12
  362. package/controls/lib/radio/radio-button/radio-button.component.d.ts +0 -24
  363. package/controls/lib/radio/radio-group/radio-group.component.d.ts +0 -53
  364. package/controls/lib/radio/radio.module.d.ts +0 -11
  365. package/controls/lib/toggle/toggle/toggle.component.d.ts +0 -45
  366. package/controls/lib/toggle/toggle-group/toggle-group.component.d.ts +0 -23
  367. package/controls/lib/toggle/toggle.module.d.ts +0 -10
  368. package/controls/public_api.d.ts +0 -20
  369. package/elements/lib/dropdown/dropdown.component.d.ts +0 -21
  370. package/elements/lib/tag/tag.component.d.ts +0 -7
  371. package/esm2022/auth/lib/directives/abstract.directive.mjs +0 -40
  372. package/esm2022/collections/lib/components/collections.directive.mjs +0 -43
  373. package/esm2022/controls/bravobit-bb-foundation-controls.mjs +0 -5
  374. package/esm2022/controls/lib/checkbox/checkbox/checkbox.component.mjs +0 -178
  375. package/esm2022/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +0 -68
  376. package/esm2022/controls/lib/checkbox/checkbox.module.mjs +0 -20
  377. package/esm2022/controls/lib/control-error/control-error/control-error.animation.mjs +0 -14
  378. package/esm2022/controls/lib/control-error/control-error/control-error.component.mjs +0 -63
  379. package/esm2022/controls/lib/control-error/control-error-submit.directive.mjs +0 -47
  380. package/esm2022/controls/lib/control-error/control-error.defaults.mjs +0 -26
  381. package/esm2022/controls/lib/control-error/control-error.interface.mjs +0 -3
  382. package/esm2022/controls/lib/control-error/control-error.module.mjs +0 -19
  383. package/esm2022/controls/lib/control-error/control-error.utils.mjs +0 -20
  384. package/esm2022/controls/lib/controls.interfaces.mjs +0 -2
  385. package/esm2022/controls/lib/controls.module.mjs +0 -62
  386. package/esm2022/controls/lib/form-control/form-control/form-control.component.mjs +0 -79
  387. package/esm2022/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +0 -22
  388. package/esm2022/controls/lib/form-control/form-control-input.directive.mjs +0 -124
  389. package/esm2022/controls/lib/form-control/form-control.module.mjs +0 -34
  390. package/esm2022/controls/lib/radio/radio-button/radio-button.component.mjs +0 -75
  391. package/esm2022/controls/lib/radio/radio-group/radio-group.component.mjs +0 -168
  392. package/esm2022/controls/lib/radio/radio.module.mjs +0 -21
  393. package/esm2022/controls/lib/toggle/toggle/toggle.component.mjs +0 -153
  394. package/esm2022/controls/lib/toggle/toggle-group/toggle-group.component.mjs +0 -62
  395. package/esm2022/controls/lib/toggle/toggle.module.mjs +0 -20
  396. package/esm2022/controls/public_api.mjs +0 -21
  397. package/esm2022/elements/lib/dropdown/dropdown.component.mjs +0 -100
  398. package/esm2022/elements/lib/tag/tag.component.mjs +0 -18
  399. package/esm2022/lib/core/mixins/can-disable.mjs +0 -16
  400. package/esm2022/lib/core/mixins/can-hide-errors.mjs +0 -16
  401. package/esm2022/lib/core/mixins/can-load.mjs +0 -16
  402. package/esm2022/lib/core/mixins/constructor.mjs +0 -2
  403. package/esm2022/lib/core/mixins/has-error.mjs +0 -16
  404. package/esm2022/lib/core/mixins/is-focused.mjs +0 -16
  405. package/esm2022/lib/core/mixins/is-grouped.mjs +0 -16
  406. package/esm2022/lib/core/mixins/is-readonly.mjs +0 -16
  407. package/esm2022/lib/core/mixins/is-required.mjs +0 -16
  408. package/esm2022/lib/core/services/clipboard.service.mjs +0 -70
  409. package/esm2022/localize/lib/interfaces/transforms.interfaces.mjs +0 -3
  410. package/esm2022/localize/lib/locale.token.mjs +0 -14
  411. package/esm2022/theming/bravobit-bb-foundation-theming.mjs +0 -5
  412. package/esm2022/theming/lib/themes/checkbox-group.theme.mjs +0 -17
  413. package/esm2022/theming/lib/themes/checkbox.theme.mjs +0 -35
  414. package/esm2022/theming/lib/themes/control-error.theme.mjs +0 -11
  415. package/esm2022/theming/lib/themes/form-control-addon.theme.mjs +0 -6
  416. package/esm2022/theming/lib/themes/form-control.theme.mjs +0 -45
  417. package/esm2022/theming/lib/themes/radio-button.theme.mjs +0 -29
  418. package/esm2022/theming/lib/themes/radio-group.theme.mjs +0 -20
  419. package/esm2022/theming/lib/themes/toggle-group.theme.mjs +0 -17
  420. package/esm2022/theming/lib/themes/toggle.theme.mjs +0 -28
  421. package/esm2022/theming/lib/theming.data.mjs +0 -90
  422. package/esm2022/theming/lib/theming.directive.mjs +0 -38
  423. package/esm2022/theming/lib/theming.interface.mjs +0 -2
  424. package/esm2022/theming/lib/theming.module.mjs +0 -16
  425. package/esm2022/theming/lib/utils/theming.variable.mjs +0 -41
  426. package/esm2022/theming/public_api.mjs +0 -10
  427. package/fesm2022/bravobit-bb-foundation-controls.mjs +0 -1191
  428. package/fesm2022/bravobit-bb-foundation-controls.mjs.map +0 -1
  429. package/fesm2022/bravobit-bb-foundation-theming.mjs +0 -381
  430. package/fesm2022/bravobit-bb-foundation-theming.mjs.map +0 -1
  431. package/lib/core/mixins/can-disable.d.ts +0 -6
  432. package/lib/core/mixins/can-hide-errors.d.ts +0 -6
  433. package/lib/core/mixins/can-load.d.ts +0 -6
  434. package/lib/core/mixins/constructor.d.ts +0 -1
  435. package/lib/core/mixins/has-error.d.ts +0 -6
  436. package/lib/core/mixins/is-focused.d.ts +0 -6
  437. package/lib/core/mixins/is-grouped.d.ts +0 -6
  438. package/lib/core/mixins/is-readonly.d.ts +0 -6
  439. package/lib/core/mixins/is-required.d.ts +0 -6
  440. package/lib/core/services/clipboard.service.d.ts +0 -18
  441. package/localize/lib/interfaces/transforms.interfaces.d.ts +0 -3
  442. package/localize/lib/locale.token.d.ts +0 -3
  443. package/theming/lib/themes/checkbox-group.theme.d.ts +0 -16
  444. package/theming/lib/themes/checkbox.theme.d.ts +0 -32
  445. package/theming/lib/themes/control-error.theme.d.ts +0 -9
  446. package/theming/lib/themes/form-control-addon.theme.d.ts +0 -5
  447. package/theming/lib/themes/form-control.theme.d.ts +0 -32
  448. package/theming/lib/themes/radio-button.theme.d.ts +0 -26
  449. package/theming/lib/themes/radio-group.theme.d.ts +0 -17
  450. package/theming/lib/themes/toggle-group.theme.d.ts +0 -16
  451. package/theming/lib/themes/toggle.theme.d.ts +0 -25
  452. package/theming/lib/theming.data.d.ts +0 -17
  453. package/theming/lib/theming.directive.d.ts +0 -13
  454. package/theming/lib/theming.interface.d.ts +0 -34
  455. package/theming/lib/theming.module.d.ts +0 -7
  456. package/theming/lib/utils/theming.variable.d.ts +0 -16
  457. package/theming/public_api.d.ts +0 -9
@@ -1,31 +1,27 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
- import { mixinDisabled, mixinGrouped } from '@bravobit/bb-foundation';
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BbButton } from '../button/button.component';
4
+ import { AsyncPipe } from '@angular/common';
4
5
  import { BehaviorSubject } from 'rxjs';
5
6
  import { map } from 'rxjs/operators';
6
7
  import * as i0 from "@angular/core";
7
8
  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
- export class BbImagePicker extends BbImagePickerMixinBase {
9
+ export class BbImagePicker {
14
10
  constructor(_converter) {
15
- super();
16
11
  this._converter = _converter;
17
12
  // Inputs.
18
13
  this.label = null;
19
14
  this.placeholder = null;
20
15
  this.styleDimensions = null;
21
16
  this.cropDimensions = null;
17
+ this.disabled = false;
18
+ this.grouped = false;
19
+ // Callbacks.
20
+ this.onTouchedCallback = () => ({});
21
+ this.onChangeCallback = () => ({});
22
22
  // Form.
23
23
  this._value$ = new BehaviorSubject(null);
24
24
  this.valueChange = new EventEmitter();
25
- this.onTouchedCallback = () => {
26
- };
27
- this.onChangeCallback = () => {
28
- };
29
25
  }
30
26
  get value() {
31
27
  return this._value$.getValue();
@@ -47,7 +43,7 @@ export class BbImagePicker extends BbImagePickerMixinBase {
47
43
  try {
48
44
  this.value = await this._converter.toDataUri(file, this.cropDimensions);
49
45
  }
50
- catch (error) {
46
+ catch {
51
47
  this.value = null;
52
48
  }
53
49
  this.onChangeCallback(this.value);
@@ -77,16 +73,28 @@ export class BbImagePicker extends BbImagePickerMixinBase {
77
73
  setDisabledState(isDisabled) {
78
74
  this.disabled = isDisabled;
79
75
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbImagePicker, deps: [{ token: i1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: BbImagePicker, selector: "bb-image-picker", inputs: { grouped: "grouped", disabled: "disabled", label: "label", placeholder: "placeholder", styleDimensions: "styleDimensions", cropDimensions: "cropDimensions", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled", "class.grouped": "grouped" }, classAttribute: "bb-image-picker" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbImagePicker), multi: true }], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- The input that can open the file picker. -->\n<input #fileInput\n (change)=\"onFileChange($event)\"\n class=\"bb-image-picker-input\"\n type=\"file\"\n tabindex=\"-1\"\n accept=\"image/*\">\n\n<span [style.width]=\"styleDimensions?.width || '100%'\"\n [style.height]=\"styleDimensions?.height || '215px'\"\n [style.background-image]=\"image | async\"\n class=\"bb-image-input-image\">\n </span>\n\n<button *ngIf=\"label as labelText\"\n (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n</button>\n", styles: [".bb-image-picker{display:flex;align-items:center;flex-direction:column}.bb-image-picker.circle>.bb-image-input-image{border-radius:50%}.bb-image-picker.grouped{margin-bottom:20px}.bb-image-picker.disabled{opacity:.5;cursor:default;-webkit-user-select:none;user-select:none;pointer-events:none}.bb-image-picker-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-image-input-image{display:flex;cursor:default;position:relative;border-radius:4px;align-items:center;justify-content:center;background:#0003 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 }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbImagePicker, deps: [{ token: i1.ImageConverter }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: BbImagePicker, isStandalone: true, selector: "bb-image-picker", inputs: { label: "label", placeholder: "placeholder", styleDimensions: "styleDimensions", cropDimensions: "cropDimensions", disabled: ["disabled", "disabled", booleanAttribute], grouped: ["grouped", "grouped", booleanAttribute], value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled", "class.grouped": "grouped" }, classAttribute: "bb-image-picker" }, providers: [
78
+ {
79
+ provide: NG_VALUE_ACCESSOR,
80
+ useExisting: forwardRef(() => BbImagePicker),
81
+ multi: true
82
+ }
83
+ ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: 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@if (label; as labelText) {\n <button (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n </button>\n}\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:1.5rem}.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;align-items:center;border-radius:.25rem;justify-content:center;background:#0003 url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center/cover no-repeat}.bb-image-input-button{margin-top:.75rem}\n"], dependencies: [{ kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
82
84
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbImagePicker, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbImagePicker, decorators: [{
84
86
  type: Component,
85
87
  args: [{ selector: 'bb-image-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
86
88
  'class': 'bb-image-picker',
87
89
  '[class.disabled]': 'disabled',
88
90
  '[class.grouped]': 'grouped'
89
- }, 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:#0003 url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center/cover no-repeat}.bb-image-input-button{margin-top:10px}\n"] }]
91
+ }, providers: [
92
+ {
93
+ provide: NG_VALUE_ACCESSOR,
94
+ useExisting: forwardRef(() => BbImagePicker),
95
+ multi: true
96
+ }
97
+ ], preserveWhitespaces: false, standalone: true, imports: [BbButton, AsyncPipe], 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@if (label; as labelText) {\n <button (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n </button>\n}\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:1.5rem}.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;align-items:center;border-radius:.25rem;justify-content:center;background:#0003 url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) center center/cover no-repeat}.bb-image-input-button{margin-top:.75rem}\n"] }]
90
98
  }], ctorParameters: () => [{ type: i1.ImageConverter }], propDecorators: { fileInput: [{
91
99
  type: ViewChild,
92
100
  args: ['fileInput', { static: true }]
@@ -98,9 +106,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
98
106
  type: Input
99
107
  }], cropDimensions: [{
100
108
  type: Input
109
+ }], disabled: [{
110
+ type: Input,
111
+ args: [{ transform: booleanAttribute }]
112
+ }], grouped: [{
113
+ type: Input,
114
+ args: [{ transform: booleanAttribute }]
101
115
  }], value: [{
102
116
  type: Input
103
117
  }], valueChange: [{
104
118
  type: Output
105
119
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHSCxhQUFhLEVBRWIsWUFBWSxFQUNmLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUVuQyxNQUFNLGlCQUFpQjtDQUN0QjtBQUVELE1BQU0sc0JBQXNCLEdBR3RCLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0FBaUJyRCxNQUFNLE9BQU8sYUFBYyxTQUFRLHNCQUFzQjtJQWNyRCxZQUFvQixVQUEwQjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURRLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBVDlDLFVBQVU7UUFDRCxVQUFLLEdBQWtCLElBQUksQ0FBQztRQUM1QixnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFDbEMsb0JBQWUsR0FBNkMsSUFBSSxDQUFDO1FBQ2pFLG1CQUFjLEdBQTZDLElBQUksQ0FBQztRQUV6RSxRQUFRO1FBQ0EsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQVdqRCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBZ0QxRCxzQkFBaUIsR0FBZSxHQUFHLEVBQUU7UUFDckMsQ0FBQyxDQUFDO1FBRUYscUJBQWdCLEdBQStCLEdBQUcsRUFBRTtRQUNwRCxDQUFDLENBQUM7SUEzREYsQ0FBQztJQUVELElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBSUQsSUFBSSxLQUFLLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQy9DLENBQUM7SUFDTixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLO1FBQ3BCLGdDQUFnQztRQUNoQyxNQUFNLElBQUksR0FBUyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6Qyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTztRQUNYLENBQUM7UUFFRCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLFNBQVM7ZUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWE7ZUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSztlQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBUUQsVUFBVSxDQUFDLEtBQW9CO1FBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFrQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFrQjtRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDOzhHQTNGUSxhQUFhO2tHQUFiLGFBQWEsa1lBSFgsQ0FBQyxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUMsQ0FBQyx1S0MxQ3hHLHVvQkFxQkE7OzJGRHdCYSxhQUFhO2tCQWZ6QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLGlCQUFpQixFQUFFLFNBQVM7cUJBQy9CLFVBQ08sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLGFBQ3BCLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDLHVCQUMvRSxLQUFLO21GQUtjLFNBQVM7c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFHN0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQVVGLEtBQUs7c0JBRFIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBJbWFnZUNvbnZlcnRlcixcbiAgICBDYW5EaXNhYmxlQ29uc3RydWN0b3IsXG4gICAgbWl4aW5EaXNhYmxlZCxcbiAgICBJc0dyb3VwZWRDb25zdHJ1Y3RvcixcbiAgICBtaXhpbkdyb3VwZWRcbn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmNsYXNzIEJiSW1hZ2VQaWNrZXJCYXNlIHtcbn1cblxuY29uc3QgQmJJbWFnZVBpY2tlck1peGluQmFzZTogSXNHcm91cGVkQ29uc3RydWN0b3JcbiAgICAmIENhbkRpc2FibGVDb25zdHJ1Y3RvclxuICAgICYgdHlwZW9mIEJiSW1hZ2VQaWNrZXJCYXNlXG4gICAgPSBtaXhpbkRpc2FibGVkKG1peGluR3JvdXBlZChCYkltYWdlUGlja2VyQmFzZSkpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWltYWdlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1pbWFnZS1waWNrZXInLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCdcbiAgICB9LFxuICAgIGlucHV0czogWydncm91cGVkJywgJ2Rpc2FibGVkJ10sXG4gICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCYkltYWdlUGlja2VyKSwgbXVsdGk6IHRydWV9XSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCYkltYWdlUGlja2VyIGV4dGVuZHMgQmJJbWFnZVBpY2tlck1peGluQmFzZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFZpZXdzLlxuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBzdHlsZURpbWVuc2lvbnM6IHsgd2lkdGg6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcgfSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGNyb3BEaW1lbnNpb25zOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIEZvcm0uXG4gICAgcHJpdmF0ZSBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbnZlcnRlcjogSW1hZ2VDb252ZXJ0ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl92YWx1ZSQubmV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGltYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUkLnBpcGUoXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4gdmFsdWUgfHwgdGhpcy5wbGFjZWhvbGRlciksXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4gdmFsdWUgPyBgdXJsKCR7dmFsdWV9KWAgOiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIG9uRmlsZUNoYW5nZShldmVudCkge1xuICAgICAgICAvLyBHcmFiIHRoZSBmaWxlIGZyb20gdGhlIGV2ZW50LlxuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBmaWxlIGV4aXN0cy5cbiAgICAgICAgaWYgKCFmaWxlIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gYXdhaXQgdGhpcy5fY29udmVydGVyLnRvRGF0YVVyaShmaWxlLCB0aGlzLmNyb3BEaW1lbnNpb25zKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHRoaXMudmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmZpbGVJbnB1dCAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuRmlsZVBpY2tlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4ZWN1dGUgYSBjbGljayBvbiB0aGUgZmlsZSBpbnB1dC5cbiAgICAgICAgdGhpcy5maWxlSW5wdXRcbiAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudFxuICAgICAgICAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrXG4gICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHtcbiAgICB9O1xuXG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IHN0cmluZyB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgfTtcblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UobWV0aG9kOiAoXzogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQobWV0aG9kOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxufVxuIiwiPCEtLSBUaGUgaW5wdXQgdGhhdCBjYW4gb3BlbiB0aGUgZmlsZSBwaWNrZXIuIC0tPlxuPGlucHV0ICNmaWxlSW5wdXRcbiAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBjbGFzcz1cImJiLWltYWdlLXBpY2tlci1pbnB1dFwiXG4gICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgIGFjY2VwdD1cImltYWdlLypcIj5cblxuPHNwYW4gW3N0eWxlLndpZHRoXT1cInN0eWxlRGltZW5zaW9ucz8ud2lkdGggfHwgJzEwMCUnXCJcbiAgICAgIFtzdHlsZS5oZWlnaHRdPVwic3R5bGVEaW1lbnNpb25zPy5oZWlnaHQgfHwgJzIxNXB4J1wiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCJpbWFnZSB8IGFzeW5jXCJcbiAgICAgIGNsYXNzPVwiYmItaW1hZ2UtaW5wdXQtaW1hZ2VcIj5cbiAgICA8L3NwYW4+XG5cbjxidXR0b24gKm5nSWY9XCJsYWJlbCBhcyBsYWJlbFRleHRcIlxuICAgICAgICAoY2xpY2spPVwib3BlbkZpbGVQaWNrZXIoKVwiXG4gICAgICAgIGJiLWJ1dHRvblxuICAgICAgICBjbGFzcz1cImJiLWltYWdlLWlucHV0LWJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICB7eyBsYWJlbFRleHQgfX1cbjwvYnV0dG9uPlxuIl19
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9pbWFnZS1waWNrZXIvaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0SyxPQUFPLEVBQXVCLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBd0JuQyxNQUFNLE9BQU8sYUFBYTtJQW9CdEIsWUFBb0IsVUFBMEI7UUFBMUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFmOUMsVUFBVTtRQUNELFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBQzVCLGdCQUFXLEdBQWtCLElBQUksQ0FBQztRQUNsQyxvQkFBZSxHQUE2QyxJQUFJLENBQUM7UUFDakUsbUJBQWMsR0FBNkMsSUFBSSxDQUFDO1FBQ25DLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUUvRCxhQUFhO1FBQ2Is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QUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO2dCQUM1QyxLQUFLLEVBQUUsSUFBSTthQUNkO1NBQ0osZ0pDekJMLHlwQkFzQkEsdXZCRE1jLFFBQVEsa0hBQUUsU0FBUzs7MkZBRXBCLGFBQWE7a0JBdEJ6QixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNGLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLGtCQUFrQixFQUFFLFVBQVU7d0JBQzlCLGlCQUFpQixFQUFFLFNBQVM7cUJBQy9CLGFBQ1U7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDOzRCQUM1QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSix1QkFDb0IsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7bUZBS1UsU0FBUztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUc3QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ2dDLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0UsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFhaEMsS0FBSztzQkFEUixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtJbWFnZUNvbnZlcnRlcn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtCYkJ1dHRvbn0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWltYWdlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1pbWFnZS1waWNrZXInLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiSW1hZ2VQaWNrZXIpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJCdXR0b24sIEFzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgQmJJbWFnZVBpY2tlciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFZpZXdzLlxuICAgIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBzdHlsZURpbWVuc2lvbnM6IHsgd2lkdGg6IHN0cmluZywgaGVpZ2h0OiBzdHJpbmcgfSB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGNyb3BEaW1lbnNpb25zOiB7IHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyIH0gfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBncm91cGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBDYWxsYmFja3MuXG4gICAgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICAgIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICAgIC8vIEZvcm0uXG4gICAgcHJpdmF0ZSBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbnZlcnRlcjogSW1hZ2VDb252ZXJ0ZXIpIHtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl92YWx1ZSQubmV4dCh2YWx1ZSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGltYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWUkLnBpcGUoXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4gdmFsdWUgfHwgdGhpcy5wbGFjZWhvbGRlciksXG4gICAgICAgICAgICBtYXAodmFsdWUgPT4gdmFsdWUgPyBgdXJsKCR7dmFsdWV9KWAgOiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIG9uRmlsZUNoYW5nZShldmVudCkge1xuICAgICAgICAvLyBHcmFiIHRoZSBmaWxlIGZyb20gdGhlIGV2ZW50LlxuICAgICAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBmaWxlIGV4aXN0cy5cbiAgICAgICAgaWYgKCFmaWxlIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gYXdhaXQgdGhpcy5fY29udmVydGVyLnRvRGF0YVVyaShmaWxlLCB0aGlzLmNyb3BEaW1lbnNpb25zKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLnZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5maWxlSW5wdXQgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkZpbGVQaWNrZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBFeGVjdXRlIGEgY2xpY2sgb24gdGhlIGZpbGUgaW5wdXQuXG4gICAgICAgIHRoaXMuZmlsZUlucHV0XG4gICAgICAgICYmIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgJiYgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGlja1xuICAgICAgICAmJiB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShtZXRob2Q6IChfOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChtZXRob2Q6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IG1ldGhvZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgfVxuXG59XG4iLCI8IS0tIFRoZSBpbnB1dCB0aGF0IGNhbiBvcGVuIHRoZSBmaWxlIHBpY2tlci4gLS0+XG48aW5wdXQgI2ZpbGVJbnB1dFxuICAgICAgIChjaGFuZ2UpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgIGNsYXNzPVwiYmItaW1hZ2UtcGlja2VyLWlucHV0XCJcbiAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiPlxuXG48c3BhbiBbc3R5bGUud2lkdGhdPVwic3R5bGVEaW1lbnNpb25zPy53aWR0aCB8fCAnMTAwJSdcIlxuICAgICAgW3N0eWxlLmhlaWdodF09XCJzdHlsZURpbWVuc2lvbnM/LmhlaWdodCB8fCAnMjE1cHgnXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cImltYWdlIHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJiYi1pbWFnZS1pbnB1dC1pbWFnZVwiPlxuICAgIDwvc3Bhbj5cblxuQGlmIChsYWJlbDsgYXMgbGFiZWxUZXh0KSB7XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib3BlbkZpbGVQaWNrZXIoKVwiXG4gICAgICAgICAgICBiYi1idXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYmItaW1hZ2UtaW5wdXQtYnV0dG9uXCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAge3sgbGFiZWxUZXh0IH19XG4gICAgPC9idXR0b24+XG59XG4iXX0=
@@ -0,0 +1,165 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, HostListener, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { BbLocalize, BbLocalizeTemplate, BbLocalizeString } from '@bravobit/bb-foundation/localize';
4
+ import { BbFormError } from '../form-error/form-error.component';
5
+ import { BbTemplate } from '@bravobit/bb-foundation/utils';
6
+ import { BbButton } from '../button/button.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@bravobit/bb-foundation";
9
+ let nextUniqueId = 0;
10
+ export class BbMultiFileControl {
11
+ constructor(_files, _changeDetectorRef) {
12
+ this._files = _files;
13
+ this._changeDetectorRef = _changeDetectorRef;
14
+ // Readonly data.
15
+ this.labelId = `bb-multi-file-control-${nextUniqueId++}`;
16
+ // Inputs.
17
+ this.label = null;
18
+ this.hint = null;
19
+ this.accept = null;
20
+ this.grouped = false;
21
+ this.required = false;
22
+ this.disabled = false;
23
+ this.hideErrors = false;
24
+ this.items = [];
25
+ // Outputs.
26
+ this.delete = new EventEmitter();
27
+ // State.
28
+ this.value = [];
29
+ this.dragging = false;
30
+ this.error = false;
31
+ // Callbacks.
32
+ this.onTouchedCallback = () => ({});
33
+ this.onChangeCallback = () => ({});
34
+ }
35
+ get showList() {
36
+ return this.value?.length > 0 || this.items?.length > 0;
37
+ }
38
+ onDrag(event, isHovered) {
39
+ event.preventDefault();
40
+ event.stopPropagation();
41
+ if (this.disabled) {
42
+ return;
43
+ }
44
+ this.dragging = isHovered;
45
+ }
46
+ onDrop(event) {
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ if (this.disabled) {
50
+ return;
51
+ }
52
+ this.dragging = false;
53
+ const files = event?.['dataTransfer'].files;
54
+ return this.addFiles(files);
55
+ }
56
+ downloadFile(file) {
57
+ return this._files.download(file, file?.name);
58
+ }
59
+ openFileDialog() {
60
+ const element = this.fileInput?.nativeElement;
61
+ element?.click();
62
+ }
63
+ onFileChange(event) {
64
+ if (this.disabled) {
65
+ return;
66
+ }
67
+ const files = event.target?.['files'];
68
+ this.addFiles(files);
69
+ this.fileInput.nativeElement.value = null;
70
+ this.onChangeCallback?.(this.value);
71
+ }
72
+ deleteFile(index) {
73
+ this.value = this.value?.filter((_, i) => i !== index) ?? [];
74
+ this.onChangeCallback?.(this.value);
75
+ }
76
+ writeValue(value) {
77
+ this.value = value ?? [];
78
+ }
79
+ registerOnChange(method) {
80
+ this.onChangeCallback = method;
81
+ }
82
+ registerOnTouched(method) {
83
+ this.onTouchedCallback = method;
84
+ }
85
+ setDisabledState(isDisabled) {
86
+ this.disabled = isDisabled;
87
+ this._changeDetectorRef.markForCheck();
88
+ }
89
+ onErrorChange(error) {
90
+ this.error = !!error;
91
+ }
92
+ validate({ value }) {
93
+ // TODO(@Stan): file size validation + file type validation
94
+ return null;
95
+ }
96
+ addFiles(files) {
97
+ for (let index = 0; index < files?.length; index++) {
98
+ const file = files?.[index] ?? null;
99
+ if (!(this.isFile(file) || this.isBlob(file))) {
100
+ continue;
101
+ }
102
+ this.value.push(file);
103
+ }
104
+ }
105
+ isFile(input) {
106
+ return 'File' in window && input instanceof File;
107
+ }
108
+ isBlob(input) {
109
+ return 'Blob' in window && input instanceof Blob;
110
+ }
111
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbMultiFileControl, deps: [{ token: i1.Files }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
112
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: BbMultiFileControl, isStandalone: true, selector: "bb-multi-file-control", inputs: { label: "label", hint: "hint", accept: "accept", grouped: ["grouped", "grouped", booleanAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], items: "items" }, outputs: { delete: "delete" }, host: { listeners: { "dragover": "onDrag($event,true)", "dragleave": "onDrag($event,false)", "drop": "onDrop($event)" }, properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.dragging": "dragging", "class.error": "error" }, classAttribute: "bb-multi-file-control" }, providers: [
113
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbMultiFileControl), multi: true },
114
+ { provide: NG_VALIDATORS, useExisting: BbMultiFileControl, multi: true }
115
+ ], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<!-- The label of the input. -->\n@if (label; as labelContent) {\n <label [for]=\"labelId\"\n class=\"bb-multi-file-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<input #fileInput\n [id]=\"labelId\"\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-multi-file-control-input\"\n type=\"file\"\n tabindex=\"-1\"\n multiple>\n\n<div class=\"bb-multi-file-control-container\">\n @if (showList) {\n <ul class=\"bb-multi-file-control-list\">\n @for (item of items; track item?.id) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <a [href]=\"item?.url\"\n target=\"_blank\"\n rel=\"noopener\"\n class=\"bb-multi-file-control-item-content\">{{ item?.label }}</a>\n @if (!disabled && delete?.observed) {\n <button (click)=\"delete?.emit(item)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n @for (file of value; track $index) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <button (click)=\"downloadFile(file)\"\n class=\"bb-multi-file-control-item-content\"\n type=\"button\">\n {{ file?.name }}\n </button>\n @if (!disabled) {\n <button (click)=\"deleteFile($index)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n </ul>\n } @else if (!disabled) {\n <i class=\"bb-multi-file-control-icon attach-vertical\"></i>\n <p [bb-localize-string]=\"'multi-file-control.choose_file_text' | bbLocalize\"\n class=\"bb-multi-file-control-empty\">\n <label *bbLocalizeTemplate=\"'label'\"\n [for]=\"labelId\">{{ 'multi-file-control.choose_file' | bbLocalize }}</label>\n </p>\n }\n @if (!disabled) {\n <button (click)=\"openFileDialog()\"\n type=\"button\"\n class=\"primary small bb-multi-file-control-button\"\n bb-button>\n <i class=\"bb-multi-file-control-icon add\" suffix></i>\n {{ 'multi-file-control.choose_file' | bbLocalize }}\n </button>\n }\n</div>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The file picker hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-multi-file-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-multi-file-control{display:block}.bb-multi-file-control.grouped{margin-bottom:1.5rem}.bb-multi-file-control.required>.bb-multi-file-control-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-multi-file-control.dragging>.bb-multi-file-control-container{border-color:#757e8a;box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--bb-multi-file-control-box-shadow)}.bb-multi-file-control.disabled>.bb-multi-file-control-container{cursor:default;color:gray;background-color:#e6e6e6}.bb-multi-file-control-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-multi-file-control-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-multi-file-control-container{width:100%;display:flex;color:#111;padding:.5rem;overflow:hidden;min-height:7.5rem;align-items:center;border-radius:.5rem;flex-direction:column;justify-content:center;background-color:#fff;border:1px solid hsl(213,8%,74%);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-multi-file-control-button{margin-top:.5rem}.bb-multi-file-control-list{flex:1;width:100%;overflow:hidden}.bb-multi-file-control-empty{flex:1;width:100%;color:#758795;display:block;font-weight:400;line-height:1.5;text-align:center;font-size:.875rem}.bb-multi-file-control-empty>label{cursor:pointer;display:inline;font-size:inherit;font-weight:inherit;text-decoration:underline;color:var(--bb-multi-file-control-color)}.bb-multi-file-control-item{height:2rem;display:flex;max-width:100%;overflow:hidden;align-items:center;white-space:nowrap;border-radius:.5rem;text-overflow:ellipsis;padding:0 .25rem 0 .5rem;border:1px solid hsl(213,8%,74%);background-color:#edf4fd}.bb-multi-file-control-item:not(:last-child){margin-bottom:.25rem}.bb-multi-file-control-item-content{flex:1;padding:0;border:none;max-width:100%;margin:0 .5rem;overflow:hidden;appearance:none;text-align:left;font-weight:400;font-size:.875rem;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;background-color:transparent}.bb-multi-file-control-item-content,.bb-multi-file-control-item-content:visited{color:#0a305c}.bb-multi-file-control-item-content:hover,.bb-multi-file-control-item-content:focus{text-decoration:underline}.bb-multi-file-control-item-button{padding:0;width:1.5rem;display:flex;height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;border:1px solid hsl(0,73%,25%);background-color:#b51c1c}.bb-multi-file-control-item-button:hover,.bb-multi-file-control-item-button:focus{background-color:#a81a1a}.bb-multi-file-control-item-button:active{background-color:#9a1818}.bb-multi-file-control-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.bb-multi-file-control-icon{width:1.25rem;height:1.25rem;display:inline-flex;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-multi-file-control-icon.add{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-vertical{width:1.5rem;height:1.5rem;margin-bottom:.5rem;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23758795\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-horizontal{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.clear{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/%3E%3C/svg%3E')}\n"], dependencies: [{ kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
116
+ }
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbMultiFileControl, decorators: [{
118
+ type: Component,
119
+ args: [{ selector: 'bb-multi-file-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
120
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbMultiFileControl), multi: true },
121
+ { provide: NG_VALIDATORS, useExisting: BbMultiFileControl, multi: true }
122
+ ], host: {
123
+ 'class': 'bb-multi-file-control',
124
+ '[class.required]': 'required',
125
+ '[class.disabled]': 'disabled',
126
+ '[class.grouped]': 'grouped',
127
+ '[class.dragging]': 'dragging',
128
+ '[class.error]': 'error'
129
+ }, preserveWhitespaces: false, standalone: true, imports: [BbFormError, BbTemplate, BbButton, BbLocalize, BbLocalizeTemplate, BbLocalizeString], template: "<!-- The label of the input. -->\n@if (label; as labelContent) {\n <label [for]=\"labelId\"\n class=\"bb-multi-file-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<input #fileInput\n [id]=\"labelId\"\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-multi-file-control-input\"\n type=\"file\"\n tabindex=\"-1\"\n multiple>\n\n<div class=\"bb-multi-file-control-container\">\n @if (showList) {\n <ul class=\"bb-multi-file-control-list\">\n @for (item of items; track item?.id) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <a [href]=\"item?.url\"\n target=\"_blank\"\n rel=\"noopener\"\n class=\"bb-multi-file-control-item-content\">{{ item?.label }}</a>\n @if (!disabled && delete?.observed) {\n <button (click)=\"delete?.emit(item)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n @for (file of value; track $index) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <button (click)=\"downloadFile(file)\"\n class=\"bb-multi-file-control-item-content\"\n type=\"button\">\n {{ file?.name }}\n </button>\n @if (!disabled) {\n <button (click)=\"deleteFile($index)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n </ul>\n } @else if (!disabled) {\n <i class=\"bb-multi-file-control-icon attach-vertical\"></i>\n <p [bb-localize-string]=\"'multi-file-control.choose_file_text' | bbLocalize\"\n class=\"bb-multi-file-control-empty\">\n <label *bbLocalizeTemplate=\"'label'\"\n [for]=\"labelId\">{{ 'multi-file-control.choose_file' | bbLocalize }}</label>\n </p>\n }\n @if (!disabled) {\n <button (click)=\"openFileDialog()\"\n type=\"button\"\n class=\"primary small bb-multi-file-control-button\"\n bb-button>\n <i class=\"bb-multi-file-control-icon add\" suffix></i>\n {{ 'multi-file-control.choose_file' | bbLocalize }}\n </button>\n }\n</div>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The file picker hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-multi-file-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-multi-file-control{display:block}.bb-multi-file-control.grouped{margin-bottom:1.5rem}.bb-multi-file-control.required>.bb-multi-file-control-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-multi-file-control.dragging>.bb-multi-file-control-container{border-color:#757e8a;box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--bb-multi-file-control-box-shadow)}.bb-multi-file-control.disabled>.bb-multi-file-control-container{cursor:default;color:gray;background-color:#e6e6e6}.bb-multi-file-control-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-multi-file-control-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-multi-file-control-container{width:100%;display:flex;color:#111;padding:.5rem;overflow:hidden;min-height:7.5rem;align-items:center;border-radius:.5rem;flex-direction:column;justify-content:center;background-color:#fff;border:1px solid hsl(213,8%,74%);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-multi-file-control-button{margin-top:.5rem}.bb-multi-file-control-list{flex:1;width:100%;overflow:hidden}.bb-multi-file-control-empty{flex:1;width:100%;color:#758795;display:block;font-weight:400;line-height:1.5;text-align:center;font-size:.875rem}.bb-multi-file-control-empty>label{cursor:pointer;display:inline;font-size:inherit;font-weight:inherit;text-decoration:underline;color:var(--bb-multi-file-control-color)}.bb-multi-file-control-item{height:2rem;display:flex;max-width:100%;overflow:hidden;align-items:center;white-space:nowrap;border-radius:.5rem;text-overflow:ellipsis;padding:0 .25rem 0 .5rem;border:1px solid hsl(213,8%,74%);background-color:#edf4fd}.bb-multi-file-control-item:not(:last-child){margin-bottom:.25rem}.bb-multi-file-control-item-content{flex:1;padding:0;border:none;max-width:100%;margin:0 .5rem;overflow:hidden;appearance:none;text-align:left;font-weight:400;font-size:.875rem;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;background-color:transparent}.bb-multi-file-control-item-content,.bb-multi-file-control-item-content:visited{color:#0a305c}.bb-multi-file-control-item-content:hover,.bb-multi-file-control-item-content:focus{text-decoration:underline}.bb-multi-file-control-item-button{padding:0;width:1.5rem;display:flex;height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;border:1px solid hsl(0,73%,25%);background-color:#b51c1c}.bb-multi-file-control-item-button:hover,.bb-multi-file-control-item-button:focus{background-color:#a81a1a}.bb-multi-file-control-item-button:active{background-color:#9a1818}.bb-multi-file-control-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.bb-multi-file-control-icon{width:1.25rem;height:1.25rem;display:inline-flex;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-multi-file-control-icon.add{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-vertical{width:1.5rem;height:1.5rem;margin-bottom:.5rem;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23758795\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-horizontal{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.clear{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/%3E%3C/svg%3E')}\n"] }]
130
+ }], ctorParameters: () => [{ type: i1.Files }, { type: i0.ChangeDetectorRef }], propDecorators: { fileInput: [{
131
+ type: ViewChild,
132
+ args: ['fileInput', { static: true }]
133
+ }], label: [{
134
+ type: Input
135
+ }], hint: [{
136
+ type: Input
137
+ }], accept: [{
138
+ type: Input
139
+ }], grouped: [{
140
+ type: Input,
141
+ args: [{ transform: booleanAttribute }]
142
+ }], required: [{
143
+ type: Input,
144
+ args: [{ transform: booleanAttribute }]
145
+ }], disabled: [{
146
+ type: Input,
147
+ args: [{ transform: booleanAttribute }]
148
+ }], hideErrors: [{
149
+ type: Input,
150
+ args: [{ transform: booleanAttribute }]
151
+ }], items: [{
152
+ type: Input
153
+ }], delete: [{
154
+ type: Output
155
+ }], onDrag: [{
156
+ type: HostListener,
157
+ args: ['dragover', ['$event', 'true']]
158
+ }, {
159
+ type: HostListener,
160
+ args: ['dragleave', ['$event', 'false']]
161
+ }], onDrop: [{
162
+ type: HostListener,
163
+ args: ['drop', ['$event']]
164
+ }] } });
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9tdWx0aS1maWxlLWNvbnRyb2wvbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9tdWx0aS1maWxlLWNvbnRyb2wvbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFvQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRyxPQUFPLEVBQUMsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUdwRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUF3QnJCLE1BQU0sT0FBTyxrQkFBa0I7SUE4QjNCLFlBQW9CLE1BQWEsRUFDYixrQkFBcUM7UUFEckMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUNiLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUE3QnpELGlCQUFpQjtRQUNSLFlBQU8sR0FBVyx5QkFBeUIs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VUFBVTt3QkFDOUIsZUFBZSxFQUFFLE9BQU87cUJBQzNCLHVCQUNvQixLQUFLLGNBQ2QsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDOzBHQVF0RCxTQUFTO3NCQUFoRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBRzdCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNnQyxPQUFPO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0UsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxVQUFVO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUMzQixLQUFLO3NCQUFiLEtBQUs7Z0JBR0ksTUFBTTtzQkFBZixNQUFNO2dCQXFCUCxNQUFNO3NCQUZMLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQzs7c0JBQzNDLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQztnQkFhOUMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtCYkxvY2FsaXplLCBCYkxvY2FsaXplVGVtcGxhdGUsIEJiTG9jYWxpemVTdHJpbmd9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7QmJGb3JtRXJyb3J9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xuaW1wb3J0IHtCYlRlbXBsYXRlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi91dGlscyc7XG5pbXBvcnQge0JiQnV0dG9ufSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0ZpbGVzfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbic7XG5cbmxldCBuZXh0VW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLW11bHRpLWZpbGUtY29udHJvbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL211bHRpLWZpbGUtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCYk11bHRpRmlsZUNvbnRyb2wpLCBtdWx0aTogdHJ1ZX0sXG4gICAgICAgIHtwcm92aWRlOiBOR19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogQmJNdWx0aUZpbGVDb250cm9sLCBtdWx0aTogdHJ1ZX1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2NsYXNzJzogJ2JiLW11bHRpLWZpbGUtY29udHJvbCcsXG4gICAgICAgICdbY2xhc3MucmVxdWlyZWRdJzogJ3JlcXVpcmVkJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW2NsYXNzLmdyb3VwZWRdJzogJ2dyb3VwZWQnLFxuICAgICAgICAnW2NsYXNzLmRyYWdnaW5nXSc6ICdkcmFnZ2luZycsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yJ1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJGb3JtRXJyb3IsIEJiVGVtcGxhdGUsIEJiQnV0dG9uLCBCYkxvY2FsaXplLCBCYkxvY2FsaXplVGVtcGxhdGUsIEJiTG9jYWxpemVTdHJpbmddXG59KVxuZXhwb3J0IGNsYXNzIEJiTXVsdGlGaWxlQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgbGFiZWxJZDogc3RyaW5nID0gYGJiLW11bHRpLWZpbGUtY29udHJvbC0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgZmlsZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBncm91cGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGhpZGVFcnJvcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpdGVtczogeyBpZDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB1cmw6IHN0cmluZyB9W10gPSBbXTtcblxuICAgIC8vIE91dHB1dHMuXG4gICAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpZDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB1cmw6IHN0cmluZyB9PigpO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgdmFsdWU6IEZpbGVbXSA9IFtdO1xuICAgIGRyYWdnaW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIENhbGxiYWNrcy5cbiAgICBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG4gICAgb25DaGFuZ2VDYWxsYmFjazogKF86IEZpbGVbXSB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZmlsZXM6IEZpbGVzLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIH1cblxuICAgIGdldCBzaG93TGlzdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/Lmxlbmd0aCA+IDAgfHwgdGhpcy5pdGVtcz8ubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50JywgJ3RydWUnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCcsICdmYWxzZSddKVxuICAgIG9uRHJhZyhldmVudDogRXZlbnQsIGlzSG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kcmFnZ2luZyA9IGlzSG92ZXJlZDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgICBvbkRyb3AoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGZpbGVzOiBGaWxlTGlzdCA9IGV2ZW50Py5bJ2RhdGFUcmFuc2ZlciddLmZpbGVzO1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRGaWxlcyhmaWxlcyk7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzLmRvd25sb2FkKGZpbGUsIGZpbGU/Lm5hbWUpO1xuICAgIH1cblxuICAgIG9wZW5GaWxlRGlhbG9nKCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgZWxlbWVudD8uY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWxlczogRmlsZUxpc3QgPSBldmVudC50YXJnZXQ/LlsnZmlsZXMnXTtcbiAgICAgICAgdGhpcy5hZGRGaWxlcyhmaWxlcyk7XG4gICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2s/Lih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBkZWxldGVGaWxlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMudmFsdWU/LmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpID8/IFtdO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2s/Lih0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBGaWxlW10gfCBudWxsKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG1ldGhvZDogKF86IEZpbGVbXSB8IG51bGwpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gbWV0aG9kO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKG1ldGhvZDogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gbWV0aG9kO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25FcnJvckNoYW5nZShlcnJvcjogeyB0b2tlbjogc3RyaW5nLCBkYXRhPzogYW55IH0gfCBudWxsKSB7XG4gICAgICAgIHRoaXMuZXJyb3IgPSAhIWVycm9yO1xuICAgIH1cblxuICAgIHZhbGlkYXRlKHt2YWx1ZX06IEZvcm1Db250cm9sPEZpbGVbXT4pIHtcbiAgICAgICAgLy8gVE9ETyhAU3Rhbik6IGZpbGUgc2l6ZSB2YWxpZGF0aW9uICsgZmlsZSB0eXBlIHZhbGlkYXRpb25cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRGaWxlcyhmaWxlczogRmlsZUxpc3QpIHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbGVzPy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBmaWxlcz8uW2luZGV4XSA/PyBudWxsO1xuICAgICAgICAgICAgaWYgKCEodGhpcy5pc0ZpbGUoZmlsZSkgfHwgdGhpcy5pc0Jsb2IoZmlsZSkpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlLnB1c2goZmlsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsZShpbnB1dDogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gJ0ZpbGUnIGluIHdpbmRvdyAmJiBpbnB1dCBpbnN0YW5jZW9mIEZpbGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Jsb2IoaW5wdXQ6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuICdCbG9iJyBpbiB3aW5kb3cgJiYgaW5wdXQgaW5zdGFuY2VvZiBCbG9iO1xuICAgIH1cblxufVxuIiwiPCEtLSBUaGUgbGFiZWwgb2YgdGhlIGlucHV0LiAtLT5cbkBpZiAobGFiZWw7IGFzIGxhYmVsQ29udGVudCkge1xuICAgIDxsYWJlbCBbZm9yXT1cImxhYmVsSWRcIlxuICAgICAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1sYWJlbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwibGFiZWxDb250ZW50XCI+e3sgbGFiZWxDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2xhYmVsPlxufVxuXG48aW5wdXQgI2ZpbGVJbnB1dFxuICAgICAgIFtpZF09XCJsYWJlbElkXCJcbiAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pbnB1dFwiXG4gICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgIG11bHRpcGxlPlxuXG48ZGl2IGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWNvbnRhaW5lclwiPlxuICAgIEBpZiAoc2hvd0xpc3QpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0/LmlkKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBhdHRhY2gtaG9yaXpvbnRhbFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiaXRlbT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pdGVtLWNvbnRlbnRcIj57eyBpdGVtPy5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghZGlzYWJsZWQgJiYgZGVsZXRlPy5vYnNlcnZlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlPy5lbWl0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBjbGVhclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGZpbGUgb2YgdmFsdWU7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWljb24gYXR0YWNoLWhvcml6b250YWxcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkRmlsZShmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaXRlbS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWxlPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlRmlsZSgkaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBjbGVhclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICB9IEBlbHNlIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBhdHRhY2gtdmVydGljYWxcIj48L2k+XG4gICAgICAgIDxwIFtiYi1sb2NhbGl6ZS1zdHJpbmddPVwiJ211bHRpLWZpbGUtY29udHJvbC5jaG9vc2VfZmlsZV90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1lbXB0eVwiPlxuICAgICAgICAgICAgPGxhYmVsICpiYkxvY2FsaXplVGVtcGxhdGU9XCInbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICBbZm9yXT1cImxhYmVsSWRcIj57eyAnbXVsdGktZmlsZS1jb250cm9sLmNob29zZV9maWxlJyB8IGJiTG9jYWxpemUgfX08L2xhYmVsPlxuICAgICAgICA8L3A+XG4gICAgfVxuICAgIEBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5GaWxlRGlhbG9nKClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJpbWFyeSBzbWFsbCBiYi1tdWx0aS1maWxlLWNvbnRyb2wtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBiYi1idXR0b24+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pY29uIGFkZFwiIHN1ZmZpeD48L2k+XG4gICAgICAgICAgICB7eyAnbXVsdGktZmlsZS1jb250cm9sLmNob29zZV9maWxlJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9kaXY+XG5cbkBpZiAoIWhpZGVFcnJvcnMpIHtcbiAgICA8YmItZm9ybS1lcnJvciAoZXJyb3JDaGFuZ2UpPVwib25FcnJvckNoYW5nZSgkZXZlbnQpXCI+PC9iYi1mb3JtLWVycm9yPlxufVxuXG48IS0tIFRoZSBmaWxlIHBpY2tlciBoaW50LiAtLT5cbkBpZiAoaGludDsgYXMgaGludENvbnRlbnQpIHtcbiAgICA8cCBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1oaW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbYmJUZW1wbGF0ZV09XCJoaW50Q29udGVudFwiPnt7IGhpbnRDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { inject, LOCALE_ID, Pipe } from '@angular/core';
2
+ import { Localize } from '@bravobit/bb-foundation/localize';
3
+ import { parseDate } from '@bravobit/bb-foundation';
4
+ import { formatDate } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ export class BbDate {
7
+ constructor() {
8
+ // Dependencies.
9
+ this._localize = inject(Localize, { optional: true });
10
+ this._localeId = inject(LOCALE_ID);
11
+ }
12
+ transform(value, format) {
13
+ const date = parseDate(value);
14
+ if (date === null) {
15
+ return null;
16
+ }
17
+ const locale = this._localize?.current?.locale ?? this._localeId ?? 'en-US';
18
+ return formatDate(date, format ?? 'mediumDate', locale);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbDate, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
21
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: BbDate, isStandalone: true, name: "bbDate" }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbDate, decorators: [{
24
+ type: Pipe,
25
+ args: [{
26
+ name: 'bbDate',
27
+ standalone: true
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2RhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU0zQyxNQUFNLE9BQU8sTUFBTTtJQUpuQjtRQU1JLGdCQUFnQjtRQUNDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDL0MsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQVlsRDtJQVZHLFNBQVMsQ0FBQyxLQUE2QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUM7UUFDNUUsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQzs4R0FkUSxNQUFNOzRHQUFOLE1BQU07OzJGQUFOLE1BQU07a0JBSmxCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIExPQ0FMRV9JRCwgUGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9sb2NhbGl6ZSc7XG5pbXBvcnQge3BhcnNlRGF0ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtmb3JtYXREYXRlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiRGF0ZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYkRhdGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIC8vIERlcGVuZGVuY2llcy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9sb2NhbGl6ZSA9IGluamVjdChMb2NhbGl6ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxlSWQgPSBpbmplY3QoTE9DQUxFX0lEKTtcblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSwgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZURhdGUodmFsdWUpO1xuICAgICAgICBpZiAoZGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb2NhbGUgPSB0aGlzLl9sb2NhbGl6ZT8uY3VycmVudD8ubG9jYWxlID8/IHRoaXMuX2xvY2FsZUlkID8/ICdlbi1VUyc7XG4gICAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsIGZvcm1hdCA/PyAnbWVkaXVtRGF0ZScsIGxvY2FsZSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -32,13 +32,14 @@ export class BbFileImage {
32
32
  return null;
33
33
  });
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
36
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BbFileImage, name: "bbFileImage" }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
36
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: BbFileImage, isStandalone: true, name: "bbFileImage" }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFileImage, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbFileImage, decorators: [{
39
39
  type: Pipe,
40
40
  args: [{
41
- name: 'bbFileImage'
41
+ name: 'bbFileImage',
42
+ standalone: true
42
43
  }]
43
44
  }], ctorParameters: () => [{ type: i1.Platform }, { type: i2.ImageConverter }, { type: i3.DomSanitizer }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2ZpbGUtaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFNbEQsTUFBTSxPQUFPLFdBQVc7SUFFcEIsWUFBb0IsU0FBbUIsRUFDbkIsTUFBc0IsRUFDdEIsVUFBd0I7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFjO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQVU7UUFDdEIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ2pDLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1NBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE9BQU87Z0JBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3pFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLO2FBQzFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQS9CUSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSHZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGFBQWE7aUJBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbWFnZUNvbnZlcnRlcn0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24nO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYmJGaWxlSW1hZ2UnXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZUltYWdlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfaW1hZ2U6IEltYWdlQ29udmVydGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgYXN5bmMgdHJhbnNmb3JtKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgaXMgbm90IGEgZmlsZSByZXR1cm4uXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyIHx8ICEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZS5maWxlVG9JbWFnZShmaWxlLCBbXG4gICAgICAgICAgICAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICdpbWFnZS9qcGVnJyxcbiAgICAgICAgICAgICdpbWFnZS93ZWJwJyxcbiAgICAgICAgICAgICdpbWFnZS9naWYnLFxuICAgICAgICAgICAgJ2ltYWdlL3N2Zyt4bWwnXG4gICAgICAgIF0pLnRoZW4oaW1hZ2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke2ltYWdlLnNyY30pYCksXG4gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW86IGltYWdlLmhlaWdodCAvIGltYWdlLndpZHRoXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2ZpbGUtaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbEQsTUFBTSxPQUFPLFdBQVc7SUFFcEIsWUFBb0IsU0FBbUIsRUFDbkIsTUFBc0IsRUFDdEIsVUFBd0I7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFjO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQVU7UUFDdEIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ2pDLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1NBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE9BQU87Z0JBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3pFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLO2FBQzFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQS9CUSxXQUFXOzRHQUFYLFdBQVc7OzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW1hZ2VDb252ZXJ0ZXJ9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiRmlsZUltYWdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZUltYWdlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfaW1hZ2U6IEltYWdlQ29udmVydGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgYXN5bmMgdHJhbnNmb3JtKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgaXMgbm90IGEgZmlsZSByZXR1cm4uXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyIHx8ICEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZS5maWxlVG9JbWFnZShmaWxlLCBbXG4gICAgICAgICAgICAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICdpbWFnZS9qcGVnJyxcbiAgICAgICAgICAgICdpbWFnZS93ZWJwJyxcbiAgICAgICAgICAgICdpbWFnZS9naWYnLFxuICAgICAgICAgICAgJ2ltYWdlL3N2Zyt4bWwnXG4gICAgICAgIF0pLnRoZW4oaW1hZ2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke2ltYWdlLnNyY30pYCksXG4gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW86IGltYWdlLmhlaWdodCAvIGltYWdlLndpZHRoXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -16,13 +16,14 @@ export class BbFileSize {
16
16
  transform(value) {
17
17
  return this.format(value);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.1", ngImport: i0, type: BbFileSize, name: "bbFileSize" }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
20
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.5", ngImport: i0, type: BbFileSize, isStandalone: true, name: "bbFileSize" }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbFileSize, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbFileSize, decorators: [{
23
23
  type: Pipe,
24
24
  args: [{
25
- name: 'bbFileSize'
25
+ name: 'bbFileSize',
26
+ standalone: true
26
27
  }]
27
28
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBTyxVQUFVO0lBSHZCO1FBU1ksV0FBTSxHQUFHLENBQUMsS0FBYSxFQUFFLFdBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4RCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDO0tBRUw7SUFsQkcsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBSlEsVUFBVTs0R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUh0QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnYmJGaWxlU2l6ZSdcbn0pXG5leHBvcnQgY2xhc3MgQmJGaWxlU2l6ZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdCA9ICh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsczogbnVtYmVyID0gMikgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrID0gMTAyNDtcbiAgICAgICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLmxvZyhrKSk7XG5cbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoKHZhbHVlIC8gTWF0aC5wb3coaywgaW5kZXgpKS50b0ZpeGVkKGRtKSkgKyAnICcgKyBzaXplc1tpbmRleF07XG4gICAgfTtcblxufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBTWxELE1BQU0sT0FBTyxVQUFVO0lBSnZCO1FBVVksV0FBTSxHQUFHLENBQUMsS0FBYSxFQUFFLFdBQW1CLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFeEUsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4RCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDO0tBRUw7SUFsQkcsU0FBUyxDQUFDLEtBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBSlEsVUFBVTs0R0FBVixVQUFVOzsyRkFBVixVQUFVO2tCQUp0QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiRmlsZVNpemUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJGaWxlU2l6ZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdCA9ICh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsczogbnVtYmVyID0gMikgPT4ge1xuICAgICAgICBpZiAodmFsdWUgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCBCeXRlcyc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrID0gMTAyNDtcbiAgICAgICAgY29uc3QgZG0gPSBkZWNpbWFscyA8IDAgPyAwIDogZGVjaW1hbHM7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdLQicsICdNQicsICdHQicsICdUQicsICdQQicsICdFQicsICdaQicsICdZQiddO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLmxvZyhrKSk7XG5cbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoKHZhbHVlIC8gTWF0aC5wb3coaywgaW5kZXgpKS50b0ZpeGVkKGRtKSkgKyAnICcgKyBzaXplc1tpbmRleF07XG4gICAgfTtcblxufVxuIl19
@@ -79,13 +79,14 @@ export class BbRelativeTime {
79
79
  get locale() {
80
80
  return this._localize?.current?.locale ?? this._localeId;
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", 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: "17.3.1", ngImport: i0, type: BbRelativeTime, name: "bbRelativeTime" }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", 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: "18.0.5", ngImport: i0, type: BbRelativeTime, isStandalone: true, name: "bbRelativeTime" }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BbRelativeTime, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: BbRelativeTime, decorators: [{
86
86
  type: Pipe,
87
87
  args: [{
88
- name: 'bbRelativeTime'
88
+ name: 'bbRelativeTime',
89
+ standalone: true
89
90
  }]
90
91
  }], ctorParameters: () => [{ type: undefined, decorators: [{
91
92
  type: Inject,
@@ -93,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
93
94
  }] }, { type: i1.Localize, decorators: [{
94
95
  type: Optional
95
96
  }] }] });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUF1QyxTQUFpQixFQUN4QixTQUFvQjtRQURiLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXFENUMsZ0JBQVcsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUTtnQkFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVU7Z0JBQ2xDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsQ0FBQyxLQUE2QixFQUFFLEVBQUU7WUFDcEQsNEJBQTRCO1lBQzVCLCtCQUErQjtZQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSx5REFBeUQsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckcsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELGtDQUFrQztZQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVNLFlBQU8sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxH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TyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzVCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQztTQUN0RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDOzhHQXREUSxjQUFjLGtCQUVILFNBQVM7NEdBRnBCLGNBQWM7OzJGQUFkLGNBQWM7a0JBSDFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtpQkFDekI7OzBCQUdnQixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIExPQ0FMRV9JRCwgT3B0aW9uYWwsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtmb3JtYXREYXRlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiUmVsYXRpdmVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBCYlJlbGF0aXZlVGltZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgICAgICAvLyBQYXJzZSB0aGUgdmFsdWUgdG8gYSBkYXRlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VBc0RhdGUodmFsdWUpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkLlxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGUoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdChkYXRlOiBEYXRlKSB7XG4gICAgICAgIC8vIEl0IGhhcHBlbnMgdG9tb3Jyb3cuXG4gICAgICAgIGlmICh0aGlzLmlzVG9tb3Jyb3coZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMudG9tb3Jyb3dfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdCBoYXBwZW5lZCB0b2RheS5cbiAgICAgICAgaWYgKHRoaXMuaXNUb2RheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b2RheV9hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHllc3RlcmRheS5cbiAgICAgICAgaWYgKHRoaXMuaXNZZXN0ZXJkYXkoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMueWVzdGVyZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhkYXRlOiBEYXRlLCB0b2tlbj86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9sb2NhbGl6ZSB8fCAhdG9rZW4gfHwgIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgJ21lZGl1bURhdGUnLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHRyYW5zbGF0ZWQgZm9ybWF0dGluZy5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZSh7XG4gICAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgICBkYXRhOiB7ZGF0ZTogZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsIHRoaXMubG9jYWxlKX1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSA/PyB0aGlzLl9sb2NhbGVJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkYXRlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIGRhdGUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUFzRGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkgPT4ge1xuICAgICAgICAvLyBBZGQgYSBaIGFmdGVyIHRoZSBkYXRlIHNvXG4gICAgICAgIC8vIGl0IGlzIHRyZWF0ZWQgYXMgYSBVVEMgZGF0ZS5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoYCR7dmFsdWV9WmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWd1bGFyIHBhcnNlZCBkYXRlLlxuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzVG9kYXkgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvZGF5Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b2RheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHllc3RlcmRheSA9IG5ldyBEYXRlKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpIC0gMSkpO1xuICAgICAgICByZXR1cm4gZGF0ZT8uZ2V0RGF0ZSgpID09PSB5ZXN0ZXJkYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0geWVzdGVyZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZXN0ZXJkYXk/LmdldEZ1bGxZZWFyKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvbW9ycm93Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvbW9ycm93Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b21vcnJvdz8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG59XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQUV2QixZQUF1QyxTQUFpQixFQUN4QixTQUFvQjtRQURiLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDeEIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXFENUMsZ0JBQVcsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUTtnQkFDM0IsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVU7Z0JBQ2xDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLENBQUMsQ0FBQztRQUVNLGdCQUFXLEdBQUcsQ0FBQyxLQUE2QixFQUFFLEVBQUU7WUFDcEQsNEJBQTRCO1lBQzVCLCtCQUErQjtZQUMvQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSx5REFBeUQsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckcsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDakMsQ0FBQztZQUVELGtDQUFrQztZQUNsQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQztRQUVNLFlBQU8sR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxH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TyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1lBQzVCLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBQztTQUN0RCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBWSxNQUFNO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUM3RCxDQUFDOzhHQXREUSxjQUFjLGtCQUVILFNBQVM7NEdBRnBCLGNBQWM7OzJGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFHZ0IsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBMT0NBTEVfSUQsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdiYlJlbGF0aXZlVGltZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlJlbGF0aXZlVGltZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgICAgICAvLyBQYXJzZSB0aGUgdmFsdWUgdG8gYSBkYXRlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VBc0RhdGUodmFsdWUpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkLlxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGUoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdChkYXRlOiBEYXRlKSB7XG4gICAgICAgIC8vIEl0IGhhcHBlbnMgdG9tb3Jyb3cuXG4gICAgICAgIGlmICh0aGlzLmlzVG9tb3Jyb3coZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMudG9tb3Jyb3dfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdCBoYXBwZW5lZCB0b2RheS5cbiAgICAgICAgaWYgKHRoaXMuaXNUb2RheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b2RheV9hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHllc3RlcmRheS5cbiAgICAgICAgaWYgKHRoaXMuaXNZZXN0ZXJkYXkoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMueWVzdGVyZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhkYXRlOiBEYXRlLCB0b2tlbj86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9sb2NhbGl6ZSB8fCAhdG9rZW4gfHwgIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgJ21lZGl1bURhdGUnLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHRyYW5zbGF0ZWQgZm9ybWF0dGluZy5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZSh7XG4gICAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgICBkYXRhOiB7ZGF0ZTogZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsIHRoaXMubG9jYWxlKX1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSA/PyB0aGlzLl9sb2NhbGVJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkYXRlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIGRhdGUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUFzRGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkgPT4ge1xuICAgICAgICAvLyBBZGQgYSBaIGFmdGVyIHRoZSBkYXRlIHNvXG4gICAgICAgIC8vIGl0IGlzIHRyZWF0ZWQgYXMgYSBVVEMgZGF0ZS5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoYCR7dmFsdWV9WmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWd1bGFyIHBhcnNlZCBkYXRlLlxuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzVG9kYXkgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvZGF5Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b2RheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHllc3RlcmRheSA9IG5ldyBEYXRlKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpIC0gMSkpO1xuICAgICAgICByZXR1cm4gZGF0ZT8uZ2V0RGF0ZSgpID09PSB5ZXN0ZXJkYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0geWVzdGVyZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZXN0ZXJkYXk/LmdldEZ1bGxZZWFyKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvbW9ycm93Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvbW9ycm93Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b21vcnJvdz8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG59XG4iXX0=