@bravobit/bb-foundation 0.45.3 → 0.50.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 (306) hide show
  1. package/auth/lib/auth.config.d.ts +0 -2
  2. package/auth/lib/auth.service.d.ts +1 -1
  3. package/auth/lib/directives/authenticated.directive.d.ts +1 -1
  4. package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
  5. package/collections/lib/directives/collections-data.directive.d.ts +1 -1
  6. package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
  7. package/collections/lib/directives/collections-error.directive.d.ts +1 -1
  8. package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
  9. package/collections/lib/directives/collections-item.directive.d.ts +1 -1
  10. package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
  11. package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
  12. package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
  13. package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
  14. package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
  15. package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
  16. package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
  17. package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
  18. package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
  19. package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
  20. package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
  21. package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
  22. package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
  23. package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
  24. package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
  25. package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
  26. package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
  27. package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
  28. package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
  29. package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
  30. package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
  31. package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
  32. package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
  33. package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
  34. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
  35. package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
  36. package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
  37. package/fesm2022/bravobit-bb-foundation-select.mjs +33 -36
  38. package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
  39. package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
  40. package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
  41. package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
  42. package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
  43. package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
  44. package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
  45. package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
  46. package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
  47. package/fesm2022/bravobit-bb-foundation.mjs +21 -21
  48. package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
  49. package/localize/lib/localize.config.d.ts +0 -1
  50. package/localize/lib/localize.service.d.ts +1 -1
  51. package/localize/lib/views/localize-template.directive.d.ts +1 -1
  52. package/masking/lib/masking.service.d.ts +2 -2
  53. package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
  54. package/package.json +7 -45
  55. package/permissions/lib/directives/permission.directive.d.ts +1 -1
  56. package/select/lib/select/select.component.d.ts +1 -0
  57. package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
  58. package/table/lib/components/table/table.component.d.ts +2 -2
  59. package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
  60. package/esm2022/auth/lib/auth.config.mjs +0 -16
  61. package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
  62. package/esm2022/auth/lib/auth.module.mjs +0 -25
  63. package/esm2022/auth/lib/auth.service.mjs +0 -261
  64. package/esm2022/auth/lib/auth.session.mjs +0 -142
  65. package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
  66. package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
  67. package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
  68. package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
  69. package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
  70. package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
  71. package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
  72. package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
  73. package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
  74. package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
  75. package/esm2022/auth/public_api.mjs +0 -15
  76. package/esm2022/bravobit-bb-foundation.mjs +0 -5
  77. package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
  78. package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
  79. package/esm2022/collections/lib/collection.mjs +0 -98
  80. package/esm2022/collections/lib/collections.module.mjs +0 -84
  81. package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
  82. package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
  83. package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
  84. package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
  85. package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
  86. package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
  87. package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
  88. package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
  89. package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
  90. package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
  91. package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
  92. package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
  93. package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
  94. package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
  95. package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
  96. package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
  97. package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
  98. package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
  99. package/esm2022/collections/public_api.mjs +0 -22
  100. package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
  101. package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
  102. package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
  103. package/esm2022/combobox/combobox-label.directive.mjs +0 -14
  104. package/esm2022/combobox/combobox-option.directive.mjs +0 -17
  105. package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
  106. package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
  107. package/esm2022/combobox/combobox.interface.mjs +0 -2
  108. package/esm2022/combobox/public_api.mjs +0 -4
  109. package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
  110. package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
  111. package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
  112. package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
  113. package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
  114. package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
  115. package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
  116. package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
  117. package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
  118. package/esm2022/dashboard/public_api.mjs +0 -9
  119. package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
  120. package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
  121. package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
  122. package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
  123. package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
  124. package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
  125. package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
  126. package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
  127. package/esm2022/dialog/lib/dialog.config.mjs +0 -8
  128. package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
  129. package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
  130. package/esm2022/dialog/lib/dialog.module.mjs +0 -64
  131. package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
  132. package/esm2022/dialog/lib/dialog.service.mjs +0 -75
  133. package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
  134. package/esm2022/dialog/public_api.mjs +0 -12
  135. package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
  136. package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
  137. package/esm2022/elements/lib/button/button.component.mjs +0 -68
  138. package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
  139. package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
  140. package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
  141. package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
  142. package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
  143. package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
  144. package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
  145. package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
  146. package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
  147. package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
  148. package/esm2022/elements/lib/elements.config.mjs +0 -54
  149. package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
  150. package/esm2022/elements/lib/elements.module.mjs +0 -146
  151. package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
  152. package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
  153. package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
  154. package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
  155. package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
  156. package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
  157. package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
  158. package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
  159. package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
  160. package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
  161. package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
  162. package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
  163. package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
  164. package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
  165. package/esm2022/elements/public_api.mjs +0 -30
  166. package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
  167. package/esm2022/http/lib/classes/http.config.mjs +0 -32
  168. package/esm2022/http/lib/classes/http.error.mjs +0 -20
  169. package/esm2022/http/lib/http.config.mjs +0 -18
  170. package/esm2022/http/lib/http.interfaces.mjs +0 -4
  171. package/esm2022/http/lib/http.module.mjs +0 -31
  172. package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
  173. package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
  174. package/esm2022/http/public_api.mjs +0 -8
  175. package/esm2022/lib/core/functions/array.utils.mjs +0 -7
  176. package/esm2022/lib/core/functions/date.utils.mjs +0 -31
  177. package/esm2022/lib/core/functions/password.utils.mjs +0 -17
  178. package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
  179. package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
  180. package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
  181. package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
  182. package/esm2022/lib/core/services/exif.service.mjs +0 -165
  183. package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
  184. package/esm2022/lib/core/services/files.service.mjs +0 -78
  185. package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
  186. package/esm2022/lib/core/services/languages.service.mjs +0 -75
  187. package/esm2022/lib/core/services/network.service.mjs +0 -58
  188. package/esm2022/lib/core/services/patch.service.mjs +0 -66
  189. package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
  190. package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
  191. package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
  192. package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
  193. package/esm2022/lib/core/tokens/location.token.mjs +0 -6
  194. package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
  195. package/esm2022/lib/core/tokens/window.token.mjs +0 -12
  196. package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
  197. package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
  198. package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
  199. package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
  200. package/esm2022/localize/lib/functions/date.function.mjs +0 -18
  201. package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
  202. package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
  203. package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
  204. package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
  205. package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
  206. package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
  207. package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
  208. package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
  209. package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
  210. package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
  211. package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
  212. package/esm2022/localize/lib/localize.config.mjs +0 -43
  213. package/esm2022/localize/lib/localize.module.mjs +0 -39
  214. package/esm2022/localize/lib/localize.pipe.mjs +0 -48
  215. package/esm2022/localize/lib/localize.service.mjs +0 -172
  216. package/esm2022/localize/lib/localize.tokens.mjs +0 -18
  217. package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
  218. package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
  219. package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
  220. package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
  221. package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
  222. package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
  223. package/esm2022/localize/public_api.mjs +0 -27
  224. package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
  225. package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
  226. package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
  227. package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
  228. package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
  229. package/esm2022/masking/lib/masking.module.mjs +0 -30
  230. package/esm2022/masking/lib/masking.service.mjs +0 -104
  231. package/esm2022/masking/public_api.mjs +0 -7
  232. package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
  233. package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
  234. package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
  235. package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
  236. package/esm2022/notifications/lib/notifications.config.mjs +0 -8
  237. package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
  238. package/esm2022/notifications/lib/notifications.module.mjs +0 -20
  239. package/esm2022/notifications/lib/notifications.service.mjs +0 -161
  240. package/esm2022/notifications/public_api.mjs +0 -5
  241. package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
  242. package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
  243. package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
  244. package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
  245. package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
  246. package/esm2022/permissions/lib/permissions.config.mjs +0 -20
  247. package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
  248. package/esm2022/permissions/lib/permissions.module.mjs +0 -25
  249. package/esm2022/permissions/lib/permissions.service.mjs +0 -100
  250. package/esm2022/permissions/public_api.mjs +0 -9
  251. package/esm2022/public_api.mjs +0 -25
  252. package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
  253. package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
  254. package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
  255. package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
  256. package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
  257. package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
  258. package/esm2022/recaptcha/public_api.mjs +0 -6
  259. package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
  260. package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
  261. package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
  262. package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
  263. package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
  264. package/esm2022/rxjs/public_api.mjs +0 -5
  265. package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
  266. package/esm2022/select/lib/select/select.component.mjs +0 -288
  267. package/esm2022/select/lib/select-label.directive.mjs +0 -18
  268. package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
  269. package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
  270. package/esm2022/select/lib/select-option.directive.mjs +0 -18
  271. package/esm2022/select/lib/select.config.mjs +0 -8
  272. package/esm2022/select/lib/select.module.mjs +0 -46
  273. package/esm2022/select/public_api.mjs +0 -8
  274. package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
  275. package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
  276. package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
  277. package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
  278. package/esm2022/storage/lib/storage.service.mjs +0 -113
  279. package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
  280. package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
  281. package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
  282. package/esm2022/storage/public_api.mjs +0 -8
  283. package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
  284. package/esm2022/table/lib/components/table/table.component.mjs +0 -200
  285. package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
  286. package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
  287. package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
  288. package/esm2022/table/lib/data/datasource.data.mjs +0 -30
  289. package/esm2022/table/lib/data/generic.data.mjs +0 -84
  290. package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
  291. package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
  292. package/esm2022/table/lib/table.module.mjs +0 -44
  293. package/esm2022/table/public_api.mjs +0 -10
  294. package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
  295. package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
  296. package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
  297. package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
  298. package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
  299. package/esm2022/tooltip/public_api.mjs +0 -5
  300. package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
  301. package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
  302. package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
  303. package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
  304. package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
  305. package/esm2022/utils/lib/utils.module.mjs +0 -35
  306. package/esm2022/utils/public_api.mjs +0 -6
