@bravobit/bb-foundation 0.21.6 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/auth/lib/auth.interceptor.d.ts +1 -1
  2. package/auth/lib/auth.module.d.ts +4 -5
  3. package/auth/lib/auth.service.d.ts +4 -7
  4. package/auth/lib/directives/abstract.directive.d.ts +12 -0
  5. package/auth/lib/directives/authenticated.directive.d.ts +7 -4
  6. package/auth/lib/directives/permission.directive.d.ts +11 -11
  7. package/auth/lib/guards/anonymous.guard.d.ts +8 -5
  8. package/auth/lib/guards/authenticated.guard.d.ts +8 -5
  9. package/auth/lib/guards/permission.guard.d.ts +15 -0
  10. package/auth/lib/interfaces/config.interface.d.ts +14 -8
  11. package/auth/lib/interfaces/permission.interface.d.ts +6 -0
  12. package/auth/lib/interfaces/provider.interface.d.ts +10 -3
  13. package/auth/lib/permissions/permissions.handler.d.ts +9 -0
  14. package/auth/lib/permissions/permissions.service.d.ts +16 -0
  15. package/auth/lib/providers/email.provider.d.ts +2 -8
  16. package/auth/lib/providers/verify.provider.d.ts +2 -6
  17. package/auth/public_api.d.ts +4 -4
  18. package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +5 -1
  19. package/controls/lib/control-error/control-error/control-error.animation.d.ts +1 -0
  20. package/controls/lib/control-error/control-error/control-error.component.d.ts +17 -0
  21. package/controls/lib/control-error/control-error-submit.directive.d.ts +15 -0
  22. package/controls/lib/control-error/control-error.defaults.d.ts +2 -0
  23. package/controls/lib/control-error/control-error.interface.d.ts +12 -0
  24. package/controls/lib/control-error/control-error.module.d.ts +9 -0
  25. package/controls/lib/controls.interfaces.d.ts +4 -0
  26. package/controls/lib/controls.module.d.ts +7 -2
  27. package/controls/lib/form-control/form-control/form-control.component.d.ts +31 -0
  28. package/controls/lib/form-control/form-control-addon/form-control-addon.component.d.ts +6 -0
  29. package/controls/lib/form-control/form-control-input.directive.d.ts +35 -0
  30. package/controls/lib/form-control/form-control.module.d.ts +11 -0
  31. package/controls/public_api.d.ts +9 -0
  32. package/dashboard/lib/dashboard/dashboard.component.d.ts +2 -1
  33. package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +10 -5
  34. package/dialog/lib/dialog-container/dialog-container.animations.d.ts +1 -0
  35. package/dialog/lib/dialog-container/dialog-container.component.d.ts +5 -7
  36. package/dialog/lib/dialog-header/dialog-header.component.d.ts +1 -3
  37. package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +7 -3
  38. package/dialog/lib/dialog-overlay/dialog-overlay.animations.d.ts +1 -0
  39. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +5 -7
  40. package/dialog/lib/dialog.service.d.ts +4 -3
  41. package/elements/lib/directives/focus-trap.directive.d.ts +1 -1
  42. package/elements/lib/directives/focus.directive.d.ts +1 -3
  43. package/elements/lib/pipes/file-image.pipe.d.ts +2 -1
  44. package/esm2020/auth/lib/auth.interceptor.mjs +9 -12
  45. package/esm2020/auth/lib/auth.module.mjs +7 -17
  46. package/esm2020/auth/lib/auth.service.mjs +29 -55
  47. package/esm2020/auth/lib/directives/abstract.directive.mjs +40 -0
  48. package/esm2020/auth/lib/directives/authenticated.directive.mjs +25 -14
  49. package/esm2020/auth/lib/directives/permission.directive.mjs +24 -46
  50. package/esm2020/auth/lib/guards/anonymous.guard.mjs +28 -19
  51. package/esm2020/auth/lib/guards/authenticated.guard.mjs +31 -20
  52. package/esm2020/auth/lib/guards/permission.guard.mjs +53 -0
  53. package/esm2020/auth/lib/helpers/jwt.helper.mjs +7 -7
  54. package/esm2020/auth/lib/interfaces/config.interface.mjs +1 -1
  55. package/esm2020/auth/lib/interfaces/permission.interface.mjs +2 -0
  56. package/esm2020/auth/lib/interfaces/provider.interface.mjs +1 -1
  57. package/esm2020/auth/lib/permissions/permissions.handler.mjs +33 -0
  58. package/esm2020/auth/lib/permissions/permissions.service.mjs +64 -0
  59. package/esm2020/auth/lib/providers/email.provider.mjs +8 -9
  60. package/esm2020/auth/lib/providers/verify.provider.mjs +8 -5
  61. package/esm2020/auth/public_api.mjs +5 -5
  62. package/esm2020/collections/lib/collections.module.mjs +4 -4
  63. package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +3 -3
  64. package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +3 -3
  65. package/esm2020/collections/lib/components/collections.directive.mjs +12 -12
  66. package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +19 -6
  67. package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +4 -4
  68. package/esm2020/controls/lib/checkbox/checkbox.module.mjs +4 -4
  69. package/esm2020/controls/lib/control-error/control-error/control-error.animation.mjs +14 -0
  70. package/esm2020/controls/lib/control-error/control-error/control-error.component.mjs +63 -0
  71. package/esm2020/controls/lib/control-error/control-error-submit.directive.mjs +47 -0
  72. package/esm2020/controls/lib/control-error/control-error.defaults.mjs +26 -0
  73. package/esm2020/controls/lib/control-error/control-error.interface.mjs +3 -0
  74. package/esm2020/controls/lib/control-error/control-error.module.mjs +19 -0
  75. package/esm2020/controls/lib/controls.interfaces.mjs +2 -0
  76. package/esm2020/controls/lib/controls.module.mjs +45 -8
  77. package/esm2020/controls/lib/form-control/form-control/form-control.component.mjs +94 -0
  78. package/esm2020/controls/lib/form-control/form-control-addon/form-control-addon.component.mjs +22 -0
  79. package/esm2020/controls/lib/form-control/form-control-input.directive.mjs +124 -0
  80. package/esm2020/controls/lib/form-control/form-control.module.mjs +33 -0
  81. package/esm2020/controls/public_api.mjs +10 -1
  82. package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +7 -6
  83. package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +3 -3
  84. package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +3 -3
  85. package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +3 -3
  86. package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +3 -3
  87. package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +3 -3
  88. package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +3 -3
  89. package/esm2020/dashboard/lib/dashboard.module.mjs +4 -4
  90. package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +3 -3
  91. package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +17 -11
  92. package/esm2020/dialog/lib/dialog-container/dialog-container.animations.mjs +29 -0
  93. package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +28 -104
  94. package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +7 -14
  95. package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +4 -4
  96. package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +29 -8
  97. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.animations.mjs +26 -0
  98. package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +29 -84
  99. package/esm2020/dialog/lib/dialog.insertion.mjs +3 -3
  100. package/esm2020/dialog/lib/dialog.module.mjs +4 -4
  101. package/esm2020/dialog/lib/dialog.service.mjs +8 -7
  102. package/esm2020/elements/lib/avatar/avatar.component.mjs +8 -6
  103. package/esm2020/elements/lib/button/button.component.mjs +6 -6
  104. package/esm2020/elements/lib/checkbox/checkbox.component.mjs +3 -3
  105. package/esm2020/elements/lib/date-picker/date-picker.component.mjs +3 -3
  106. package/esm2020/elements/lib/directives/addon.directive.mjs +6 -6
  107. package/esm2020/elements/lib/directives/autosize.directive.mjs +3 -3
  108. package/esm2020/elements/lib/directives/focus-trap.directive.mjs +5 -5
  109. package/esm2020/elements/lib/directives/focus.directive.mjs +7 -9
  110. package/esm2020/elements/lib/directives/form-submit.directive.mjs +3 -3
  111. package/esm2020/elements/lib/directives/form-submitter.directive.mjs +3 -3
  112. package/esm2020/elements/lib/directives/input.directive.mjs +6 -6
  113. package/esm2020/elements/lib/directives/template.directive.mjs +3 -3
  114. package/esm2020/elements/lib/dropdown/dropdown.component.mjs +6 -6
  115. package/esm2020/elements/lib/elements.module.mjs +4 -4
  116. package/esm2020/elements/lib/file-picker/file-picker.component.mjs +3 -3
  117. package/esm2020/elements/lib/form-control/form-control.component.mjs +3 -3
  118. package/esm2020/elements/lib/form-error/form-error.component.mjs +3 -3
  119. package/esm2020/elements/lib/form-group/form-group.component.mjs +3 -3
  120. package/esm2020/elements/lib/icon/icon.component.mjs +3 -3
  121. package/esm2020/elements/lib/image-picker/image-picker.component.mjs +3 -3
  122. package/esm2020/elements/lib/pipes/file-image.pipe.mjs +8 -7
  123. package/esm2020/elements/lib/pipes/file-size.pipe.mjs +3 -3
  124. package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +3 -3
  125. package/esm2020/elements/lib/spinner/spinner.component.mjs +3 -3
  126. package/esm2020/elements/lib/tag/tag.component.mjs +3 -3
  127. package/esm2020/http/lib/http.module.mjs +4 -4
  128. package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +3 -3
  129. package/esm2020/http/lib/interceptors/error.interceptor.mjs +3 -3
  130. package/esm2020/lib/core/services/clipboard.service.mjs +5 -5
  131. package/esm2020/lib/core/services/exif.service.mjs +5 -5
  132. package/esm2020/lib/core/services/file-loader.service.mjs +3 -3
  133. package/esm2020/lib/core/services/image-converter.service.mjs +5 -5
  134. package/esm2020/lib/core/services/languages.service.mjs +3 -3
  135. package/esm2020/lib/core/services/network.service.mjs +7 -7
  136. package/esm2020/lib/core/services/patch.service.mjs +7 -7
  137. package/esm2020/localize/lib/localize.module.mjs +4 -4
  138. package/esm2020/localize/lib/localize.pipe.mjs +3 -3
  139. package/esm2020/localize/lib/localize.service.mjs +5 -5
  140. package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +3 -3
  141. package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +3 -3
  142. package/esm2020/localize/lib/views/localize-template.directive.mjs +3 -3
  143. package/esm2020/masking/lib/directives/currency-mask.directive.mjs +3 -3
  144. package/esm2020/masking/lib/directives/date-mask.directive.mjs +3 -3
  145. package/esm2020/masking/lib/directives/input-mask.directive.mjs +3 -3
  146. package/esm2020/masking/lib/masking.module.mjs +4 -4
  147. package/esm2020/masking/lib/masking.service.mjs +3 -3
  148. package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +5 -5
  149. package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +7 -7
  150. package/esm2020/notifications/lib/notifications.module.mjs +4 -4
  151. package/esm2020/notifications/lib/notifications.service.mjs +5 -5
  152. package/esm2020/public_api.mjs +1 -2
  153. package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +3 -3
  154. package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +10 -10
  155. package/esm2020/recaptcha/lib/recaptcha.module.mjs +4 -4
  156. package/esm2020/storage/lib/storage.service.mjs +5 -5
  157. package/esm2020/table/lib/components/table/table.component.mjs +9 -9
  158. package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +3 -3
  159. package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +3 -3
  160. package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +3 -3
  161. package/esm2020/table/lib/table.module.mjs +4 -4
  162. package/esm2020/theming/lib/themes/checkbox-group.theme.mjs +17 -2
  163. package/esm2020/theming/lib/themes/checkbox.theme.mjs +35 -2
  164. package/esm2020/theming/lib/themes/control-error.theme.mjs +11 -0
  165. package/esm2020/theming/lib/themes/form-control-addon.theme.mjs +6 -0
  166. package/esm2020/theming/lib/themes/form-control.theme.mjs +45 -0
  167. package/esm2020/theming/lib/theming.data.mjs +82 -0
  168. package/esm2020/theming/lib/theming.directive.mjs +38 -0
  169. package/esm2020/theming/lib/theming.interface.mjs +2 -3
  170. package/esm2020/theming/lib/theming.module.mjs +12 -34
  171. package/esm2020/theming/lib/utils/theming.variable.mjs +41 -0
  172. package/esm2020/theming/public_api.mjs +6 -3
  173. package/fesm2015/bravobit-bb-foundation-auth.mjs +326 -284
  174. package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
  175. package/fesm2015/bravobit-bb-foundation-collections.mjs +22 -22
  176. package/fesm2015/bravobit-bb-foundation-controls.mjs +493 -24
  177. package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
  178. package/fesm2015/bravobit-bb-foundation-dashboard.mjs +29 -28
  179. package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  180. package/fesm2015/bravobit-bb-foundation-dialog.mjs +185 -233
  181. package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
  182. package/fesm2015/bravobit-bb-foundation-elements.mjs +99 -97
  183. package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
  184. package/fesm2015/bravobit-bb-foundation-http.mjs +10 -10
  185. package/fesm2015/bravobit-bb-foundation-localize.mjs +20 -20
  186. package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
  187. package/fesm2015/bravobit-bb-foundation-masking.mjs +16 -16
  188. package/fesm2015/bravobit-bb-foundation-notifications.mjs +18 -17
  189. package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
  190. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +16 -16
  191. package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  192. package/fesm2015/bravobit-bb-foundation-storage.mjs +4 -4
  193. package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
  194. package/fesm2015/bravobit-bb-foundation-table.mjs +22 -22
  195. package/fesm2015/bravobit-bb-foundation-theming.mjs +251 -128
  196. package/fesm2015/bravobit-bb-foundation-theming.mjs.map +1 -1
  197. package/fesm2015/bravobit-bb-foundation.mjs +33 -73
  198. package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
  199. package/fesm2020/bravobit-bb-foundation-auth.mjs +306 -277
  200. package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
  201. package/fesm2020/bravobit-bb-foundation-collections.mjs +22 -22
  202. package/fesm2020/bravobit-bb-foundation-controls.mjs +477 -24
  203. package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
  204. package/fesm2020/bravobit-bb-foundation-dashboard.mjs +29 -28
  205. package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  206. package/fesm2020/bravobit-bb-foundation-dialog.mjs +175 -233
  207. package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
  208. package/fesm2020/bravobit-bb-foundation-elements.mjs +99 -97
  209. package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
  210. package/fesm2020/bravobit-bb-foundation-http.mjs +10 -10
  211. package/fesm2020/bravobit-bb-foundation-localize.mjs +20 -20
  212. package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
  213. package/fesm2020/bravobit-bb-foundation-masking.mjs +16 -16
  214. package/fesm2020/bravobit-bb-foundation-notifications.mjs +17 -17
  215. package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
  216. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +16 -16
  217. package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  218. package/fesm2020/bravobit-bb-foundation-storage.mjs +4 -4
  219. package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
  220. package/fesm2020/bravobit-bb-foundation-table.mjs +22 -22
  221. package/fesm2020/bravobit-bb-foundation-theming.mjs +252 -120
  222. package/fesm2020/bravobit-bb-foundation-theming.mjs.map +1 -1
  223. package/fesm2020/bravobit-bb-foundation.mjs +32 -70
  224. package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
  225. package/lib/core/services/clipboard.service.d.ts +2 -2
  226. package/lib/core/services/exif.service.d.ts +1 -1
  227. package/lib/core/services/image-converter.service.d.ts +1 -1
  228. package/lib/core/services/network.service.d.ts +4 -4
  229. package/lib/core/services/patch.service.d.ts +4 -4
  230. package/localize/lib/localize.service.d.ts +1 -1
  231. package/notifications/lib/notifications-item/notifications-item.component.d.ts +1 -1
  232. package/notifications/lib/notifications.service.d.ts +1 -1
  233. package/package.json +4 -4
  234. package/public_api.d.ts +0 -1
  235. package/recaptcha/lib/recaptcha-loader.service.d.ts +3 -3
  236. package/storage/lib/storage.service.d.ts +1 -1
  237. package/theming/lib/themes/checkbox-group.theme.d.ts +14 -3
  238. package/theming/lib/themes/checkbox.theme.d.ts +30 -17
  239. package/theming/lib/themes/control-error.theme.d.ts +9 -0
  240. package/theming/lib/themes/form-control-addon.theme.d.ts +5 -0
  241. package/theming/lib/themes/form-control.theme.d.ts +32 -0
  242. package/theming/lib/theming.data.d.ts +17 -0
  243. package/theming/lib/theming.directive.d.ts +13 -0
  244. package/theming/lib/theming.interface.d.ts +19 -8
  245. package/theming/lib/theming.module.d.ts +3 -9
  246. package/theming/lib/utils/theming.variable.d.ts +16 -0
  247. package/theming/public_api.d.ts +5 -2
  248. package/auth/lib/directives/role.directive.d.ts +0 -16
  249. package/auth/lib/helpers/mapper.helper.d.ts +0 -23
  250. package/auth/lib/interfaces/mapper.interface.d.ts +0 -19
  251. package/auth/lib/permissions.service.d.ts +0 -14
  252. package/esm2020/auth/lib/directives/role.directive.mjs +0 -37
  253. package/esm2020/auth/lib/helpers/mapper.helper.mjs +0 -35
  254. package/esm2020/auth/lib/interfaces/mapper.interface.mjs +0 -2
  255. package/esm2020/auth/lib/permissions.service.mjs +0 -56
  256. package/esm2020/lib/core/services/platform.service.mjs +0 -42
  257. package/esm2020/theming/lib/themes/theme.mjs +0 -34
  258. package/esm2020/theming/lib/theming.service.mjs +0 -77
  259. package/lib/core/services/platform.service.d.ts +0 -18
  260. package/theming/lib/themes/theme.d.ts +0 -12
  261. package/theming/lib/theming.service.d.ts +0 -22