@@ -1,172 +0,0 @@
1
- import { LOCALIZE_CONFIG, LOCALIZE_MISSING_HANDLER, LOCALIZE_TRANSFORM } from './localize.tokens';
2
- import { LocalizeDictionary } from './dictionary/dictionary.class';
3
- import { Languages, WINDOW } from '@bravobit/bb-foundation';
4
- import { Storage } from '@bravobit/bb-foundation/storage';
5
- import { inject, Injectable } from '@angular/core';
6
- import { DOCUMENT } from '@angular/common';
7
- import { BehaviorSubject } from 'rxjs';
8
- import * as i0 from "@angular/core";
9
- export class Localize {
10
- // Dependencies.
11
- _storage = inject(Storage);
12
- _languages = inject(Languages);
13
- _window = inject(WINDOW, { optional: true });
14
- _document = inject(DOCUMENT, { optional: true });
15
- _config = inject(LOCALIZE_CONFIG, { optional: true });
16
- _transforms = inject(LOCALIZE_TRANSFORM, { optional: true });
17
- _missingHandler = inject(LOCALIZE_MISSING_HANDLER, { optional: true });
18
- // Readonly data.
19
- _storageToken = this._config?.storageToken ?? 'bb-language-dictionary-id';
20
- _availableLanguages = this?._config?.languages ?? [];
21
- _bestMatchingLanguage = this.retrieveBestMatchingLanguage();
22
- _loadedDictionaries = new Map();
23
- // Current dictionary.
24
- _current$ = new BehaviorSubject(null);
25
- // State changes.
26
- dictionaryChanges$ = this._current$.asObservable();
27
- constructor() {
28
- this.renderDocumentLanguage();
29
- }
30
- get languages() {
31
- return this._availableLanguages ?? [];
32
- }
33
- get current() {
34
- return this._current$.getValue();
35
- }
36
- async load(id) {
37
- if (id === null || id === undefined) {
38
- throw new Error(`Cannot load language with id: "${id}".`);
39
- }
40
- if (this._loadedDictionaries.has(id)) {
41
- return this._loadedDictionaries.get(id);
42
- }
43
- const language = this.languages?.find(language => language?.id === id);
44
- if (!language || !language?.data) {
45
- console?.warn?.(`No language was found with id: "${id}"; Defaulting to first available language.`);
46
- const languageId = this.languages?.[0]?.id ?? null;
47
- return this.load(languageId);
48
- }
49
- const dictionaryDataValues = await language?.data?.();
50
- const dictionary = this.createDictionary(dictionaryDataValues, language);
51
- this._loadedDictionaries.set(id, dictionary);
52
- return dictionary;
53
- }
54
- async loadAllLanguages() {
55
- for (const language of this.languages) {
56
- await this.load(language?.id);
57
- }
58
- }
59
- async switch(id, options) {
60
- const dictionary = await this.load(id);
61
- this._current$.next(dictionary);
62
- const cache = options?.cache ?? true;
63
- if (cache) {
64
- this._storage.cookie.set(this._storageToken, dictionary?.id, {});
65
- }
66
- const reload = options?.reload ?? false;
67
- if (reload) {
68
- this._window?.location?.reload?.();
69
- }
70
- return dictionary;
71
- }
72
- select(id) {
73
- if (!this._loadedDictionaries.has(id)) {
74
- throw new Error(`Dictionary with id: "${id}" not loaded; Load dictionary first before using .select(:id).`);
75
- }
76
- return this._loadedDictionaries.get(id);
77
- }
78
- initialize() {
79
- return async () => {
80
- await this.switch(this._bestMatchingLanguage?.id, { reload: false, cache: false });
81
- return this.compareDictionaries();
82
- };
83
- }
84
- clear() {
85
- this._storage.cookie.remove(this._storageToken);
86
- }
87
- transform(value, data = {}) {
88
- return (this._transforms ?? []).reduce((previous, current) => {
89
- return current.execute(previous, data, this);
90
- }, value);
91
- }
92
- translate(tokenOrParams) {
93
- // 1. Convert to the params.
94
- const params = this.convertToParams(tokenOrParams);
95
- // 2. Try to find the translation in the dictionary.
96
- const dictionary = this.getDictionary(params?.dictionary);
97
- const searchResult = !!dictionary ? dictionary.get(params?.token) : null;
98
- // 3. Verify the translation was found.
99
- if (!searchResult) {
100
- if (!this._missingHandler) {
101
- return null;
102
- }
103
- return this._missingHandler.handle(params);
104
- }
105
- return this.transform(searchResult, params?.data);
106
- }
107
- retrieveBestMatchingLanguage() {
108
- return this.getLanguageFromStorage()
109
- ?? this.getBestBrowserMatchLanguage()
110
- ?? this._availableLanguages?.[0];
111
- }
112
- getLanguageFromStorage() {
113
- // Get id from the storage.
114
- const id = this._storage.cookie.get(this._storageToken);
115
- // Return the language based on the storage id.
116
- return this._availableLanguages.find(item => item?.id === id);
117
- }
118
- getBestBrowserMatchLanguage() {
119
- // Loop through all browser languages and return the
120
- // best matching language.
121
- return this._languages.all.map(({ code, region }) => {
122
- const languageCode = [code, region].filter(data => !!data).join('-');
123
- return this._availableLanguages.find(item => item?.supported?.includes(languageCode));
124
- }).filter(item => !!item).find((_, index) => index === 0);
125
- }
126
- createDictionary(data, language) {
127
- return new LocalizeDictionary(language?.id, language?.locale, language?.supported, data?.data, this);
128
- }
129
- getDictionary(id) {
130
- if (id === null || id === undefined) {
131
- return this.current;
132
- }
133
- return this.select(id);
134
- }
135
- renderDocumentLanguage() {
136
- const element = this._document?.documentElement;
137
- if (!element) {
138
- return;
139
- }
140
- element.lang = this._bestMatchingLanguage?.supported?.[0] ?? this._bestMatchingLanguage?.locale;
141
- }
142
- async compareDictionaries() {
143
- const compareDictionaries = this._config.compareDictionaries ?? false;
144
- if (!compareDictionaries || !this.current) {
145
- return;
146
- }
147
- const languageIds = (this.languages ?? [])
148
- ?.filter(language => language?.id !== this.current?.id)
149
- ?.map(language => language?.id);
150
- return await this.current.compare(languageIds);
151
- }
152
- convertToParams = (tokenOrParams) => {
153
- if (typeof tokenOrParams !== 'string') {
154
- // Destruct the params from the object.
155
- const { token, optional, dictionary, data } = tokenOrParams;
156
- // Make sure all parameters are valid
157
- // by type safe adding them.
158
- return { token: token, optional: optional ?? false, dictionary: dictionary ?? null, data: data ?? {} };
159
- }
160
- // If the parameter is a string fill in the blanks.
161
- return { token: tokenOrParams, optional: false, dictionary: null, data: {} };
162
- };
163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Localize, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
164
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Localize, providedIn: 'root' });
165
- }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Localize, decorators: [{
167
- type: Injectable,
168
- args: [{
169
- providedIn: 'root'
170
- }]
171
- }], ctorParameters: () => [] });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9sb2NhbGl6ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUtoRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLE1BQU0sQ0FBQzs7QUFLckMsTUFBTSxPQUFPLFFBQVE7SUFFakIsZ0JBQWdCO0lBQ0MsUUFBUSxHQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxVQUFVLEdBQWMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLE9BQU8sR0FBWSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDcEQsU0FBUyxHQUFjLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMxRCxPQUFPLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNyRSxXQUFXLEdBQXlCLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJ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QUFFLEVBQUU7UUFDakUsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwQyx1Q0FBdUM7WUFDdkMsTUFBTSxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxHQUFHLGFBQWEsQ0FBQztZQUUxRCxxQ0FBcUM7WUFDckMsNEJBQTRCO1lBQzVCLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLElBQUksS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxFQUFDLENBQUM7UUFDekcsQ0FBQztRQUVELG1EQUFtRDtRQUNuRCxPQUFPLEVBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQy9FLENBQUMsQ0FBQzt3R0FqTU8sUUFBUTs0R0FBUixRQUFRLGNBRkwsTUFBTTs7NEZBRVQsUUFBUTtrQkFIcEIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xPQ0FMSVpFX0NPTkZJRywgTE9DQUxJWkVfTUlTU0lOR19IQU5ETEVSLCBMT0NBTElaRV9UUkFOU0ZPUk19IGZyb20gJy4vbG9jYWxpemUudG9rZW5zJztcbmltcG9ydCB7TG9jYWxpemVDb25maWcsIExvY2FsaXplQ29uZmlnTGFuZ3VhZ2V9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeURhdGF9IGZyb20gJy4vZGljdGlvbmFyeS9kaWN0aW9uYXJ5LmRhdGEnO1xuaW1wb3J0IHtMb2NhbGl6ZVRyYW5zZm9ybX0gZnJvbSAnLi90cmFuc2Zvcm1zL2Fic3RyYWN0LnRyYW5zZm9ybSc7XG5pbXBvcnQge0xvY2FsaXplTWlzc2luZ0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvbWlzc2luZy5oYW5kbGVyJztcbmltcG9ydCB7TG9jYWxpemVEaWN0aW9uYXJ5fSBmcm9tICcuL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5jbGFzcyc7XG5pbXBvcnQge0xvY2FsaXplUGFyYW1zfSBmcm9tICcuL2ludGVyZmFjZXMvb3B0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TGFuZ3VhZ2VzLCBXSU5ET1d9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7U3RvcmFnZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vc3RvcmFnZSc7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXplIHtcblxuICAgIC8vIERlcGVuZGVuY2llcy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yYWdlOiBTdG9yYWdlID0gaW5qZWN0KFN0b3JhZ2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xhbmd1YWdlczogTGFuZ3VhZ2VzID0gaW5qZWN0KExhbmd1YWdlcyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfd2luZG93PzogV2luZG93ID0gaW5qZWN0KFdJTkRPVywge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZG9jdW1lbnQ/OiBEb2N1bWVudCA9IGluamVjdChET0NVTUVOVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfY29uZmlnPzogTG9jYWxpemVDb25maWcgPSBpbmplY3QoTE9DQUxJWkVfQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2Zvcm1zPzogTG9jYWxpemVUcmFuc2Zvcm1bXSA9IGluamVjdChMT0NBTElaRV9UUkFOU0ZPUk0sIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX21pc3NpbmdIYW5kbGVyPzogTG9jYWxpemVNaXNzaW5nSGFuZGxlciA9IGluamVjdChMT0NBTElaRV9NSVNTSU5HX0hBTkRMRVIsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgLy8gUmVhZG9ubHkgZGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yYWdlVG9rZW46IHN0cmluZyA9IHRoaXMuX2NvbmZpZz8uc3RvcmFnZVRva2VuID8/ICdiYi1sYW5ndWFnZS1kaWN0aW9uYXJ5LWlkJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hdmFpbGFibGVMYW5ndWFnZXM6IExvY2FsaXplQ29uZmlnTGFuZ3VhZ2VbXSA9IHRoaXM/Ll9jb25maWc/Lmxhbmd1YWdlcyA/PyBbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9iZXN0TWF0Y2hpbmdMYW5ndWFnZTogTG9jYWxpemVDb25maWdMYW5ndWFnZSA9IHRoaXMucmV0cmlldmVCZXN0TWF0Y2hpbmdMYW5ndWFnZSgpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkRGljdGlvbmFyaWVzOiBNYXA8c3RyaW5nLCBMb2NhbGl6ZURpY3Rpb25hcnk+ID0gbmV3IE1hcDxzdHJpbmcsIExvY2FsaXplRGljdGlvbmFyeT4oKTtcblxuICAgIC8vIEN1cnJlbnQgZGljdGlvbmFyeS5cbiAgICBwcml2YXRlIF9jdXJyZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9jYWxpemVEaWN0aW9uYXJ5IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvLyBTdGF0ZSBjaGFuZ2VzLlxuICAgIGRpY3Rpb25hcnlDaGFuZ2VzJCA9IHRoaXMuX2N1cnJlbnQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmVuZGVyRG9jdW1lbnRMYW5ndWFnZSgpO1xuICAgIH1cblxuICAgIGdldCBsYW5ndWFnZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXMgPz8gW107XG4gICAgfVxuXG4gICAgZ2V0IGN1cnJlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50JC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGFzeW5jIGxvYWQoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgbG9hZCBsYW5ndWFnZSB3aXRoIGlkOiBcIiR7aWR9XCIuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLmhhcyhpZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWREaWN0aW9uYXJpZXMuZ2V0KGlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXM/LmZpbmQobGFuZ3VhZ2UgPT4gbGFuZ3VhZ2U/LmlkID09PSBpZCk7XG4gICAgICAgIGlmICghbGFuZ3VhZ2UgfHwgIWxhbmd1YWdlPy5kYXRhKSB7XG4gICAgICAgICAgICBjb25zb2xlPy53YXJuPy4oYE5vIGxhbmd1YWdlIHdhcyBmb3VuZCB3aXRoIGlkOiBcIiR7aWR9XCI7IERlZmF1bHRpbmcgdG8gZmlyc3QgYXZhaWxhYmxlIGxhbmd1YWdlLmApO1xuICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VJZCA9IHRoaXMubGFuZ3VhZ2VzPy5bMF0/LmlkID8/IG51bGw7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkKGxhbmd1YWdlSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGljdGlvbmFyeURhdGFWYWx1ZXMgPSBhd2FpdCBsYW5ndWFnZT8uZGF0YT8uKCk7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSB0aGlzLmNyZWF0ZURpY3Rpb25hcnkoZGljdGlvbmFyeURhdGFWYWx1ZXMsIGxhbmd1YWdlKTtcbiAgICAgICAgdGhpcy5fbG9hZGVkRGljdGlvbmFyaWVzLnNldChpZCwgZGljdGlvbmFyeSk7XG4gICAgICAgIHJldHVybiBkaWN0aW9uYXJ5O1xuICAgIH1cblxuICAgIGFzeW5jIGxvYWRBbGxMYW5ndWFnZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgbGFuZ3VhZ2Ugb2YgdGhpcy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9hZChsYW5ndWFnZT8uaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgc3dpdGNoKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGNhY2hlPzogYm9vbGVhbiwgcmVsb2FkPzogYm9vbGVhbiB9KSB7XG4gICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBhd2FpdCB0aGlzLmxvYWQoaWQpO1xuICAgICAgICB0aGlzLl9jdXJyZW50JC5uZXh0KGRpY3Rpb25hcnkpO1xuXG4gICAgICAgIGNvbnN0IGNhY2hlID0gb3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZTtcbiAgICAgICAgaWYgKGNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLl9zdG9yYWdlLmNvb2tpZS5zZXQ8c3RyaW5nPih0aGlzLl9zdG9yYWdlVG9rZW4sIGRpY3Rpb25hcnk/LmlkLCB7fSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZWxvYWQgPSBvcHRpb25zPy5yZWxvYWQgPz8gZmFsc2U7XG4gICAgICAgIGlmIChyZWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3dpbmRvdz8ubG9jYXRpb24/LnJlbG9hZD8uKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGljdGlvbmFyeTtcbiAgICB9XG5cbiAgICBzZWxlY3QoaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAoIXRoaXMuX2xvYWRlZERpY3Rpb25hcmllcy5oYXMoaWQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERpY3Rpb25hcnkgd2l0aCBpZDogXCIke2lkfVwiIG5vdCBsb2FkZWQ7IExvYWQgZGljdGlvbmFyeSBmaXJzdCBiZWZvcmUgdXNpbmcgLnNlbGVjdCg6aWQpLmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkZWREaWN0aW9uYXJpZXMuZ2V0KGlkKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5zd2l0Y2godGhpcy5fYmVzdE1hdGNoaW5nTGFuZ3VhZ2U/LmlkLCB7cmVsb2FkOiBmYWxzZSwgY2FjaGU6IGZhbHNlfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb21wYXJlRGljdGlvbmFyaWVzKCk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UuY29va2llLnJlbW92ZSh0aGlzLl9zdG9yYWdlVG9rZW4pO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBkYXRhOiBMb2NhbGl6ZVBhcmFtc1snZGF0YSddID0ge30pIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl90cmFuc2Zvcm1zID8/IFtdKS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudC5leGVjdXRlKHByZXZpb3VzLCBkYXRhLCB0aGlzKTtcbiAgICAgICAgfSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHRyYW5zbGF0ZSh0b2tlbk9yUGFyYW1zOiBzdHJpbmcgfCBMb2NhbGl6ZVBhcmFtcykge1xuICAgICAgICAvLyAxLiBDb252ZXJ0IHRvIHRoZSBwYXJhbXMuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29udmVydFRvUGFyYW1zKHRva2VuT3JQYXJhbXMpO1xuXG4gICAgICAgIC8vIDIuIFRyeSB0byBmaW5kIHRoZSB0cmFuc2xhdGlvbiBpbiB0aGUgZGljdGlvbmFyeS5cbiAgICAgICAgY29uc3QgZGljdGlvbmFyeSA9IHRoaXMuZ2V0RGljdGlvbmFyeShwYXJhbXM/LmRpY3Rpb25hcnkpO1xuICAgICAgICBjb25zdCBzZWFyY2hSZXN1bHQgPSAhIWRpY3Rpb25hcnkgPyBkaWN0aW9uYXJ5LmdldChwYXJhbXM/LnRva2VuKSA6IG51bGw7XG5cbiAgICAgICAgLy8gMy4gVmVyaWZ5IHRoZSB0cmFuc2xhdGlvbiB3YXMgZm91bmQuXG4gICAgICAgIGlmICghc2VhcmNoUmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX21pc3NpbmdIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fbWlzc2luZ0hhbmRsZXIuaGFuZGxlKHBhcmFtcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm0oc2VhcmNoUmVzdWx0LCBwYXJhbXM/LmRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmV0cmlldmVCZXN0TWF0Y2hpbmdMYW5ndWFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGFuZ3VhZ2VGcm9tU3RvcmFnZSgpXG4gICAgICAgICAgICA/PyB0aGlzLmdldEJlc3RCcm93c2VyTWF0Y2hMYW5ndWFnZSgpXG4gICAgICAgICAgICA/PyB0aGlzLl9hdmFpbGFibGVMYW5ndWFnZXM/LlswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhbmd1YWdlRnJvbVN0b3JhZ2UoKSB7XG4gICAgICAgIC8vIEdldCBpZCBmcm9tIHRoZSBzdG9yYWdlLlxuICAgICAgICBjb25zdCBpZCA9IHRoaXMuX3N0b3JhZ2UuY29va2llLmdldDxzdHJpbmc+KHRoaXMuX3N0b3JhZ2VUb2tlbik7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBsYW5ndWFnZSBiYXNlZCBvbiB0aGUgc3RvcmFnZSBpZC5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZUxhbmd1YWdlcy5maW5kKGl0ZW0gPT4gaXRlbT8uaWQgPT09IGlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJlc3RCcm93c2VyTWF0Y2hMYW5ndWFnZSgpIHtcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCBicm93c2VyIGxhbmd1YWdlcyBhbmQgcmV0dXJuIHRoZVxuICAgICAgICAvLyBiZXN0IG1hdGNoaW5nIGxhbmd1YWdlLlxuICAgICAgICByZXR1cm4gdGhpcy5fbGFuZ3VhZ2VzLmFsbC5tYXAoKHtjb2RlLCByZWdpb259KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPSBbY29kZSwgcmVnaW9uXS5maWx0ZXIoZGF0YSA9PiAhIWRhdGEpLmpvaW4oJy0nKTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2F2YWlsYWJsZUxhbmd1YWdlcy5maW5kKGl0ZW0gPT4gaXRlbT8uc3VwcG9ydGVkPy5pbmNsdWRlcyhsYW5ndWFnZUNvZGUpKTtcbiAgICAgICAgfSkuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKS5maW5kKChfLCBpbmRleCkgPT4gaW5kZXggPT09IDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRGljdGlvbmFyeShkYXRhOiBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhLCBsYW5ndWFnZTogTG9jYWxpemVDb25maWdMYW5ndWFnZSkge1xuICAgICAgICByZXR1cm4gbmV3IExvY2FsaXplRGljdGlvbmFyeShsYW5ndWFnZT8uaWQsIGxhbmd1YWdlPy5sb2NhbGUsIGxhbmd1YWdlPy5zdXBwb3J0ZWQsIGRhdGE/LmRhdGEsIHRoaXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGljdGlvbmFyeShpZDogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBpZiAoaWQgPT09IG51bGwgfHwgaWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3QoaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyRG9jdW1lbnRMYW5ndWFnZSgpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2RvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZWxlbWVudC5sYW5nID0gdGhpcy5fYmVzdE1hdGNoaW5nTGFuZ3VhZ2U/LnN1cHBvcnRlZD8uWzBdID8/IHRoaXMuX2Jlc3RNYXRjaGluZ0xhbmd1YWdlPy5sb2NhbGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBjb21wYXJlRGljdGlvbmFyaWVzKCkge1xuICAgICAgICBjb25zdCBjb21wYXJlRGljdGlvbmFyaWVzID0gdGhpcy5fY29uZmlnLmNvbXBhcmVEaWN0aW9uYXJpZXMgPz8gZmFsc2U7XG4gICAgICAgIGlmICghY29tcGFyZURpY3Rpb25hcmllcyB8fCAhdGhpcy5jdXJyZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsYW5ndWFnZUlkcyA9ICh0aGlzLmxhbmd1YWdlcyA/PyBbXSlcbiAgICAgICAgICAgID8uZmlsdGVyKGxhbmd1YWdlID0+IGxhbmd1YWdlPy5pZCAhPT0gdGhpcy5jdXJyZW50Py5pZClcbiAgICAgICAgICAgID8ubWFwKGxhbmd1YWdlID0+IGxhbmd1YWdlPy5pZCk7XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY3VycmVudC5jb21wYXJlKGxhbmd1YWdlSWRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRUb1BhcmFtcyA9ICh0b2tlbk9yUGFyYW1zOiBzdHJpbmcgfCBMb2NhbGl6ZVBhcmFtcykgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuT3JQYXJhbXMgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAvLyBEZXN0cnVjdCB0aGUgcGFyYW1zIGZyb20gdGhlIG9iamVjdC5cbiAgICAgICAgICAgIGNvbnN0IHt0b2tlbiwgb3B0aW9uYWwsIGRpY3Rpb25hcnksIGRhdGF9ID0gdG9rZW5PclBhcmFtcztcblxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGFsbCBwYXJhbWV0ZXJzIGFyZSB2YWxpZFxuICAgICAgICAgICAgLy8gYnkgdHlwZSBzYWZlIGFkZGluZyB0aGVtLlxuICAgICAgICAgICAgcmV0dXJuIHt0b2tlbjogdG9rZW4sIG9wdGlvbmFsOiBvcHRpb25hbCA/PyBmYWxzZSwgZGljdGlvbmFyeTogZGljdGlvbmFyeSA/PyBudWxsLCBkYXRhOiBkYXRhID8/IHt9fTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBwYXJhbWV0ZXIgaXMgYSBzdHJpbmcgZmlsbCBpbiB0aGUgYmxhbmtzLlxuICAgICAgICByZXR1cm4ge3Rva2VuOiB0b2tlbk9yUGFyYW1zLCBvcHRpb25hbDogZmFsc2UsIGRpY3Rpb25hcnk6IG51bGwsIGRhdGE6IHt9fTtcbiAgICB9O1xuXG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { distinctUntilChanged, map, startWith } from 'rxjs/operators';
2
- import { inject, InjectionToken, LOCALE_ID } from '@angular/core';
3
- import { Localize } from './localize.service';
4
- import { of } from 'rxjs';
5
- export const LOCALIZE_FUNCTION = new InjectionToken('localize function');
6
- export const LOCALIZE_CONFIG = new InjectionToken('localize config');
7
- export const LOCALIZE_TRANSFORM = new InjectionToken('localize transform');
8
- export const LOCALIZE_MISSING_HANDLER = new InjectionToken('localize missing handler');
9
- export const LOCALIZE_ID = new InjectionToken('An abstraction over locale changes', {
10
- factory: () => {
11
- const localize = inject(Localize, { optional: true });
12
- if (!localize) {
13
- return of(inject(LOCALE_ID));
14
- }
15
- return localize.dictionaryChanges$.pipe(map(dictionary => dictionary?.locale ?? null), distinctUntilChanged(), startWith(localize?.current?.locale ?? null));
16
- }
17
- });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2xvY2FsaXplLnRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLE9BQU8sRUFBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBdUMsSUFBSSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUM3RyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQW1DLElBQUksY0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDckcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXdDLElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQTJDLElBQUksY0FBYyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFL0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUN6QyxvQ0FBb0MsRUFDcEM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNaLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ25DLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDLEVBQzdDLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FDL0MsQ0FBQztJQUNOLENBQUM7Q0FDSixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhbGl6ZUZ1bmN0aW9ufSBmcm9tICcuL2ludGVyZmFjZXMvZnVuY3Rpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL21pc3NpbmcuaGFuZGxlcic7XG5pbXBvcnQge0xvY2FsaXplVHJhbnNmb3JtfSBmcm9tICcuL3RyYW5zZm9ybXMvYWJzdHJhY3QudHJhbnNmb3JtJztcbmltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgTE9DQUxFX0lEfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxpemVDb25maWd9IGZyb20gJy4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICcuL2xvY2FsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBMT0NBTElaRV9GVU5DVElPTjogSW5qZWN0aW9uVG9rZW48TG9jYWxpemVGdW5jdGlvbltdPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignbG9jYWxpemUgZnVuY3Rpb24nKTtcbmV4cG9ydCBjb25zdCBMT0NBTElaRV9DT05GSUc6IEluamVjdGlvblRva2VuPExvY2FsaXplQ29uZmlnPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignbG9jYWxpemUgY29uZmlnJyk7XG5leHBvcnQgY29uc3QgTE9DQUxJWkVfVFJBTlNGT1JNOiBJbmplY3Rpb25Ub2tlbjxMb2NhbGl6ZVRyYW5zZm9ybVtdPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignbG9jYWxpemUgdHJhbnNmb3JtJyk7XG5leHBvcnQgY29uc3QgTE9DQUxJWkVfTUlTU0lOR19IQU5ETEVSOiBJbmplY3Rpb25Ub2tlbjxMb2NhbGl6ZU1pc3NpbmdIYW5kbGVyPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignbG9jYWxpemUgbWlzc2luZyBoYW5kbGVyJyk7XG5cbmV4cG9ydCBjb25zdCBMT0NBTElaRV9JRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHN0cmluZz4+KFxuICAgICdBbiBhYnN0cmFjdGlvbiBvdmVyIGxvY2FsZSBjaGFuZ2VzJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxvY2FsaXplID0gaW5qZWN0KExvY2FsaXplLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICAgICAgICAgIGlmICghbG9jYWxpemUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoaW5qZWN0KExPQ0FMRV9JRCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gbG9jYWxpemUuZGljdGlvbmFyeUNoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGRpY3Rpb25hcnkgPT4gZGljdGlvbmFyeT8ubG9jYWxlID8/IG51bGwpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKGxvY2FsaXplPy5jdXJyZW50Py5sb2NhbGUgPz8gbnVsbClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG4pO1xuIl19
@@ -1,30 +0,0 @@
1
- export class LocalizeTransform {
2
- getMatches(value, substitutions) {
3
- // Validate our value exists, else return zero matches.
4
- if (value === undefined || value === null) {
5
- return [];
6
- }
7
- // Get the matching substitutions.
8
- const { start, end } = this.getSubstitutions(substitutions);
9
- // Compose a regex that will find the matches.
10
- const regex = new RegExp(`${start}([^${end}]+)${end}`, 'g');
11
- // Execute the regex to find matches.
12
- let match = regex.exec(value);
13
- const matches = [];
14
- while (match !== null) {
15
- matches.push({ match: match[0], token: match[1] });
16
- match = regex.exec(value);
17
- }
18
- // Return the processed value.
19
- return matches.filter(item => !!item);
20
- }
21
- getSubstitutions(value) {
22
- // Escape both substitutions so that they can be used.
23
- const escape = /[.*+?^${}()|[\]\\]/g;
24
- const start = value[0].replace(escape, '\\$&');
25
- const end = value[1].replace(escape, '\\$&');
26
- // Return the substitutions.
27
- return { start, end };
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QudHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL3RyYW5zZm9ybXMvYWJzdHJhY3QudHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBZ0IsaUJBQWlCO0lBSXpCLFVBQVUsQ0FBQyxLQUFhLEVBQUUsYUFBK0I7UUFDL0QsdURBQXVEO1FBQ3ZELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsa0NBQWtDO1FBQ2xDLE1BQU0sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTFELDhDQUE4QztRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEtBQUssTUFBTSxHQUFHLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFNUQscUNBQXFDO1FBQ3JDLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQXVDLEVBQUUsQ0FBQztRQUV2RCxPQUFPLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztZQUNqRCxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsOEJBQThCO1FBQzlCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsS0FBdUI7UUFDOUMsc0RBQXNEO1FBQ3RELE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLDRCQUE0QjtRQUM1QixPQUFPLEVBQUMsS0FBSyxFQUFFLEdBQUcsRUFBQyxDQUFDO0lBQ3hCLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYWxpemVQYXJhbXN9IGZyb20gJy4uL2ludGVyZmFjZXMvb3B0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJy4uL2xvY2FsaXplLnNlcnZpY2UnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9jYWxpemVUcmFuc2Zvcm0ge1xuXG4gICAgYWJzdHJhY3QgZXhlY3V0ZSh2YWx1ZTogc3RyaW5nLCBkYXRhOiBMb2NhbGl6ZVBhcmFtc1snZGF0YSddLCBsb2NhbGl6ZTogTG9jYWxpemUpOiBzdHJpbmc7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TWF0Y2hlcyh2YWx1ZTogc3RyaW5nLCBzdWJzdGl0dXRpb25zOiBbc3RyaW5nLCBzdHJpbmddKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIG91ciB2YWx1ZSBleGlzdHMsIGVsc2UgcmV0dXJuIHplcm8gbWF0Y2hlcy5cbiAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdldCB0aGUgbWF0Y2hpbmcgc3Vic3RpdHV0aW9ucy5cbiAgICAgICAgY29uc3Qge3N0YXJ0LCBlbmR9ID0gdGhpcy5nZXRTdWJzdGl0dXRpb25zKHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIC8vIENvbXBvc2UgYSByZWdleCB0aGF0IHdpbGwgZmluZCB0aGUgbWF0Y2hlcy5cbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGAke3N0YXJ0fShbXiR7ZW5kfV0rKSR7ZW5kfWAsICdnJyk7XG5cbiAgICAgICAgLy8gRXhlY3V0ZSB0aGUgcmVnZXggdG8gZmluZCBtYXRjaGVzLlxuICAgICAgICBsZXQgbWF0Y2ggPSByZWdleC5leGVjKHZhbHVlKTtcbiAgICAgICAgY29uc3QgbWF0Y2hlczogeyBtYXRjaDogc3RyaW5nLCB0b2tlbjogc3RyaW5nIH1bXSA9IFtdO1xuXG4gICAgICAgIHdoaWxlIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKHttYXRjaDogbWF0Y2hbMF0sIHRva2VuOiBtYXRjaFsxXX0pO1xuICAgICAgICAgICAgbWF0Y2ggPSByZWdleC5leGVjKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcHJvY2Vzc2VkIHZhbHVlLlxuICAgICAgICByZXR1cm4gbWF0Y2hlcy5maWx0ZXIoaXRlbSA9PiAhIWl0ZW0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRTdWJzdGl0dXRpb25zKHZhbHVlOiBbc3RyaW5nLCBzdHJpbmddKSB7XG4gICAgICAgIC8vIEVzY2FwZSBib3RoIHN1YnN0aXR1dGlvbnMgc28gdGhhdCB0aGV5IGNhbiBiZSB1c2VkLlxuICAgICAgICBjb25zdCBlc2NhcGUgPSAvWy4qKz9eJHt9KCl8W1xcXVxcXFxdL2c7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdmFsdWVbMF0ucmVwbGFjZShlc2NhcGUsICdcXFxcJCYnKTtcbiAgICAgICAgY29uc3QgZW5kID0gdmFsdWVbMV0ucmVwbGFjZShlc2NhcGUsICdcXFxcJCYnKTtcblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHN1YnN0aXR1dGlvbnMuXG4gICAgICAgIHJldHVybiB7c3RhcnQsIGVuZH07XG4gICAgfVxuXG59XG4iXX0=
@@ -1,45 +0,0 @@
1
- import { LOCALIZE_CONFIG, LOCALIZE_FUNCTION } from '../localize.tokens';
2
- import { LocalizeTransform } from './abstract.transform';
3
- import { inject } from '@angular/core';
4
- export class LocalizeInterpolateTransform extends LocalizeTransform {
5
- // Dependencies.
6
- config = inject(LOCALIZE_CONFIG, { optional: true });
7
- functions = inject(LOCALIZE_FUNCTION, { optional: true });
8
- substitutions = this.config?.substitutions?.references ?? ['{{', '}}'];
9
- functionsMap = (this.functions ?? []).reduce((previous, current) => {
10
- previous[current?.keyword()] = current;
11
- return previous;
12
- }, {});
13
- execute(value, data, localize) {
14
- const matches = this.getMatches(value, this.substitutions);
15
- // Replace all matches with the translated value.
16
- return matches.reduce((previous, current) => {
17
- // Try to parse the token.
18
- const interpolatedToken = this.parseInterpolationToken(current?.token, data, localize);
19
- // Replace the match with the translated token.
20
- return previous.replace(current?.match, interpolatedToken);
21
- }, value);
22
- }
23
- parseInterpolationToken(value, data, localize) {
24
- // Get the token and the methods by splitting
25
- // on the pipe symbol.
26
- const [token, ...methods] = (value ?? '').split('|').map(item => item.trim());
27
- // Get the value for the token from
28
- // the interpolation data.
29
- const interpolationValue = data?.[token] ?? 'null';
30
- // Loop through all the middleware methods and try to
31
- // conform the string to the given parameters.
32
- return methods.reduce((string, middlewareName) => {
33
- // Try to retrieve the middleware from the collection.
34
- const middleware = this.functionsMap?.[middlewareName];
35
- // If the middleware is missing return an error
36
- // so that the user knows it was not found.
37
- if (!middleware) {
38
- return string;
39
- }
40
- // Execute the middleware function with the string.
41
- return middleware.transform(string, localize?.current?.locale);
42
- }, `${interpolationValue}`);
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJwb2xhdGUudHJhbnNmb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL3RyYW5zZm9ybXMvaW50ZXJwb2xhdGUudHJhbnNmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUd0RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxpQkFBaUI7SUFFL0QsZ0JBQWdCO0lBQ0csTUFBTSxHQUFvQixNQUFNLENBQUMsZUFBZSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDcEUsU0FBUyxHQUF3QixNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUM3RSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLFlBQVksR0FBd0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN2RyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVFLE9BQU8sQ0FBQyxLQUFhLEVBQUUsSUFBNEIsRUFBRSxRQUFrQjtRQUM1RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0QsaURBQWlEO1FBQ2pELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4QywwQkFBMEI7WUFDMUIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFFdkYsK0NBQStDO1lBQy9DLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDL0QsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVTLHVCQUF1QixDQUFDLEtBQWEsRUFBRSxJQUE0QixFQUFFLFFBQWtCO1FBQzdGLDZDQUE2QztRQUM3QyxzQkFBc0I7UUFDdEIsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5RSxtQ0FBbUM7UUFDbkMsMEJBQTBCO1FBQzFCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDO1FBRW5ELHFEQUFxRDtRQUNyRCw4Q0FBOEM7UUFDOUMsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxFQUFFO1lBQzdDLHNEQUFzRDtZQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFdkQsK0NBQStDO1lBQy9DLDJDQUEyQztZQUMzQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2QsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQztZQUVELG1EQUFtRDtZQUNuRCxPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYWxpemVGdW5jdGlvbiwgTG9jYWxpemVGdW5jdGlvbk1hcH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9mdW5jdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xPQ0FMSVpFX0NPTkZJRywgTE9DQUxJWkVfRlVOQ1RJT059IGZyb20gJy4uL2xvY2FsaXplLnRva2Vucyc7XG5pbXBvcnQge0xvY2FsaXplUGFyYW1zfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xvY2FsaXplQ29uZmlnfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TG9jYWxpemVUcmFuc2Zvcm19IGZyb20gJy4vYWJzdHJhY3QudHJhbnNmb3JtJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJy4uL2xvY2FsaXplLnNlcnZpY2UnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxpemVJbnRlcnBvbGF0ZVRyYW5zZm9ybSBleHRlbmRzIExvY2FsaXplVHJhbnNmb3JtIHtcblxuICAgIC8vIERlcGVuZGVuY2llcy5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnPzogTG9jYWxpemVDb25maWcgPSBpbmplY3QoTE9DQUxJWkVfQ09ORklHLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnVuY3Rpb25zPzogTG9jYWxpemVGdW5jdGlvbltdID0gaW5qZWN0KExPQ0FMSVpFX0ZVTkNUSU9OLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3Vic3RpdHV0aW9ucyA9IHRoaXMuY29uZmlnPy5zdWJzdGl0dXRpb25zPy5yZWZlcmVuY2VzID8/IFsne3snLCAnfX0nXTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZnVuY3Rpb25zTWFwOiBMb2NhbGl6ZUZ1bmN0aW9uTWFwID0gKHRoaXMuZnVuY3Rpb25zID8/IFtdKS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgIHByZXZpb3VzW2N1cnJlbnQ/LmtleXdvcmQoKV0gPSBjdXJyZW50O1xuICAgICAgICByZXR1cm4gcHJldmlvdXM7XG4gICAgfSwge30pO1xuXG4gICAgb3ZlcnJpZGUgZXhlY3V0ZSh2YWx1ZTogc3RyaW5nLCBkYXRhOiBMb2NhbGl6ZVBhcmFtc1snZGF0YSddLCBsb2NhbGl6ZTogTG9jYWxpemUpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMuZ2V0TWF0Y2hlcyh2YWx1ZSwgdGhpcy5zdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAvLyBSZXBsYWNlIGFsbCBtYXRjaGVzIHdpdGggdGhlIHRyYW5zbGF0ZWQgdmFsdWUuXG4gICAgICAgIHJldHVybiBtYXRjaGVzLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgIC8vIFRyeSB0byBwYXJzZSB0aGUgdG9rZW4uXG4gICAgICAgICAgICBjb25zdCBpbnRlcnBvbGF0ZWRUb2tlbiA9IHRoaXMucGFyc2VJbnRlcnBvbGF0aW9uVG9rZW4oY3VycmVudD8udG9rZW4sIGRhdGEsIGxvY2FsaXplKTtcblxuICAgICAgICAgICAgLy8gUmVwbGFjZSB0aGUgbWF0Y2ggd2l0aCB0aGUgdHJhbnNsYXRlZCB0b2tlbi5cbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91cy5yZXBsYWNlKGN1cnJlbnQ/Lm1hdGNoLCBpbnRlcnBvbGF0ZWRUb2tlbik7XG4gICAgICAgIH0sIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VJbnRlcnBvbGF0aW9uVG9rZW4odmFsdWU6IHN0cmluZywgZGF0YTogTG9jYWxpemVQYXJhbXNbJ2RhdGEnXSwgbG9jYWxpemU6IExvY2FsaXplKSB7XG4gICAgICAgIC8vIEdldCB0aGUgdG9rZW4gYW5kIHRoZSBtZXRob2RzIGJ5IHNwbGl0dGluZ1xuICAgICAgICAvLyBvbiB0aGUgcGlwZSBzeW1ib2wuXG4gICAgICAgIGNvbnN0IFt0b2tlbiwgLi4ubWV0aG9kc10gPSAodmFsdWUgPz8gJycpLnNwbGl0KCd8JykubWFwKGl0ZW0gPT4gaXRlbS50cmltKCkpO1xuXG4gICAgICAgIC8vIEdldCB0aGUgdmFsdWUgZm9yIHRoZSB0b2tlbiBmcm9tXG4gICAgICAgIC8vIHRoZSBpbnRlcnBvbGF0aW9uIGRhdGEuXG4gICAgICAgIGNvbnN0IGludGVycG9sYXRpb25WYWx1ZSA9IGRhdGE/Llt0b2tlbl0gPz8gJ251bGwnO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIG1pZGRsZXdhcmUgbWV0aG9kcyBhbmQgdHJ5IHRvXG4gICAgICAgIC8vIGNvbmZvcm0gdGhlIHN0cmluZyB0byB0aGUgZ2l2ZW4gcGFyYW1ldGVycy5cbiAgICAgICAgcmV0dXJuIG1ldGhvZHMucmVkdWNlKChzdHJpbmcsIG1pZGRsZXdhcmVOYW1lKSA9PiB7XG4gICAgICAgICAgICAvLyBUcnkgdG8gcmV0cmlldmUgdGhlIG1pZGRsZXdhcmUgZnJvbSB0aGUgY29sbGVjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IG1pZGRsZXdhcmUgPSB0aGlzLmZ1bmN0aW9uc01hcD8uW21pZGRsZXdhcmVOYW1lXTtcblxuICAgICAgICAgICAgLy8gSWYgdGhlIG1pZGRsZXdhcmUgaXMgbWlzc2luZyByZXR1cm4gYW4gZXJyb3JcbiAgICAgICAgICAgIC8vIHNvIHRoYXQgdGhlIHVzZXIga25vd3MgaXQgd2FzIG5vdCBmb3VuZC5cbiAgICAgICAgICAgIGlmICghbWlkZGxld2FyZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEV4ZWN1dGUgdGhlIG1pZGRsZXdhcmUgZnVuY3Rpb24gd2l0aCB0aGUgc3RyaW5nLlxuICAgICAgICAgICAgcmV0dXJuIG1pZGRsZXdhcmUudHJhbnNmb3JtKHN0cmluZywgbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSk7XG4gICAgICAgIH0sIGAke2ludGVycG9sYXRpb25WYWx1ZX1gKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,49 +0,0 @@
1
- import { LocalizeTransform } from './abstract.transform';
2
- import { LOCALIZE_CONFIG } from '../localize.tokens';
3
- import { inject } from '@angular/core';
4
- export class LocalizePluralTransform extends LocalizeTransform {
5
- config = inject(LOCALIZE_CONFIG, { optional: true });
6
- substitutions = this.config?.substitutions?.plural ?? ['@plural(', ')'];
7
- defaultAmount = 'default';
8
- multiItemRegex = new RegExp(`(?<value>=([0-9]+|${this.defaultAmount}): *[^,]+)`, 'g');
9
- singleItemRegex = new RegExp(`(=(?<amount>[0-9]+|${this.defaultAmount}): *(?<sentence>.+))`);
10
- execute(value, data, _) {
11
- const matches = this.getMatches(value, this.substitutions);
12
- return matches.reduce((previous, current) => {
13
- const [variable, content] = current.token?.split('|');
14
- const amount = this.extractAmount(variable, data);
15
- const pluralToken = this.parsePluralToken(content, amount);
16
- return previous.replace(current?.match, pluralToken ?? current?.match);
17
- }, value);
18
- }
19
- extractAmount(variable, data) {
20
- const trimmedVariable = variable?.trim();
21
- const value = data?.[trimmedVariable] ?? null;
22
- return typeof value === 'string' || typeof value === 'number'
23
- ? value
24
- : null;
25
- }
26
- parsePluralToken(value, amount) {
27
- const plural = this.getPluralObject(value);
28
- return plural?.[amount] ?? plural?.[this.defaultAmount] ?? null;
29
- }
30
- splitMatches(value) {
31
- let match = this.multiItemRegex.exec(value);
32
- const matches = [];
33
- while (match !== null) {
34
- matches.push(match[0]);
35
- match = this.multiItemRegex.exec(value);
36
- }
37
- return matches;
38
- }
39
- getPluralObject(value) {
40
- const matches = this.splitMatches(value);
41
- return matches.reduce((previous, current) => {
42
- const result = current.match(this.singleItemRegex);
43
- const amount = result.groups['amount'].trim();
44
- const sentence = result.groups['sentence'].trim();
45
- return { ...previous, [amount]: sentence };
46
- }, {});
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1cmFsLnRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi90cmFuc2Zvcm1zL3BsdXJhbC50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGlCQUFpQjtJQUV2QyxNQUFNLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNwRSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDMUIsY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLHFCQUFxQixJQUFJLENBQUMsYUFBYSxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdEYsZUFBZSxHQUFHLElBQUksTUFBTSxDQUFDLHNCQUFzQixJQUFJLENBQUMsYUFBYSxzQkFBc0IsQ0FBQyxDQUFDO0lBRXZHLE9BQU8sQ0FBQyxLQUFhLEVBQUUsSUFBNEIsRUFBRSxDQUFXO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUzRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsSUFBSSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFnQixFQUFFLElBQTRCO1FBQ2hFLE1BQU0sZUFBZSxHQUFHLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDOUMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUN6RCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYSxFQUFFLE1BQXVCO1FBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3BFLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFN0IsT0FBTyxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QixLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYTtRQUNqQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEQsT0FBTyxFQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFDLENBQUM7UUFDN0MsQ0FBQyxFQUEwQixFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsaXplUGFyYW1zfSBmcm9tICcuLi9pbnRlcmZhY2VzL29wdGlvbnMuaW50ZXJmYWNlcyc7XG5pbXBvcnQge0xvY2FsaXplQ29uZmlnfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TG9jYWxpemVUcmFuc2Zvcm19IGZyb20gJy4vYWJzdHJhY3QudHJhbnNmb3JtJztcbmltcG9ydCB7TE9DQUxJWkVfQ09ORklHfSBmcm9tICcuLi9sb2NhbGl6ZS50b2tlbnMnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnLi4vbG9jYWxpemUuc2VydmljZSc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZVBsdXJhbFRyYW5zZm9ybSBleHRlbmRzIExvY2FsaXplVHJhbnNmb3JtIHtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb25maWc/OiBMb2NhbGl6ZUNvbmZpZyA9IGluamVjdChMT0NBTElaRV9DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWJzdGl0dXRpb25zID0gdGhpcy5jb25maWc/LnN1YnN0aXR1dGlvbnM/LnBsdXJhbCA/PyBbJ0BwbHVyYWwoJywgJyknXTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdEFtb3VudCA9ICdkZWZhdWx0JztcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbXVsdGlJdGVtUmVnZXggPSBuZXcgUmVnRXhwKGAoPzx2YWx1ZT49KFswLTldK3wke3RoaXMuZGVmYXVsdEFtb3VudH0pOiAqW14sXSspYCwgJ2cnKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2luZ2xlSXRlbVJlZ2V4ID0gbmV3IFJlZ0V4cChgKD0oPzxhbW91bnQ+WzAtOV0rfCR7dGhpcy5kZWZhdWx0QW1vdW50fSk6ICooPzxzZW50ZW5jZT4uKykpYCk7XG5cbiAgICBvdmVycmlkZSBleGVjdXRlKHZhbHVlOiBzdHJpbmcsIGRhdGE6IExvY2FsaXplUGFyYW1zWydkYXRhJ10sIF86IExvY2FsaXplKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB0aGlzLmdldE1hdGNoZXModmFsdWUsIHRoaXMuc3Vic3RpdHV0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIG1hdGNoZXMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgW3ZhcmlhYmxlLCBjb250ZW50XSA9IGN1cnJlbnQudG9rZW4/LnNwbGl0KCd8Jyk7XG4gICAgICAgICAgICBjb25zdCBhbW91bnQgPSB0aGlzLmV4dHJhY3RBbW91bnQodmFyaWFibGUsIGRhdGEpO1xuICAgICAgICAgICAgY29uc3QgcGx1cmFsVG9rZW4gPSB0aGlzLnBhcnNlUGx1cmFsVG9rZW4oY29udGVudCwgYW1vdW50KTtcbiAgICAgICAgICAgIHJldHVybiBwcmV2aW91cy5yZXBsYWNlKGN1cnJlbnQ/Lm1hdGNoLCBwbHVyYWxUb2tlbiA/PyBjdXJyZW50Py5tYXRjaCk7XG4gICAgICAgIH0sIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4dHJhY3RBbW91bnQodmFyaWFibGU6IHN0cmluZywgZGF0YTogTG9jYWxpemVQYXJhbXNbJ2RhdGEnXSkge1xuICAgICAgICBjb25zdCB0cmltbWVkVmFyaWFibGUgPSB2YXJpYWJsZT8udHJpbSgpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/Llt0cmltbWVkVmFyaWFibGVdID8/IG51bGw7XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgID8gdmFsdWVcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlUGx1cmFsVG9rZW4odmFsdWU6IHN0cmluZywgYW1vdW50OiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgcGx1cmFsID0gdGhpcy5nZXRQbHVyYWxPYmplY3QodmFsdWUpO1xuICAgICAgICByZXR1cm4gcGx1cmFsPy5bYW1vdW50XSA/PyBwbHVyYWw/Llt0aGlzLmRlZmF1bHRBbW91bnRdID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzcGxpdE1hdGNoZXModmFsdWU6IHN0cmluZykge1xuICAgICAgICBsZXQgbWF0Y2ggPSB0aGlzLm11bHRpSXRlbVJlZ2V4LmV4ZWModmFsdWUpO1xuICAgICAgICBjb25zdCBtYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAgIHdoaWxlIChtYXRjaCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKG1hdGNoWzBdKTtcbiAgICAgICAgICAgIG1hdGNoID0gdGhpcy5tdWx0aUl0ZW1SZWdleC5leGVjKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtYXRjaGVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UGx1cmFsT2JqZWN0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMuc3BsaXRNYXRjaGVzKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gbWF0Y2hlcy5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBjdXJyZW50Lm1hdGNoKHRoaXMuc2luZ2xlSXRlbVJlZ2V4KTtcbiAgICAgICAgICAgIGNvbnN0IGFtb3VudCA9IHJlc3VsdC5ncm91cHNbJ2Ftb3VudCddLnRyaW0oKTtcbiAgICAgICAgICAgIGNvbnN0IHNlbnRlbmNlID0gcmVzdWx0Lmdyb3Vwc1snc2VudGVuY2UnXS50cmltKCk7XG4gICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCBbYW1vdW50XTogc2VudGVuY2V9O1xuICAgICAgICB9LCA8UmVjb3JkPHN0cmluZywgc3RyaW5nPj57fSk7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { LocalizeTransform } from './abstract.transform';
2
- import { LOCALIZE_CONFIG } from '../localize.tokens';
3
- import { inject } from '@angular/core';
4
- export class LocalizeReferenceTransform extends LocalizeTransform {
5
- // Dependencies.
6
- config = inject(LOCALIZE_CONFIG, { optional: true });
7
- substitutions = this.config?.substitutions?.references ?? ['#(', ')'];
8
- execute(value, _, localize) {
9
- const matches = this.getMatches(value, this.substitutions);
10
- // Replace all matches with the translated value.
11
- return matches.reduce((previous, current) => {
12
- // Try to translate the token.
13
- const translatedToken = localize.translate(current?.token);
14
- // Replace the match with the translated token.
15
- return previous.replace(current?.match, translatedToken);
16
- }, value);
17
- }
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLnRyYW5zZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi90cmFuc2Zvcm1zL3JlZmVyZW5jZS50cmFuc2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQUU3RCxnQkFBZ0I7SUFDRyxNQUFNLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUNwRSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRWhGLE9BQU8sQ0FBQyxLQUFhLEVBQUUsQ0FBeUIsRUFBRSxRQUFrQjtRQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0QsaURBQWlEO1FBQ2pELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUN4Qyw4QkFBOEI7WUFDOUIsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFM0QsK0NBQStDO1lBQy9DLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzdELENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNkLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYWxpemVQYXJhbXN9IGZyb20gJy4uL2ludGVyZmFjZXMvb3B0aW9ucy5pbnRlcmZhY2VzJztcbmltcG9ydCB7TG9jYWxpemVDb25maWd9IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZXMnO1xuaW1wb3J0IHtMb2NhbGl6ZVRyYW5zZm9ybX0gZnJvbSAnLi9hYnN0cmFjdC50cmFuc2Zvcm0nO1xuaW1wb3J0IHtMT0NBTElaRV9DT05GSUd9IGZyb20gJy4uL2xvY2FsaXplLnRva2Vucyc7XG5pbXBvcnQge0xvY2FsaXplfSBmcm9tICcuLi9sb2NhbGl6ZS5zZXJ2aWNlJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIExvY2FsaXplUmVmZXJlbmNlVHJhbnNmb3JtIGV4dGVuZHMgTG9jYWxpemVUcmFuc2Zvcm0ge1xuXG4gICAgLy8gRGVwZW5kZW5jaWVzLlxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb25maWc/OiBMb2NhbGl6ZUNvbmZpZyA9IGluamVjdChMT0NBTElaRV9DT05GSUcsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzdWJzdGl0dXRpb25zID0gdGhpcy5jb25maWc/LnN1YnN0aXR1dGlvbnM/LnJlZmVyZW5jZXMgPz8gWycjKCcsICcpJ107XG5cbiAgICBvdmVycmlkZSBleGVjdXRlKHZhbHVlOiBzdHJpbmcsIF86IExvY2FsaXplUGFyYW1zWydkYXRhJ10sIGxvY2FsaXplOiBMb2NhbGl6ZSkge1xuICAgICAgICBjb25zdCBtYXRjaGVzID0gdGhpcy5nZXRNYXRjaGVzKHZhbHVlLCB0aGlzLnN1YnN0aXR1dGlvbnMpO1xuXG4gICAgICAgIC8vIFJlcGxhY2UgYWxsIG1hdGNoZXMgd2l0aCB0aGUgdHJhbnNsYXRlZCB2YWx1ZS5cbiAgICAgICAgcmV0dXJuIG1hdGNoZXMucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuICAgICAgICAgICAgLy8gVHJ5IHRvIHRyYW5zbGF0ZSB0aGUgdG9rZW4uXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGVkVG9rZW4gPSBsb2NhbGl6ZS50cmFuc2xhdGUoY3VycmVudD8udG9rZW4pO1xuXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBtYXRjaCB3aXRoIHRoZSB0cmFuc2xhdGVkIHRva2VuLlxuICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzLnJlcGxhY2UoY3VycmVudD8ubWF0Y2gsIHRyYW5zbGF0ZWRUb2tlbik7XG4gICAgICAgIH0sIHZhbHVlKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,89 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input, ViewEncapsulation } from '@angular/core';
2
- import { BbLocalizeTemplate } from '../localize-template.directive';
3
- import { BbTemplate } from '@bravobit/bb-foundation/utils';
4
- import { startWith } from 'rxjs/operators';
5
- import { Subscription } from 'rxjs';
6
- import * as i0 from "@angular/core";
7
- export class BbLocalizeString {
8
- _changeDetection;
9
- // Content children.
10
- items;
11
- // Inputs.
12
- substitutions = ['@element(', ')'];
13
- // Data.
14
- components = [];
15
- // Subscriptions.
16
- _subscription = new Subscription();
17
- // State.
18
- _value = null;
19
- set value(value) {
20
- this._value = value;
21
- this.revalidate();
22
- }
23
- get value() {
24
- return this._value;
25
- }
26
- constructor(_changeDetection) {
27
- this._changeDetection = _changeDetection;
28
- }
29
- ngAfterViewInit() {
30
- this.observeItemChanges();
31
- }
32
- ngOnDestroy() {
33
- this._subscription?.unsubscribe();
34
- }
35
- observeItemChanges() {
36
- const subscription = this.items.changes.pipe(startWith(0)).subscribe(() => this.revalidate());
37
- this._subscription.add(subscription);
38
- }
39
- revalidate() {
40
- const items = this.items?.toArray() ?? [];
41
- if (items.length <= 0) {
42
- return;
43
- }
44
- this.setComponents(items);
45
- }
46
- setComponents(items) {
47
- const [start, end] = this.substitutions;
48
- const templates = items.reduce((previous, current) => {
49
- const template = current?.templateRef ?? null;
50
- const name = current?.name ?? null;
51
- if (!template || !name) {
52
- return previous;
53
- }
54
- return { ...previous, [`${start}${name}${end}`]: template };
55
- }, {});
56
- this.components = this.getStringComponents(this._value)
57
- .map(component => templates?.[component] ?? component ?? null)
58
- .filter(item => !!item);
59
- this._changeDetection.detectChanges();
60
- }
61
- getStringComponents(value) {
62
- const [start, end] = this.getSubstitutions();
63
- const regex = new RegExp(`(${start}[a-zA-Z]+${end})`, 'g');
64
- return value.split(regex);
65
- }
66
- getSubstitutions() {
67
- const [start, end] = this.substitutions;
68
- const escape = /[.*+?^${}()|[\]\\]/g;
69
- return [
70
- start.replace(escape, '\\$&'),
71
- end.replace(escape, '\\$&')
72
- ];
73
- }
74
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbLocalizeString, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
75
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbLocalizeString, isStandalone: true, selector: "[bb-localize-string]", inputs: { substitutions: "substitutions", value: ["bb-localize-string", "value"] }, host: { classAttribute: "bb-localize-string" }, queries: [{ propertyName: "items", predicate: BbLocalizeTemplate }], ngImport: i0, template: "@for (component of components; track component) {\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbLocalizeString, decorators: [{
78
- type: Component,
79
- args: [{ selector: '[bb-localize-string]', changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'bb-localize-string' }, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, standalone: true, imports: [BbTemplate], template: "@for (component of components; track component) {\n <ng-template [bbTemplate]=\"component\">{{ component }}</ng-template>\n}\n" }]
80
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { items: [{
81
- type: ContentChildren,
82
- args: [BbLocalizeTemplate]
83
- }], substitutions: [{
84
- type: Input
85
- }], value: [{
86
- type: Input,
87
- args: ['bb-localize-string']
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtc3RyaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi92aWV3cy9sb2NhbGl6ZS1zdHJpbmcvbG9jYWxpemUtc3RyaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi92aWV3cy9sb2NhbGl6ZS1zdHJpbmcvbG9jYWxpemUtc3RyaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFxQyxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqTCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBYWxDLE1BQU0sT0FBTyxnQkFBZ0I7SUEyQkw7SUF6QnBCLG9CQUFvQjtJQUNpQixLQUFLLENBQWlDO0lBRTNFLFVBQVU7SUFDRCxhQUFhLEdBQXFCLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRTlELFFBQVE7SUFDUixVQUFVLEdBQWtDLEVBQUUsQ0FBQztJQUUvQyxpQkFBaUI7SUFDVCxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQyxTQUFTO0lBQ0QsTUFBTSxHQUFrQixJQUFJLENBQUM7SUFFckMsSUFDSSxLQUFLLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIs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QUM3QixHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7U0FDOUIsQ0FBQztJQUNOLENBQUM7d0dBekZRLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLDBPQUdSLGtCQUFrQiw2QkNwQnZDLG1JQUdBLDBERFljLFVBQVU7OzRGQUVYLGdCQUFnQjtrQkFYNUIsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBQyxpQkFDdEIsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFVBQVUsQ0FBQztzRkFLZ0IsS0FBSztzQkFBekMsZUFBZTt1QkFBQyxrQkFBa0I7Z0JBRzFCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBWUYsS0FBSztzQkFEUixLQUFLO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgSW5wdXQsIE9uRGVzdHJveSwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCYkxvY2FsaXplVGVtcGxhdGV9IGZyb20gJy4uL2xvY2FsaXplLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiVGVtcGxhdGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3V0aWxzJztcbmltcG9ydCB7c3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW2JiLWxvY2FsaXplLXN0cmluZ10nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2NhbGl6ZS1zdHJpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xvY2FsaXplLXN0cmluZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHsnY2xhc3MnOiAnYmItbG9jYWxpemUtc3RyaW5nJ30sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtCYlRlbXBsYXRlXVxufSlcbmV4cG9ydCBjbGFzcyBCYkxvY2FsaXplU3RyaW5nIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIENvbnRlbnQgY2hpbGRyZW4uXG4gICAgQENvbnRlbnRDaGlsZHJlbihCYkxvY2FsaXplVGVtcGxhdGUpIGl0ZW1zPzogUXVlcnlMaXN0PEJiTG9jYWxpemVUZW1wbGF0ZT47XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgc3Vic3RpdHV0aW9uczogW3N0cmluZywgc3RyaW5nXSA9IFsnQGVsZW1lbnQoJywgJyknXTtcblxuICAgIC8vIERhdGEuXG4gICAgY29tcG9uZW50czogKHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT4pW10gPSBbXTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KCdiYi1sb2NhbGl6ZS1zdHJpbmcnKVxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnJldmFsaWRhdGUoKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm9ic2VydmVJdGVtQ2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlSXRlbUNoYW5nZXMoKSB7XG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuaXRlbXMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKDApXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmV2YWxpZGF0ZSgpKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXZhbGlkYXRlKCkge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXM/LnRvQXJyYXkoKSA/PyBbXTtcbiAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldENvbXBvbmVudHMoaXRlbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29tcG9uZW50cyhpdGVtczogQmJMb2NhbGl6ZVRlbXBsYXRlW10pIHtcbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5zdWJzdGl0dXRpb25zO1xuXG4gICAgICAgIGNvbnN0IHRlbXBsYXRlcyA9IGl0ZW1zLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXBsYXRlID0gY3VycmVudD8udGVtcGxhdGVSZWYgPz8gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBjdXJyZW50Py5uYW1lID8/IG51bGw7XG4gICAgICAgICAgICBpZiAoIXRlbXBsYXRlIHx8ICFuYW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCBbYCR7c3RhcnR9JHtuYW1lfSR7ZW5kfWBdOiB0ZW1wbGF0ZX07XG4gICAgICAgIH0sIHt9KTtcblxuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSB0aGlzLmdldFN0cmluZ0NvbXBvbmVudHModGhpcy5fdmFsdWUpXG4gICAgICAgICAgICAubWFwKGNvbXBvbmVudCA9PiB0ZW1wbGF0ZXM/Lltjb21wb25lbnRdID8/IGNvbXBvbmVudCA/PyBudWxsKVxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN0cmluZ0NvbXBvbmVudHModmFsdWU6IHN0cmluZykge1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLmdldFN1YnN0aXR1dGlvbnMoKTtcbiAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGAoJHtzdGFydH1bYS16QS1aXSske2VuZH0pYCwgJ2cnKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnNwbGl0KHJlZ2V4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFN1YnN0aXR1dGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMuc3Vic3RpdHV0aW9ucztcbiAgICAgICAgY29uc3QgZXNjYXBlID0gL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nO1xuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBzdGFydC5yZXBsYWNlKGVzY2FwZSwgJ1xcXFwkJicpLFxuICAgICAgICAgICAgZW5kLnJlcGxhY2UoZXNjYXBlLCAnXFxcXCQmJylcbiAgICAgICAgXTtcbiAgICB9XG5cbn1cbiIsIkBmb3IgKGNvbXBvbmVudCBvZiBjb21wb25lbnRzOyB0cmFjayBjb21wb25lbnQpIHtcbiAgICA8bmctdGVtcGxhdGUgW2JiVGVtcGxhdGVdPVwiY29tcG9uZW50XCI+e3sgY29tcG9uZW50IH19PC9uZy10ZW1wbGF0ZT5cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BbLocalizeTemplate {
4
- templateRef;
5
- // Inputs.
6
- name = null;
7
- constructor(templateRef) {
8
- this.templateRef = templateRef;
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbLocalizeTemplate, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
11
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbLocalizeTemplate, isStandalone: true, selector: "[bbLocalizeTemplate]", inputs: { name: ["bbLocalizeTemplate", "name"] }, ngImport: i0 });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbLocalizeTemplate, decorators: [{
14
- type: Directive,
15
- args: [{
16
- selector: '[bbLocalizeTemplate]',
17
- standalone: true
18
- }]
19
- }], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { name: [{
20
- type: Input,
21
- args: ['bbLocalizeTemplate']
22
- }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUtdGVtcGxhdGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL3ZpZXdzL2xvY2FsaXplLXRlbXBsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBYyxNQUFNLGVBQWUsQ0FBQzs7QUFNNUQsTUFBTSxPQUFPLGtCQUFrQjtJQUtSO0lBSG5CLFVBQVU7SUFDbUIsSUFBSSxHQUFrQixJQUFJLENBQUM7SUFFeEQsWUFBbUIsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ2hELENBQUM7d0dBTlEsa0JBQWtCOzRGQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ25CO2dGQUlnQyxJQUFJO3NCQUFoQyxLQUFLO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tiYkxvY2FsaXplVGVtcGxhdGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiTG9jYWxpemVUZW1wbGF0ZSB7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCdiYkxvY2FsaXplVGVtcGxhdGUnKSBuYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55Pikge1xuICAgIH1cblxufVxuIl19
@@ -1,27 +0,0 @@
1
- export * from './lib/interfaces/config.interfaces';
2
- export * from './lib/interfaces/options.interfaces';
3
- export * from './lib/interfaces/functions.interfaces';
4
- export * from './lib/interfaces/handlers.interfaces';
5
- export * from './lib/functions/lowercase.function';
6
- export * from './lib/functions/uppercase.function';
7
- export * from './lib/functions/date.function';
8
- export * from './lib/localizations/english.localization';
9
- export * from './lib/localizations/dutch.localization';
10
- export * from './lib/localizations/papiamento.localization';
11
- export * from './lib/localizations/spanish.localization';
12
- export * from './lib/handlers/missing.handler';
13
- export * from './lib/dictionary/dictionary.data';
14
- export * from './lib/dictionary/dictionary.class';
15
- export * from './lib/dictionary/dictionary.context';
16
- export * from './lib/transforms/abstract.transform';
17
- export * from './lib/transforms/plural.transform';
18
- export * from './lib/transforms/interpolate.transform';
19
- export * from './lib/transforms/reference.transform';
20
- export * from './lib/views/localize-string/localize-string.component';
21
- export * from './lib/views/localize-template.directive';
22
- export * from './lib/localize.tokens';
23
- export * from './lib/localize.service';
24
- export * from './lib/localize.pipe';
25
- export * from './lib/localize.config';
26
- export * from './lib/localize.module';
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxzQ0FBc0MsQ0FBQztBQUVyRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL29wdGlvbnMuaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2Z1bmN0aW9ucy5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvaGFuZGxlcnMuaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Z1bmN0aW9ucy9sb3dlcmNhc2UuZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZnVuY3Rpb25zL3VwcGVyY2FzZS5mdW5jdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvZGF0ZS5mdW5jdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsaXphdGlvbnMvZW5nbGlzaC5sb2NhbGl6YXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYWxpemF0aW9ucy9kdXRjaC5sb2NhbGl6YXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYWxpemF0aW9ucy9wYXBpYW1lbnRvLmxvY2FsaXphdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2NhbGl6YXRpb25zL3NwYW5pc2gubG9jYWxpemF0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvaGFuZGxlcnMvbWlzc2luZy5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGljdGlvbmFyeS9kaWN0aW9uYXJ5LmRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGljdGlvbmFyeS9kaWN0aW9uYXJ5LmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5jb250ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNmb3Jtcy9hYnN0cmFjdC50cmFuc2Zvcm0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNmb3Jtcy9wbHVyYWwudHJhbnNmb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zZm9ybXMvaW50ZXJwb2xhdGUudHJhbnNmb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zZm9ybXMvcmVmZXJlbmNlLnRyYW5zZm9ybSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdzL2xvY2FsaXplLXN0cmluZy9sb2NhbGl6ZS1zdHJpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXdzL2xvY2FsaXplLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsaXplLnRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2NhbGl6ZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYWxpemUuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvY2FsaXplLm1vZHVsZSc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1tYXNraW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9tYXNraW5nL3NyYy9icmF2b2JpdC1iYi1mb3VuZGF0aW9uLW1hc2tpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==