@@ -92,9 +92,9 @@ class BaseUrlInterceptor {
92
92
  return null;
93
93
  }
94
94
  }
95
- BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseUrlInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
96
- BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseUrlInterceptor });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
95
+ BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BaseUrlInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
96
+ BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BaseUrlInterceptor });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
98
98
  type: Injectable
99
99
  }], ctorParameters: function () { return [{ type: HttpConfig }]; } });
100
100
 
@@ -117,9 +117,9 @@ class ErrorInterceptor {
117
117
  }));
118
118
  }
119
119
  }
120
- ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ErrorInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
121
- ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ErrorInterceptor });
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: ErrorInterceptor, decorators: [{
120
+ ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ErrorInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
121
+ ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ErrorInterceptor });
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ErrorInterceptor, decorators: [{
123
123
  type: Injectable
124
124
  }], ctorParameters: function () { return [{ type: HttpConfig }]; } });
125
125
 
@@ -142,10 +142,10 @@ class HttpModule {
142
142
  };
143
143
  }
144
144
  }
145
- HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
146
- HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
147
- HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
148
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: HttpModule, decorators: [{
145
+ HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
146
+ HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
147
+ HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: HttpModule, decorators: [{
149
149
  type: NgModule,
150
150
  args: [{
151
151
  imports: [HttpClientModule]
@@ -178,9 +178,9 @@ class BbLocalizeTemplate {
178
178
  this.name = null;
179
179
  }
180
180
  }
181
- BbLocalizeTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
182
- BbLocalizeTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
181
+ BbLocalizeTemplate.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
182
+ BbLocalizeTemplate.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
184
184
  type: Directive,
185
185
  args: [{
186
186
  selector: '[bbLocalizeTemplate]'
@@ -205,9 +205,9 @@ class BbLocalizeTemplateOrString {
205
205
  this._viewContainerRef.createEmbeddedView(template);
206
206
  }
207
207
  }
208
- BbLocalizeTemplateOrString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeTemplateOrString, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
- BbLocalizeTemplateOrString.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: { bbLocalizeTemplateOrString: "bbLocalizeTemplateOrString" }, ngImport: i0 });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeTemplateOrString, decorators: [{
208
+ BbLocalizeTemplateOrString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeTemplateOrString, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
+ BbLocalizeTemplateOrString.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: { bbLocalizeTemplateOrString: "bbLocalizeTemplateOrString" }, ngImport: i0 });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeTemplateOrString, decorators: [{
211
211
  type: Directive,
212
212
  args: [{
213
213
  selector: '[bbLocalizeTemplateOrString]'
@@ -281,9 +281,9 @@ class BbLocalizeString {
281
281
  ];
282
282
  }
283
283
  }
284
- BbLocalizeString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
285
- BbLocalizeString.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.5", type: BbLocalizeString, selector: "bb-localize-string, [bb-localize-string]", inputs: { substitutions: "substitutions", value: "value" }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: ["bbLocalizeTemplateOrString"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalizeString, decorators: [{
284
+ BbLocalizeString.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
285
+ BbLocalizeString.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: BbLocalizeString, selector: "bb-localize-string, [bb-localize-string]", inputs: { substitutions: "substitutions", value: "value" }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n", styles: [".bb-localize-string{display:inline}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: BbLocalizeTemplateOrString, selector: "[bbLocalizeTemplateOrString]", inputs: ["bbLocalizeTemplateOrString"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalizeString, decorators: [{
287
287
  type: Component,
288
288
  args: [{ selector: 'bb-localize-string, [bb-localize-string]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
289
289
  'class': 'bb-localize-string'
@@ -503,13 +503,13 @@ class Localize {
503
503
  element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;
504
504
  }
505
505
  }
506
- Localize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Localize, deps: [{ token: i1$1.Storage }, { token: i2.Languages }, { token: LocalizeConfig, optional: true }, { token: LocalizeMissingHandler }, { token: DOCUMENT, optional: true }, { token: LOCALIZE_FUNCTION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
507
- Localize.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Localize });
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Localize, decorators: [{
506
+ Localize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Localize, deps: [{ token: i1$1.Storage }, { token: i2.Languages }, { token: LocalizeConfig, optional: true }, { token: LocalizeMissingHandler }, { token: DOCUMENT, optional: true }, { token: LOCALIZE_FUNCTION, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
507
+ Localize.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Localize });
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Localize, decorators: [{
509
509
  type: Injectable
510
510
  }], ctorParameters: function () { return [{ type: i1$1.Storage }, { type: i2.Languages }, { type: LocalizeConfig, decorators: [{
511
511
  type: Optional
512
- }] }, { type: LocalizeMissingHandler }, { type: undefined, decorators: [{
512
+ }] }, { type: LocalizeMissingHandler }, { type: Document, decorators: [{
513
513
  type: Optional
514
514
  }, {
515
515
  type: Inject,
@@ -556,9 +556,9 @@ class BbLocalize {
556
556
  return { ...params, ...options };
557
557
  }
558
558
  }
559
- BbLocalize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
560
- BbLocalize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: BbLocalize, name: "bbLocalize" });
561
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbLocalize, decorators: [{
559
+ BbLocalize.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalize, deps: [{ token: Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
560
+ BbLocalize.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: BbLocalize, name: "bbLocalize" });
561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbLocalize, decorators: [{
562
562
  type: Pipe,
563
563
  args: [{
564
564
  name: 'bbLocalize'
@@ -592,15 +592,15 @@ class LocalizeModule {
592
592
  };
593
593
  }
594
594
  }
595
- LocalizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
596
- LocalizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
595
+ LocalizeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalizeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
596
+ LocalizeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: LocalizeModule, declarations: [BbLocalize,
597
597
  BbLocalizeString,
598
598
  BbLocalizeTemplate,
599
599
  BbLocalizeTemplateOrString], imports: [CommonModule], exports: [BbLocalize,
600
600
  BbLocalizeString,
601
601
  BbLocalizeTemplate] });
602
- LocalizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LocalizeModule, imports: [CommonModule] });
603
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: LocalizeModule, decorators: [{
602
+ LocalizeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalizeModule, imports: [CommonModule] });
603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LocalizeModule, decorators: [{
604
604
  type: NgModule,
605
605
  args: [{
606
606
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"bravobit-bb-foundation-localize.mjs","sources":["../../../projects/bb-foundation/localize/src/lib/interfaces/config.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/options.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/functions.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/functions/lowercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/uppercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/date.function.ts","../../../projects/bb-foundation/localize/src/lib/localizations/english.localization.ts","../../../projects/bb-foundation/localize/src/lib/localizations/dutch.localization.ts","../../../projects/bb-foundation/localize/src/lib/handlers/missing.handler.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template-or-string.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.html","../../../projects/bb-foundation/localize/src/lib/localize.dictionary.ts","../../../projects/bb-foundation/localize/src/lib/localize.service.ts","../../../projects/bb-foundation/localize/src/lib/localize.pipe.ts","../../../projects/bb-foundation/localize/src/lib/localize.module.ts","../../../projects/bb-foundation/localize/src/bravobit-bb-foundation-localize.ts"],"sourcesContent":["import {LocalizeDictionary} from '../localize.dictionary';\n\n//\n// The configuration that can be passed when\n// the user initializes the localize module.\n//\n\nexport class LocalizeConfig {\n languages: LocalizeConfigLanguage[];\n automatic?: boolean;\n substitutions?: {\n references?: [leftSubstitution: string, rightSubstitution: string];\n interpolation?: [leftSubstitution: string, rightSubstitution: string];\n };\n}\n\nexport interface LocalizeConfigLanguage {\n id: string;\n locale: string;\n supported: string[];\n data: () => LocalizeDictionary | Promise<LocalizeDictionary>;\n}\n\nexport type LocalizeDictionaryData = { [key: string]: string | LocalizeDictionaryData };","//\n// These are the options that the user has\n// when localizing the token.\n//\n\nexport interface LocalizeOptions {\n optional?: boolean;\n data?: LocalizeOptionsData;\n}\n\n//\n// This is the data that the user can interpolate\n// in the localized strings.\n//\n\nexport interface LocalizeOptionsData {\n [token: string]: string | number | boolean | Date;\n}\n\n//\n// These are the params that the user can set\n// when he wants to localize a token (with the\n// optional options).\n//\n\nexport interface LocalizeParams extends LocalizeOptions {\n token: string;\n}\n","import {InjectionToken} from '@angular/core';\n\n//\n// This is the interface that handles the localize functions.\n// every localize function needs to conform to this interface.\n// The interface allows the user to transform a token into\n// another value.\n//\n\nexport interface LocalizeFunction {\n\n keyword(): string;\n\n transform(value: string, locale?: string): string;\n\n}\n\n//\n// This is the interface that handles the map\n// of all the localize functions.\n//\n\nexport interface LocalizeFunctionMap {\n [keyword: string]: LocalizeFunction;\n}\n\n//\n// This is the injection token that will be injected\n// into the service so that the all localize functions\n// can retrieved and used.\n//\n\nexport const LOCALIZE_FUNCTION\n : InjectionToken<LocalizeFunction[]>\n = new InjectionToken('localize_function');\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a lowercase variant of the value.\n//\n\nexport class LocalizeLowercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'lowercase';\n }\n\n transform(value: string) {\n return (value || '').toLowerCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a uppercase variant of the value.\n//\n\nexport class LocalizeUppercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'uppercase';\n }\n\n transform(value: string) {\n return (value || '').toUpperCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\nimport {formatDate} from '@angular/common';\n\n//\n// This function transform the value\n// to a localized date.\n//\n\nexport class LocalizeDateFunction implements LocalizeFunction {\n\n keyword() {\n return 'date';\n }\n\n transform(value: string, locale?: string) {\n const date = new Date(value);\n\n if (date.toString() === 'Invalid Date') {\n return '?';\n }\n\n return formatDate(date, 'longDate', locale);\n }\n\n}\n","export const extraEnglishDictionary = {\n 'form-control-errors': {\n 'unknown': 'The field has an unknown error.',\n 'required': 'This field is required.',\n 'pattern': 'Invalid format.',\n 'email': 'The field does not match a valid email address.',\n 'emailTaken': 'The e-mail is already taken.',\n 'passwordMatch': 'The passwords don\\'t match.',\n 'confirm': 'The field does not match.',\n 'fullNumber': 'The field should be a full number.',\n 'min': 'Minimum amount should be {{min}}.',\n 'max': 'Maximum amount should be {{max}}.',\n 'invalidFileType': 'The file type is not allowed.',\n 'maxFileSize': 'The file has exceed the maximum amount of {{maxSize}}.',\n 'minDate': 'The first accepted date is {{date|date}}.',\n 'maxDate': 'The last accepted date is {{date|date}}.',\n 'invalidDate': 'The field contains an invalid date.',\n 'minlength': 'Expected a minimum of {{requiredLength}} characters but got {{actualLength}} characters.',\n 'maxlength': 'Expected a maximum of {{requiredLength}} characters but got {{actualLength}} characters.'\n },\n 'tables': {\n 'search': 'Search...',\n 'loading': 'Loading...',\n 'empty': 'There is nothing to find here.',\n 'page': 'page',\n 'error_datasource': 'No data source was provided.',\n 'error_unauthorized': 'You need to be authenticated to view this data.',\n 'error_forbidden': 'You do not have access to view this data.',\n 'error_not_found': 'The data was not found.',\n 'error_server': 'A server error occurred while fetching data from the server.',\n 'error_down': 'It looks like the server is down.',\n 'error_unknown': 'A unknown error occurred.'\n },\n 'file-picker': {\n 'choose': 'Choose file',\n 'remove': 'Remove file',\n 'drop': 'or drag and drop file here'\n },\n 'times': {\n 'tomorrow_at': 'Tomorrow at {{date}}',\n 'today_at': 'Today at {{date}}',\n 'yesterday_at': 'Yesterday at {{date}}'\n }\n};\n","export const extraDutchDictionary = {\n 'form-control-errors': {\n 'unknown': 'Het veld heeft een onbekende fout.',\n 'required': 'Dit veld is verplicht.',\n 'pattern': 'Ongeldig formaat.',\n 'email': 'Het veld komt niet overeen met een geldig e-mailadres.',\n 'emailTaken': 'Het e-mailadres is al bezet.',\n 'passwordMatch': 'De wachtwoorden komen niet overeen.',\n 'confirm': 'Het veld komt niet overeen.',\n 'fullNumber': 'Het veld moet een volledig getal zijn.',\n 'min': 'Minimum hoeveelheid moet {{min}} zijn.',\n 'max': 'Maximum hoeveelheid moet {{max}} zijn.',\n 'invalidFileType': 'Het type bestand is niet toegestaan.',\n 'maxFileSize': 'Het bestand heeft de maximum hoeveelheid van {{maxSize}} overschreden.',\n 'minDate': 'De eerst mogelijke datum is {{date|date}}.',\n 'maxDate': 'De laatst mogelijke datum is {{date|date}}.',\n 'invalidDate': 'Het veld bevat een ongeldige datum.',\n 'minlength': 'Verwachtte minimaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.',\n 'maxlength': 'Verwachtte maximaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.'\n },\n 'tables': {\n 'search': 'Zoeken...',\n 'loading': 'Aan het laden...',\n 'empty': 'Er is hier niets te vinden.',\n 'page': 'pagina',\n 'error_datasource': 'Er is geen gegevensbron verstrekt.',\n 'error_unauthorized': 'U moet ingelogd zijn om deze gegevens te bekijken.',\n 'error_forbidden': 'U hebt geen toegang om deze gegevens te bekijken.',\n 'error_not_found': 'De gegevens zijn niet gevonden.',\n 'error_server': 'Er is een serverfout opgetreden bij het ophalen van gegevens van de server.',\n 'error_down': 'Het lijkt erop dat de server down is.',\n 'error_unknown': 'Er is een onbekende fout opgetreden bij het ophalen van gegevens van de server.'\n },\n 'file-picker': {\n 'choose': 'Kies bestand',\n 'remove': 'Verwijder bestand',\n 'drop': 'of sleep het bestand hiernaartoe'\n },\n 'times': {\n 'tomorrow_at': 'Morgen om {{date}}',\n 'today_at': 'Vandaag om {{date}}',\n 'yesterday_at': 'Gisteren om {{date}}'\n }\n};\n","import {LocalizeHandlerProtocol} from '../interfaces/handlers.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\n\nexport class LocalizeMissingHandler implements LocalizeHandlerProtocol {\n\n handle(params: LocalizeParams) {\n // Log to the console when the token was not found\n // if the user did not mark it as optional.\n if (!params?.optional) {\n this.log(`Localize: The token with name: \"${params?.token}\" was not found.`);\n }\n\n // Return the default token back.\n return params?.token ?? null;\n }\n\n private log = (message: string) => console?.warn?.(message);\n\n}\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplate]'\n})\nexport class BbLocalizeTemplate {\n\n // Inputs.\n @Input('bbLocalizeTemplate') name: string | null = null;\n\n constructor(public templateRef: TemplateRef<any>) {\n }\n\n}\n","import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplateOrString]'\n})\nexport class BbLocalizeTemplateOrString {\n\n @Input() set bbLocalizeTemplateOrString(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbLocalizeTemplate} from '../localize-template.directive';\nimport {startWith} from 'rxjs/operators';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-localize-string, [bb-localize-string]',\n templateUrl: './localize-string.component.html',\n styleUrls: ['./localize-string.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-localize-string'\n }\n})\nexport class BbLocalizeString implements AfterViewInit, OnDestroy {\n\n // Content children.\n @ContentChildren(BbLocalizeTemplate) items?: QueryList<BbLocalizeTemplate>;\n\n // Inputs.\n @Input() substitutions: [string, string] = ['[', ']'];\n\n // Data.\n components: (string | TemplateRef<any>)[] = [];\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n // State.\n private _value: string | null = null;\n\n @Input()\n set value(value: string | null) {\n this._value = value;\n this.revalidate();\n }\n\n get value() {\n return this._value;\n }\n\n constructor(private _changeDetection: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.observeItemChanges();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n private observeItemChanges() {\n const subscription = this.items.changes.pipe(\n startWith(0)\n ).subscribe(() => this.revalidate());\n\n this._subscription.add(subscription);\n }\n\n private revalidate() {\n const items = this.items?.toArray() ?? [];\n if (items.length <= 0) {\n return;\n }\n\n this.setComponents(items);\n }\n\n private setComponents(items: BbLocalizeTemplate[]) {\n const [start, end] = this.substitutions;\n\n const templates = items.reduce((previous, current) => {\n const template = current?.templateRef ?? null;\n const name = current?.name ?? null;\n if (!template || !name) {\n return previous;\n }\n\n return {...previous, [`${start}${name}${end}`]: template};\n }, {});\n\n this.components = this.getStringComponents(this._value)\n .map(component => templates?.[component] ?? component ?? null)\n .filter(item => !!item);\n\n this._changeDetection.detectChanges();\n }\n\n private getStringComponents(value: string) {\n const [start, end] = this.getSubstitutions();\n const regex = new RegExp(`(${start}[a-zA-Z]+${end})`, 'g');\n return value.split(regex);\n }\n\n private getSubstitutions() {\n const [start, end] = this.substitutions;\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n\n return [\n start.replace(escape, '\\\\$&'),\n end.replace(escape, '\\\\$&')\n ];\n }\n\n}\n","<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n","import {LocalizeDictionaryData} from './interfaces/config.interfaces';\nimport {isDevMode} from '@angular/core';\n\nexport class LocalizeDictionary {\n\n private readonly _data: { [token: string]: string };\n\n constructor(data: LocalizeDictionaryData) {\n this._data = this.formatData(data);\n }\n\n get(token: string | string[]) {\n const key = Array.isArray(token) ? token.join('.') : token;\n return this._data?.[key] ?? null;\n }\n\n private formatData(data: LocalizeDictionaryData, scope: string | null = null) {\n const devMode = isDevMode();\n\n return Object.keys(data).reduce((previous, current) => {\n const value = data?.[current];\n if (typeof value === 'object' && value !== null) {\n const reformatted = this.formatData(value, current);\n return {...previous, ...reformatted};\n }\n\n const token = [scope, current].filter(item => !!item).join('.');\n if (previous[token] && devMode) {\n console?.warn?.(`Localize: Duplicate key \"${token}\" was found, please verify your translation files.`);\n }\n\n return {...previous, [token]: value};\n }, {});\n }\n\n}\n","import {LOCALIZE_FUNCTION, LocalizeFunction, LocalizeFunctionMap} from './interfaces/functions.interfaces';\nimport {LocalizeConfig, LocalizeConfigLanguage} from './interfaces/config.interfaces';\nimport {LocalizeOptionsData, LocalizeParams} from './interfaces/options.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {LocalizeDictionary} from './localize.dictionary';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {Languages} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable()\nexport class Localize {\n\n // Readonly data.\n private readonly _availableLanguages: LocalizeConfigLanguage[];\n private readonly _bestMatchingLanguage: LocalizeConfigLanguage;\n\n private readonly _functionMiddleware: LocalizeFunctionMap;\n private readonly _storageToken: string = 'bb-language-dictionary-id';\n\n // Current language dictionary.\n private _currentLanguage: LocalizeConfigLanguage | null = null;\n private _currentDictionary: LocalizeDictionary | null = null;\n\n constructor(private _storage: Storage,\n private _languages: Languages,\n @Optional() private _config: LocalizeConfig,\n private _missingHandler: LocalizeMissingHandler,\n @Optional() @Inject(DOCUMENT) private _document?: any,\n @Optional() @Inject(LOCALIZE_FUNCTION) private _functions?: LocalizeFunction[]) {\n // Check if at least one language was passed in the config.\n this._availableLanguages = this._config.languages;\n if (this._availableLanguages.length < 1) {\n throw new Error('Localize: one or more languages should be supplied.');\n }\n\n // Gather all the localize functions.\n this._functionMiddleware = this._functions.reduce((previous, current) => {\n previous[current.keyword()] = current;\n return previous;\n }, {});\n\n // Save the best matching current dictionary.\n this._bestMatchingLanguage = this.retrieveBestMatchingLanguage();\n\n this.renderDocumentLanguage();\n }\n\n get languages() {\n return this._availableLanguages ?? [];\n }\n\n get current() {\n return this._currentLanguage;\n }\n\n async set(language: LocalizeConfigLanguage, cache: boolean = true) {\n // Await the language data and set the current\n // dictionary to the loaded data.\n this._currentLanguage = language ?? this._availableLanguages?.[0];\n if (this._currentLanguage) {\n this._currentDictionary = await this._currentLanguage.data();\n }\n\n // Save the selected language in the storage.\n if (cache) {\n this._storage.cookie.set<string>(this._storageToken, this._currentLanguage?.id, {});\n }\n }\n\n initialize() {\n return async () => this.set(this._bestMatchingLanguage, false);\n }\n\n clear() {\n this._storage.cookie.remove(this._storageToken);\n }\n\n translate(tokenOrParams: string | LocalizeParams) {\n // 1. Convert to the params.\n const params = this.convertToParams(tokenOrParams);\n\n // 2. Try to find the translation in the dictionary.\n const searchResult = this._currentDictionary.get(params?.token);\n\n // 3. Verify the translation was found.\n if (!searchResult) {\n return this._missingHandler.handle(params);\n }\n\n // 4. Find references in the translation that need to be translated as well.\n const processResult = this.findReferencesInTranslation(searchResult);\n\n // 5. Parse the interpolation data.\n return this.parseInterpolationData(processResult, params?.data);\n }\n\n private parseInterpolationData(value: string, data: LocalizeOptionsData) {\n // Get the interpolation substitutions.\n const substitutions = this.getSubstitutions('interpolation', ['{{', '}}']);\n\n // Get all matches in the value.\n const matches = this.getMatches(value, substitutions);\n\n // Replace all matches with the parsed value.\n return matches.reduce((previous, current) => {\n // Try to parse the token.\n const interpolatedToken = this.interpolateFunctionData(current?.token, data);\n\n // Replace the match with the parsed token.\n return previous.replace(current?.match, interpolatedToken);\n }, `${value}`);\n }\n\n private interpolateFunctionData(value: string, interpolationData: LocalizeOptionsData) {\n // Get the token and the methods by splitting\n // on the pipe symbol.\n const [token, ...methods] = value.split('|').map(item => item.trim());\n\n // Get the value for the token from\n // the interpolation data.\n const interpolationValue = interpolationData?.[token] ?? token;\n\n // Loop through all the middleware methods and try to\n // conform the string to the given parameters.\n return methods.reduce((string, middlewareName) => {\n // Try to retrieve the middleware from the collection.\n const middleware = this._functionMiddleware[middlewareName];\n\n // If the middleware is missing return an error\n // so that the user knows it was not found.\n if (!middleware) {\n return string;\n }\n\n // Execute the middleware function with the string.\n return middleware.transform(string, this.current?.locale);\n }, `${interpolationValue}`);\n }\n\n private findReferencesInTranslation(value: string) {\n // Get the reference substitutions.\n const substitutions = this.getSubstitutions('references', ['#(', ')']);\n\n // Get all matches in the value.\n const matches = this.getMatches(value, substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to translate the token.\n const translatedToken = this.translate(current?.token);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, translatedToken);\n }, value);\n }\n\n private getSubstitutions(type: 'references' | 'interpolation', defaultValue: string[]) {\n // Get the substitutions.\n const substitutions = this._config?.substitutions?.[type] ?? null;\n const value = (!substitutions || substitutions.length !== 2)\n ? defaultValue\n : substitutions;\n\n // Escape both substitutions so that they\n // can be used.\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n const start = value[0].replace(escape, '\\\\$&');\n const end = value[1].replace(escape, '\\\\$&');\n\n // Return the substitutions.\n return {start, end};\n }\n\n private retrieveBestMatchingLanguage() {\n // Get the language based on storage.\n const storageLanguage = this.getLanguageFromStorage();\n\n // Get the language based on the supported languages of the browser.\n const browserLanguage = this.getBestBrowserMatchLanguage();\n\n // Return the best matching language.\n return storageLanguage ?? browserLanguage ?? this._availableLanguages?.[0];\n }\n\n private getLanguageFromStorage() {\n // Get id from the storage.\n const id = this._storage.cookie.get<string>(this._storageToken);\n\n // Return the language based on the storage id.\n return this._availableLanguages.find(item => item?.id === id);\n }\n\n private getBestBrowserMatchLanguage() {\n // Loop through all browser languages and return the\n // best matching language.\n return this._languages.all.map(({code, region}) => {\n const languageCode = [code, region].filter(data => !!data).join('-');\n\n return this._availableLanguages.find(item => item?.supported?.includes(languageCode));\n }).filter(item => !!item).find((_, index) => index === 0);\n }\n\n private convertToParams = (tokenOrParams: string | LocalizeParams) => {\n if (typeof tokenOrParams !== 'string') {\n // Destruct the params from the object.\n const {token, optional, data} = tokenOrParams;\n\n // Make sure all parameters are valid\n // by type safe adding them.\n return {token: token, optional: optional ?? false, data: data ?? {}};\n }\n\n // If the parameter is a string fill in the blanks.\n return {token: tokenOrParams, optional: false, data: {}};\n };\n\n private renderDocumentLanguage() {\n const element = this._document?.documentElement;\n if (!element) {\n return;\n }\n\n element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;\n }\n\n private getMatches = (value: string, substitutions: { start: string, end: string }) => {\n // Get the matching substitutions.\n const {start, end} = substitutions;\n\n // Compose a regex that will find the matches.\n const regex = new RegExp(`${start}([^${end}]+)${end}`, 'g');\n\n // Execute the regex to find matches.\n let match = regex.exec(value);\n const matches = [];\n\n while (match !== null) {\n matches.push({match: match[0], token: match[1]});\n match = regex.exec(value);\n }\n\n // Return the processed value.\n return matches.filter(item => !!item);\n };\n\n}\n","import {LocalizeOptions, LocalizeParams} from './interfaces/options.interfaces';\nimport {Optional, Pipe, PipeTransform} from '@angular/core';\nimport {Localize} from './localize.service';\n\n@Pipe({\n name: 'bbLocalize'\n})\nexport class BbLocalize implements PipeTransform {\n\n constructor(@Optional() private _localize: Localize) {\n }\n\n transform(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Validate that the localize service\n // exists in the pipe.\n if (!this._localize) {\n return tokenOrParams;\n }\n\n // Combine the params with the options\n // to form the localize params.\n const params = this.combineParamsWithOptions(tokenOrParams, args);\n\n // Try to localize the value.\n return this._localize.translate(params);\n }\n\n private combineParamsWithOptions(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Gather the extras.\n const extras = args || {};\n\n // Loop through all the keys to find the set options.\n const options = Object.keys(extras).reduce((previous, current) => {\n if (typeof extras[current] === 'undefined') {\n return previous;\n }\n\n previous[current] = extras[current];\n return previous;\n }, {});\n\n // Convert the string token to a params object.\n const params = typeof tokenOrParams === 'string'\n ? {token: tokenOrParams, optional: false, data: {}}\n : tokenOrParams;\n\n // Return the combined params and options.\n return {...params, ...options};\n }\n\n}\n","import {BbLocalizeTemplateOrString} from './views/localize-template-or-string.directive';\nimport {APP_INITIALIZER, LOCALE_ID, ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbLocalizeString} from './views/localize-string/localize-string.component';\nimport {LocalizeLowercaseFunction} from './functions/lowercase.function';\nimport {LocalizeUppercaseFunction} from './functions/uppercase.function';\nimport {BbLocalizeTemplate} from './views/localize-template.directive';\nimport {LOCALIZE_FUNCTION} from './interfaces/functions.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDateFunction} from './functions/date.function';\nimport {LocalizeConfig} from './interfaces/config.interfaces';\nimport {CommonModule} from '@angular/common';\nimport {Localize} from './localize.service';\nimport {BbLocalize} from './localize.pipe';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate,\n BbLocalizeTemplateOrString\n ],\n exports: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ]\n})\nexport class LocalizeModule {\n\n static forRoot(config: LocalizeConfig): ModuleWithProviders<LocalizeModule> {\n const automatic = config?.automatic ?? true;\n return {\n ngModule: LocalizeModule,\n providers: [\n // Angular providers.\n ...(automatic ? [\n {provide: APP_INITIALIZER, deps: [Localize], useFactory: initializeLocale, multi: true},\n {provide: LOCALE_ID, deps: [Localize], useFactory: getLocale}\n ] : []),\n // Config provider.\n {provide: LocalizeConfig, useValue: config},\n // Function providers.\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeLowercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeUppercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeDateFunction, multi: true},\n // Handler providers.\n {provide: LocalizeMissingHandler, useClass: LocalizeMissingHandler},\n // Service providers.\n Localize\n ]\n };\n }\n\n}\n\nexport function initializeLocale(localize: Localize) {\n return localize.initialize();\n}\n\nexport function getLocale(localize: Localize) {\n return localize?.current?.locale ?? null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.BbLocalizeTemplateOrString","i1","i3.LocalizeConfig","i4.LocalizeMissingHandler","i1.Localize"],"mappings":"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"}
1
+ {"version":3,"file":"bravobit-bb-foundation-localize.mjs","sources":["../../../projects/bb-foundation/localize/src/lib/interfaces/config.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/options.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/interfaces/functions.interfaces.ts","../../../projects/bb-foundation/localize/src/lib/functions/lowercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/uppercase.function.ts","../../../projects/bb-foundation/localize/src/lib/functions/date.function.ts","../../../projects/bb-foundation/localize/src/lib/localizations/english.localization.ts","../../../projects/bb-foundation/localize/src/lib/localizations/dutch.localization.ts","../../../projects/bb-foundation/localize/src/lib/handlers/missing.handler.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-template-or-string.directive.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.ts","../../../projects/bb-foundation/localize/src/lib/views/localize-string/localize-string.component.html","../../../projects/bb-foundation/localize/src/lib/localize.dictionary.ts","../../../projects/bb-foundation/localize/src/lib/localize.service.ts","../../../projects/bb-foundation/localize/src/lib/localize.pipe.ts","../../../projects/bb-foundation/localize/src/lib/localize.module.ts","../../../projects/bb-foundation/localize/src/bravobit-bb-foundation-localize.ts"],"sourcesContent":["import {LocalizeDictionary} from '../localize.dictionary';\n\n//\n// The configuration that can be passed when\n// the user initializes the localize module.\n//\n\nexport class LocalizeConfig {\n languages: LocalizeConfigLanguage[];\n automatic?: boolean;\n substitutions?: {\n references?: [leftSubstitution: string, rightSubstitution: string];\n interpolation?: [leftSubstitution: string, rightSubstitution: string];\n };\n}\n\nexport interface LocalizeConfigLanguage {\n id: string;\n locale: string;\n supported: string[];\n data: () => LocalizeDictionary | Promise<LocalizeDictionary>;\n}\n\nexport type LocalizeDictionaryData = { [key: string]: string | LocalizeDictionaryData };","//\n// These are the options that the user has\n// when localizing the token.\n//\n\nexport interface LocalizeOptions {\n optional?: boolean;\n data?: LocalizeOptionsData;\n}\n\n//\n// This is the data that the user can interpolate\n// in the localized strings.\n//\n\nexport interface LocalizeOptionsData {\n [token: string]: string | number | boolean | Date;\n}\n\n//\n// These are the params that the user can set\n// when he wants to localize a token (with the\n// optional options).\n//\n\nexport interface LocalizeParams extends LocalizeOptions {\n token: string;\n}\n","import {InjectionToken} from '@angular/core';\n\n//\n// This is the interface that handles the localize functions.\n// every localize function needs to conform to this interface.\n// The interface allows the user to transform a token into\n// another value.\n//\n\nexport interface LocalizeFunction {\n\n keyword(): string;\n\n transform(value: string, locale?: string): string;\n\n}\n\n//\n// This is the interface that handles the map\n// of all the localize functions.\n//\n\nexport interface LocalizeFunctionMap {\n [keyword: string]: LocalizeFunction;\n}\n\n//\n// This is the injection token that will be injected\n// into the service so that the all localize functions\n// can retrieved and used.\n//\n\nexport const LOCALIZE_FUNCTION\n : InjectionToken<LocalizeFunction[]>\n = new InjectionToken('localize_function');\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a lowercase variant of the value.\n//\n\nexport class LocalizeLowercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'lowercase';\n }\n\n transform(value: string) {\n return (value || '').toLowerCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\n\n//\n// This function transform the value\n// to a uppercase variant of the value.\n//\n\nexport class LocalizeUppercaseFunction implements LocalizeFunction {\n\n keyword() {\n return 'uppercase';\n }\n\n transform(value: string) {\n return (value || '').toUpperCase();\n }\n\n}\n","import {LocalizeFunction} from '../interfaces/functions.interfaces';\nimport {formatDate} from '@angular/common';\n\n//\n// This function transform the value\n// to a localized date.\n//\n\nexport class LocalizeDateFunction implements LocalizeFunction {\n\n keyword() {\n return 'date';\n }\n\n transform(value: string, locale?: string) {\n const date = new Date(value);\n\n if (date.toString() === 'Invalid Date') {\n return '?';\n }\n\n return formatDate(date, 'longDate', locale);\n }\n\n}\n","export const extraEnglishDictionary = {\n 'form-control-errors': {\n 'unknown': 'The field has an unknown error.',\n 'required': 'This field is required.',\n 'pattern': 'Invalid format.',\n 'email': 'The field does not match a valid email address.',\n 'emailTaken': 'The e-mail is already taken.',\n 'passwordMatch': 'The passwords don\\'t match.',\n 'confirm': 'The field does not match.',\n 'fullNumber': 'The field should be a full number.',\n 'min': 'Minimum amount should be {{min}}.',\n 'max': 'Maximum amount should be {{max}}.',\n 'invalidFileType': 'The file type is not allowed.',\n 'maxFileSize': 'The file has exceed the maximum amount of {{maxSize}}.',\n 'minDate': 'The first accepted date is {{date|date}}.',\n 'maxDate': 'The last accepted date is {{date|date}}.',\n 'invalidDate': 'The field contains an invalid date.',\n 'minlength': 'Expected a minimum of {{requiredLength}} characters but got {{actualLength}} characters.',\n 'maxlength': 'Expected a maximum of {{requiredLength}} characters but got {{actualLength}} characters.'\n },\n 'tables': {\n 'search': 'Search...',\n 'loading': 'Loading...',\n 'empty': 'There is nothing to find here.',\n 'page': 'page',\n 'error_datasource': 'No data source was provided.',\n 'error_unauthorized': 'You need to be authenticated to view this data.',\n 'error_forbidden': 'You do not have access to view this data.',\n 'error_not_found': 'The data was not found.',\n 'error_server': 'A server error occurred while fetching data from the server.',\n 'error_down': 'It looks like the server is down.',\n 'error_unknown': 'A unknown error occurred.'\n },\n 'file-picker': {\n 'choose': 'Choose file',\n 'remove': 'Remove file',\n 'drop': 'or drag and drop file here'\n },\n 'times': {\n 'tomorrow_at': 'Tomorrow at {{date}}',\n 'today_at': 'Today at {{date}}',\n 'yesterday_at': 'Yesterday at {{date}}'\n }\n};\n","export const extraDutchDictionary = {\n 'form-control-errors': {\n 'unknown': 'Het veld heeft een onbekende fout.',\n 'required': 'Dit veld is verplicht.',\n 'pattern': 'Ongeldig formaat.',\n 'email': 'Het veld komt niet overeen met een geldig e-mailadres.',\n 'emailTaken': 'Het e-mailadres is al bezet.',\n 'passwordMatch': 'De wachtwoorden komen niet overeen.',\n 'confirm': 'Het veld komt niet overeen.',\n 'fullNumber': 'Het veld moet een volledig getal zijn.',\n 'min': 'Minimum hoeveelheid moet {{min}} zijn.',\n 'max': 'Maximum hoeveelheid moet {{max}} zijn.',\n 'invalidFileType': 'Het type bestand is niet toegestaan.',\n 'maxFileSize': 'Het bestand heeft de maximum hoeveelheid van {{maxSize}} overschreden.',\n 'minDate': 'De eerst mogelijke datum is {{date|date}}.',\n 'maxDate': 'De laatst mogelijke datum is {{date|date}}.',\n 'invalidDate': 'Het veld bevat een ongeldige datum.',\n 'minlength': 'Verwachtte minimaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.',\n 'maxlength': 'Verwachtte maximaal {{requiredLength}} tekens, maar kreeg {{actualLength}} tekens.'\n },\n 'tables': {\n 'search': 'Zoeken...',\n 'loading': 'Aan het laden...',\n 'empty': 'Er is hier niets te vinden.',\n 'page': 'pagina',\n 'error_datasource': 'Er is geen gegevensbron verstrekt.',\n 'error_unauthorized': 'U moet ingelogd zijn om deze gegevens te bekijken.',\n 'error_forbidden': 'U hebt geen toegang om deze gegevens te bekijken.',\n 'error_not_found': 'De gegevens zijn niet gevonden.',\n 'error_server': 'Er is een serverfout opgetreden bij het ophalen van gegevens van de server.',\n 'error_down': 'Het lijkt erop dat de server down is.',\n 'error_unknown': 'Er is een onbekende fout opgetreden bij het ophalen van gegevens van de server.'\n },\n 'file-picker': {\n 'choose': 'Kies bestand',\n 'remove': 'Verwijder bestand',\n 'drop': 'of sleep het bestand hiernaartoe'\n },\n 'times': {\n 'tomorrow_at': 'Morgen om {{date}}',\n 'today_at': 'Vandaag om {{date}}',\n 'yesterday_at': 'Gisteren om {{date}}'\n }\n};\n","import {LocalizeHandlerProtocol} from '../interfaces/handlers.interfaces';\nimport {LocalizeParams} from '../interfaces/options.interfaces';\n\nexport class LocalizeMissingHandler implements LocalizeHandlerProtocol {\n\n handle(params: LocalizeParams) {\n // Log to the console when the token was not found\n // if the user did not mark it as optional.\n if (!params?.optional) {\n this.log(`Localize: The token with name: \"${params?.token}\" was not found.`);\n }\n\n // Return the default token back.\n return params?.token ?? null;\n }\n\n private log = (message: string) => console?.warn?.(message);\n\n}\n","import {Directive, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplate]'\n})\nexport class BbLocalizeTemplate {\n\n // Inputs.\n @Input('bbLocalizeTemplate') name: string | null = null;\n\n constructor(public templateRef: TemplateRef<any>) {\n }\n\n}\n","import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbLocalizeTemplateOrString]'\n})\nexport class BbLocalizeTemplateOrString {\n\n @Input() set bbLocalizeTemplateOrString(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n QueryList,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {BbLocalizeTemplate} from '../localize-template.directive';\nimport {startWith} from 'rxjs/operators';\nimport {Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-localize-string, [bb-localize-string]',\n templateUrl: './localize-string.component.html',\n styleUrls: ['./localize-string.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-localize-string'\n }\n})\nexport class BbLocalizeString implements AfterViewInit, OnDestroy {\n\n // Content children.\n @ContentChildren(BbLocalizeTemplate) items?: QueryList<BbLocalizeTemplate>;\n\n // Inputs.\n @Input() substitutions: [string, string] = ['[', ']'];\n\n // Data.\n components: (string | TemplateRef<any>)[] = [];\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n // State.\n private _value: string | null = null;\n\n @Input()\n set value(value: string | null) {\n this._value = value;\n this.revalidate();\n }\n\n get value() {\n return this._value;\n }\n\n constructor(private _changeDetection: ChangeDetectorRef) {\n }\n\n ngAfterViewInit() {\n this.observeItemChanges();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n private observeItemChanges() {\n const subscription = this.items.changes.pipe(\n startWith(0)\n ).subscribe(() => this.revalidate());\n\n this._subscription.add(subscription);\n }\n\n private revalidate() {\n const items = this.items?.toArray() ?? [];\n if (items.length <= 0) {\n return;\n }\n\n this.setComponents(items);\n }\n\n private setComponents(items: BbLocalizeTemplate[]) {\n const [start, end] = this.substitutions;\n\n const templates = items.reduce((previous, current) => {\n const template = current?.templateRef ?? null;\n const name = current?.name ?? null;\n if (!template || !name) {\n return previous;\n }\n\n return {...previous, [`${start}${name}${end}`]: template};\n }, {});\n\n this.components = this.getStringComponents(this._value)\n .map(component => templates?.[component] ?? component ?? null)\n .filter(item => !!item);\n\n this._changeDetection.detectChanges();\n }\n\n private getStringComponents(value: string) {\n const [start, end] = this.getSubstitutions();\n const regex = new RegExp(`(${start}[a-zA-Z]+${end})`, 'g');\n return value.split(regex);\n }\n\n private getSubstitutions() {\n const [start, end] = this.substitutions;\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n\n return [\n start.replace(escape, '\\\\$&'),\n end.replace(escape, '\\\\$&')\n ];\n }\n\n}\n","<ng-container *ngFor=\"let component of components\">\n <ng-template [bbLocalizeTemplateOrString]=\"component\">{{ component }}</ng-template>\n</ng-container>\n","import {LocalizeDictionaryData} from './interfaces/config.interfaces';\nimport {isDevMode} from '@angular/core';\n\nexport class LocalizeDictionary {\n\n private readonly _data: { [token: string]: string };\n\n constructor(data: LocalizeDictionaryData) {\n this._data = this.formatData(data);\n }\n\n get(token: string | string[]) {\n const key = Array.isArray(token) ? token.join('.') : token;\n return this._data?.[key] ?? null;\n }\n\n private formatData(data: LocalizeDictionaryData, scope: string | null = null) {\n const devMode = isDevMode();\n\n return Object.keys(data).reduce((previous, current) => {\n const value = data?.[current];\n if (typeof value === 'object' && value !== null) {\n const reformatted = this.formatData(value, current);\n return {...previous, ...reformatted};\n }\n\n const token = [scope, current].filter(item => !!item).join('.');\n if (previous[token] && devMode) {\n console?.warn?.(`Localize: Duplicate key \"${token}\" was found, please verify your translation files.`);\n }\n\n return {...previous, [token]: value};\n }, {});\n }\n\n}\n","import {LOCALIZE_FUNCTION, LocalizeFunction, LocalizeFunctionMap} from './interfaces/functions.interfaces';\nimport {LocalizeConfig, LocalizeConfigLanguage} from './interfaces/config.interfaces';\nimport {LocalizeOptionsData, LocalizeParams} from './interfaces/options.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {LocalizeDictionary} from './localize.dictionary';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {Languages} from '@bravobit/bb-foundation';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable()\nexport class Localize {\n\n // Readonly data.\n private readonly _availableLanguages: LocalizeConfigLanguage[];\n private readonly _bestMatchingLanguage: LocalizeConfigLanguage;\n\n private readonly _functionMiddleware: LocalizeFunctionMap;\n private readonly _storageToken: string = 'bb-language-dictionary-id';\n\n // Current language dictionary.\n private _currentLanguage: LocalizeConfigLanguage | null = null;\n private _currentDictionary: LocalizeDictionary | null = null;\n\n constructor(private _storage: Storage,\n private _languages: Languages,\n @Optional() private _config: LocalizeConfig,\n private _missingHandler: LocalizeMissingHandler,\n @Optional() @Inject(DOCUMENT) private _document?: Document,\n @Optional() @Inject(LOCALIZE_FUNCTION) private _functions?: LocalizeFunction[]) {\n // Check if at least one language was passed in the config.\n this._availableLanguages = this._config.languages;\n if (this._availableLanguages.length < 1) {\n throw new Error('Localize: one or more languages should be supplied.');\n }\n\n // Gather all the localize functions.\n this._functionMiddleware = this._functions.reduce((previous, current) => {\n previous[current.keyword()] = current;\n return previous;\n }, {});\n\n // Save the best matching current dictionary.\n this._bestMatchingLanguage = this.retrieveBestMatchingLanguage();\n\n this.renderDocumentLanguage();\n }\n\n get languages() {\n return this._availableLanguages ?? [];\n }\n\n get current() {\n return this._currentLanguage;\n }\n\n async set(language: LocalizeConfigLanguage, cache: boolean = true) {\n // Await the language data and set the current\n // dictionary to the loaded data.\n this._currentLanguage = language ?? this._availableLanguages?.[0];\n if (this._currentLanguage) {\n this._currentDictionary = await this._currentLanguage.data();\n }\n\n // Save the selected language in the storage.\n if (cache) {\n this._storage.cookie.set<string>(this._storageToken, this._currentLanguage?.id, {});\n }\n }\n\n initialize() {\n return async () => this.set(this._bestMatchingLanguage, false);\n }\n\n clear() {\n this._storage.cookie.remove(this._storageToken);\n }\n\n translate(tokenOrParams: string | LocalizeParams) {\n // 1. Convert to the params.\n const params = this.convertToParams(tokenOrParams);\n\n // 2. Try to find the translation in the dictionary.\n const searchResult = this._currentDictionary.get(params?.token);\n\n // 3. Verify the translation was found.\n if (!searchResult) {\n return this._missingHandler.handle(params);\n }\n\n // 4. Find references in the translation that need to be translated as well.\n const processResult = this.findReferencesInTranslation(searchResult);\n\n // 5. Parse the interpolation data.\n return this.parseInterpolationData(processResult, params?.data);\n }\n\n private parseInterpolationData(value: string, data: LocalizeOptionsData) {\n // Get the interpolation substitutions.\n const substitutions = this.getSubstitutions('interpolation', ['{{', '}}']);\n\n // Get all matches in the value.\n const matches = this.getMatches(value, substitutions);\n\n // Replace all matches with the parsed value.\n return matches.reduce((previous, current) => {\n // Try to parse the token.\n const interpolatedToken = this.interpolateFunctionData(current?.token, data);\n\n // Replace the match with the parsed token.\n return previous.replace(current?.match, interpolatedToken);\n }, `${value}`);\n }\n\n private interpolateFunctionData(value: string, interpolationData: LocalizeOptionsData) {\n // Get the token and the methods by splitting\n // on the pipe symbol.\n const [token, ...methods] = value.split('|').map(item => item.trim());\n\n // Get the value for the token from\n // the interpolation data.\n const interpolationValue = interpolationData?.[token] ?? token;\n\n // Loop through all the middleware methods and try to\n // conform the string to the given parameters.\n return methods.reduce((string, middlewareName) => {\n // Try to retrieve the middleware from the collection.\n const middleware = this._functionMiddleware[middlewareName];\n\n // If the middleware is missing return an error\n // so that the user knows it was not found.\n if (!middleware) {\n return string;\n }\n\n // Execute the middleware function with the string.\n return middleware.transform(string, this.current?.locale);\n }, `${interpolationValue}`);\n }\n\n private findReferencesInTranslation(value: string) {\n // Get the reference substitutions.\n const substitutions = this.getSubstitutions('references', ['#(', ')']);\n\n // Get all matches in the value.\n const matches = this.getMatches(value, substitutions);\n\n // Replace all matches with the translated value.\n return matches.reduce((previous, current) => {\n // Try to translate the token.\n const translatedToken = this.translate(current?.token);\n\n // Replace the match with the translated token.\n return previous.replace(current?.match, translatedToken);\n }, value);\n }\n\n private getSubstitutions(type: 'references' | 'interpolation', defaultValue: string[]) {\n // Get the substitutions.\n const substitutions = this._config?.substitutions?.[type] ?? null;\n const value = (!substitutions || substitutions.length !== 2)\n ? defaultValue\n : substitutions;\n\n // Escape both substitutions so that they\n // can be used.\n const escape = /[.*+?^${}()|[\\]\\\\]/g;\n const start = value[0].replace(escape, '\\\\$&');\n const end = value[1].replace(escape, '\\\\$&');\n\n // Return the substitutions.\n return {start, end};\n }\n\n private retrieveBestMatchingLanguage() {\n // Get the language based on storage.\n const storageLanguage = this.getLanguageFromStorage();\n\n // Get the language based on the supported languages of the browser.\n const browserLanguage = this.getBestBrowserMatchLanguage();\n\n // Return the best matching language.\n return storageLanguage ?? browserLanguage ?? this._availableLanguages?.[0];\n }\n\n private getLanguageFromStorage() {\n // Get id from the storage.\n const id = this._storage.cookie.get<string>(this._storageToken);\n\n // Return the language based on the storage id.\n return this._availableLanguages.find(item => item?.id === id);\n }\n\n private getBestBrowserMatchLanguage() {\n // Loop through all browser languages and return the\n // best matching language.\n return this._languages.all.map(({code, region}) => {\n const languageCode = [code, region].filter(data => !!data).join('-');\n\n return this._availableLanguages.find(item => item?.supported?.includes(languageCode));\n }).filter(item => !!item).find((_, index) => index === 0);\n }\n\n private convertToParams = (tokenOrParams: string | LocalizeParams) => {\n if (typeof tokenOrParams !== 'string') {\n // Destruct the params from the object.\n const {token, optional, data} = tokenOrParams;\n\n // Make sure all parameters are valid\n // by type safe adding them.\n return {token: token, optional: optional ?? false, data: data ?? {}};\n }\n\n // If the parameter is a string fill in the blanks.\n return {token: tokenOrParams, optional: false, data: {}};\n };\n\n private renderDocumentLanguage() {\n const element = this._document?.documentElement;\n if (!element) {\n return;\n }\n\n element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;\n }\n\n private getMatches = (value: string, substitutions: { start: string, end: string }) => {\n // Get the matching substitutions.\n const {start, end} = substitutions;\n\n // Compose a regex that will find the matches.\n const regex = new RegExp(`${start}([^${end}]+)${end}`, 'g');\n\n // Execute the regex to find matches.\n let match = regex.exec(value);\n const matches = [];\n\n while (match !== null) {\n matches.push({match: match[0], token: match[1]});\n match = regex.exec(value);\n }\n\n // Return the processed value.\n return matches.filter(item => !!item);\n };\n\n}\n","import {LocalizeOptions, LocalizeParams} from './interfaces/options.interfaces';\nimport {Optional, Pipe, PipeTransform} from '@angular/core';\nimport {Localize} from './localize.service';\n\n@Pipe({\n name: 'bbLocalize'\n})\nexport class BbLocalize implements PipeTransform {\n\n constructor(@Optional() private _localize: Localize) {\n }\n\n transform(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Validate that the localize service\n // exists in the pipe.\n if (!this._localize) {\n return tokenOrParams;\n }\n\n // Combine the params with the options\n // to form the localize params.\n const params = this.combineParamsWithOptions(tokenOrParams, args);\n\n // Try to localize the value.\n return this._localize.translate(params);\n }\n\n private combineParamsWithOptions(tokenOrParams: string | LocalizeParams, args?: LocalizeOptions) {\n // Gather the extras.\n const extras = args || {};\n\n // Loop through all the keys to find the set options.\n const options = Object.keys(extras).reduce((previous, current) => {\n if (typeof extras[current] === 'undefined') {\n return previous;\n }\n\n previous[current] = extras[current];\n return previous;\n }, {});\n\n // Convert the string token to a params object.\n const params = typeof tokenOrParams === 'string'\n ? {token: tokenOrParams, optional: false, data: {}}\n : tokenOrParams;\n\n // Return the combined params and options.\n return {...params, ...options};\n }\n\n}\n","import {BbLocalizeTemplateOrString} from './views/localize-template-or-string.directive';\nimport {APP_INITIALIZER, LOCALE_ID, ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbLocalizeString} from './views/localize-string/localize-string.component';\nimport {LocalizeLowercaseFunction} from './functions/lowercase.function';\nimport {LocalizeUppercaseFunction} from './functions/uppercase.function';\nimport {BbLocalizeTemplate} from './views/localize-template.directive';\nimport {LOCALIZE_FUNCTION} from './interfaces/functions.interfaces';\nimport {LocalizeMissingHandler} from './handlers/missing.handler';\nimport {LocalizeDateFunction} from './functions/date.function';\nimport {LocalizeConfig} from './interfaces/config.interfaces';\nimport {CommonModule} from '@angular/common';\nimport {Localize} from './localize.service';\nimport {BbLocalize} from './localize.pipe';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate,\n BbLocalizeTemplateOrString\n ],\n exports: [\n BbLocalize,\n BbLocalizeString,\n BbLocalizeTemplate\n ]\n})\nexport class LocalizeModule {\n\n static forRoot(config: LocalizeConfig): ModuleWithProviders<LocalizeModule> {\n const automatic = config?.automatic ?? true;\n return {\n ngModule: LocalizeModule,\n providers: [\n // Angular providers.\n ...(automatic ? [\n {provide: APP_INITIALIZER, deps: [Localize], useFactory: initializeLocale, multi: true},\n {provide: LOCALE_ID, deps: [Localize], useFactory: getLocale}\n ] : []),\n // Config provider.\n {provide: LocalizeConfig, useValue: config},\n // Function providers.\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeLowercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeUppercaseFunction, multi: true},\n {provide: LOCALIZE_FUNCTION, useClass: LocalizeDateFunction, multi: true},\n // Handler providers.\n {provide: LocalizeMissingHandler, useClass: LocalizeMissingHandler},\n // Service providers.\n Localize\n ]\n };\n }\n\n}\n\nexport function initializeLocale(localize: Localize) {\n return localize.initialize();\n}\n\nexport function getLocale(localize: Localize) {\n return localize?.current?.locale ?? null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i2.BbLocalizeTemplateOrString","i1","i3.LocalizeConfig","i4.LocalizeMissingHandler","i1.Localize"],"mappings":"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"}
@@ -99,9 +99,9 @@ class BbInputMask {
99
99
  this.inputMaskPlugin = null;
100
100
  }
101
101
  }
102
- BbInputMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
103
- BbInputMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: BbInputMask, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbInputMask, decorators: [{
102
+ BbInputMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbInputMask, deps: [{ token: i0.NgZone }, { token: i1.Platform }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
103
+ BbInputMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbInputMask, selector: "input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]", inputs: { mask: ["bbInputMask", "mask"] }, host: { listeners: { "input": "onInput($event.target.value)", "blur": "onTouched($event.target.value)" } }, ngImport: i0 });
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbInputMask, decorators: [{
105
105
  type: Directive,
106
106
  args: [{
107
107
  selector: 'input[bbInputMask],input[bbCurrencyMask],input[bbDateMask]'
@@ -208,9 +208,9 @@ class Masking {
208
208
  }
209
209
  }
210
210
  }
211
- Masking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Masking, deps: [{ token: i1$1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
212
- Masking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Masking, providedIn: 'root' });
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: Masking, decorators: [{
211
+ Masking.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Masking, deps: [{ token: i1$1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
212
+ Masking.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Masking, providedIn: 'root' });
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: Masking, decorators: [{
214
214
  type: Injectable,
215
215
  args: [{
216
216
  providedIn: 'root'
@@ -233,9 +233,9 @@ class BbCurrencyMask {
233
233
  this._inputMask.mask = this._masking.currency(currencyCode, options);
234
234
  }
235
235
  }
236
- BbCurrencyMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbCurrencyMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
237
- BbCurrencyMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: BbCurrencyMask, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 });
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbCurrencyMask, decorators: [{
236
+ BbCurrencyMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbCurrencyMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
237
+ BbCurrencyMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbCurrencyMask, selector: "input[bbCurrencyMask]", inputs: { currencyCode: ["bbCurrencyMask", "currencyCode"], options: ["bbCurrencyMaskOptions", "options"] }, usesOnChanges: true, ngImport: i0 });
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbCurrencyMask, decorators: [{
239
239
  type: Directive,
240
240
  args: [{
241
241
  selector: 'input[bbCurrencyMask]'
@@ -264,9 +264,9 @@ class BbDateMask {
264
264
  this._inputMask.mask = this._masking.date(format, separator);
265
265
  }
266
266
  }
267
- BbDateMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbDateMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
268
- BbDateMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.5", type: BbDateMask, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 });
269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: BbDateMask, decorators: [{
267
+ BbDateMask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDateMask, deps: [{ token: Masking }, { token: BbInputMask, self: true }], target: i0.ɵɵFactoryTarget.Directive });
268
+ BbDateMask.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.1.1", type: BbDateMask, selector: "input[bbDateMask]", inputs: { format: ["bbDateMask", "format"], separator: ["bbDateMaskSeparator", "separator"] }, usesOnChanges: true, ngImport: i0 });
269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: BbDateMask, decorators: [{
270
270
  type: Directive,
271
271
  args: [{
272
272
  selector: 'input[bbDateMask]'
@@ -283,14 +283,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImpor
283
283
 
284
284
  class MaskingModule {
285
285
  }
286
- MaskingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
287
- MaskingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.5", ngImport: i0, type: MaskingModule, declarations: [BbInputMask,
286
+ MaskingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: MaskingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
287
+ MaskingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: MaskingModule, declarations: [BbInputMask,
288
288
  BbCurrencyMask,
289
289
  BbDateMask], exports: [BbInputMask,
290
290
  BbCurrencyMask,
291
291
  BbDateMask] });
292
- MaskingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: MaskingModule });
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.5", ngImport: i0, type: MaskingModule, decorators: [{
292
+ MaskingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: MaskingModule });
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: MaskingModule, decorators: [{
294
294
  type: NgModule,
295
295
  args: [{
296
296
  declarations: [