@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,126 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./exif.service";
4
- import * as i2 from "@angular/cdk/platform";
5
- import * as i3 from "./file-loader.service";
6
- export class ImageConverter {
7
- _exif;
8
- _platform;
9
- _fileLoader;
10
- // Data.
11
- _types = ['image/png', 'image/jpeg', 'image/webp'];
12
- constructor(_exif, _platform, _fileLoader) {
13
- this._exif = _exif;
14
- this._platform = _platform;
15
- this._fileLoader = _fileLoader;
16
- }
17
- async toDataUri(contents, options = null) {
18
- // Check if the current platform is a browser.
19
- if (!this._platform.isBrowser) {
20
- return null;
21
- }
22
- // Get the image.
23
- const image = await this.getImage(contents);
24
- // Get the canvas width and height.
25
- const canvasWidth = options?.width || image?.width;
26
- const canvasHeight = options?.height || image?.height;
27
- // Get the canvas and context.
28
- const canvas = document.createElement('canvas');
29
- const context = canvas.getContext('2d');
30
- // Validate the context exists.
31
- if (!context) {
32
- return null;
33
- }
34
- // Set the width and height.
35
- canvas.width = canvasWidth;
36
- canvas.height = canvasHeight;
37
- // When the canvas sizes are 0 we have failed.
38
- if (canvas?.width === 0 && canvas?.height === 0) {
39
- return null;
40
- }
41
- // Check if dimensions where supplied, else create the image.
42
- if (!options) {
43
- // Draw the image.
44
- context.drawImage(image, 0, 0);
45
- // Convert the canvas to a data url.
46
- return canvas.toDataURL(this._types[0]);
47
- }
48
- // Get the dimensions and offsets.
49
- const { width, height, xOffset, yOffset } = this.calculateOffsetAndDimensions(image, canvasWidth, canvasHeight);
50
- // Draw the image.
51
- context.drawImage(image, 0, 0, image.width, image.height, xOffset, yOffset, width, height);
52
- // Convert the canvas to a data url.
53
- return canvas.toDataURL(this._types[0]);
54
- }
55
- async fileToImage(file, types = this._types) {
56
- // Check if the file matches an image.
57
- if (!types.includes(file.type)) {
58
- throw new Error('The selected file does not meet the required format.');
59
- }
60
- let stripped = null;
61
- try {
62
- stripped = await this._exif.strip(file, 90);
63
- }
64
- catch {
65
- // Do nothing.
66
- }
67
- // Ge the data uri.
68
- const dataUri = await this._fileLoader.asDataUrl(stripped ?? file);
69
- // Convert the data URI to a image element.
70
- return await this.stringToImage(dataUri);
71
- }
72
- stringToImage(src) {
73
- return new Promise((resolve, reject) => {
74
- const image = new Image();
75
- image.src = src;
76
- image.onload = () => resolve(image);
77
- image.onerror = error => reject(error);
78
- });
79
- }
80
- async getImage(contents) {
81
- // If the contents is already an HTML image element just return it.
82
- if (contents instanceof HTMLImageElement) {
83
- return contents;
84
- }
85
- // If the contents is a file convert it to an HTML image element.
86
- if (contents instanceof File) {
87
- return this.fileToImage(contents);
88
- }
89
- // If the contents is a string convert it to an HTML image element.
90
- return this.stringToImage(contents);
91
- }
92
- calculateOffsetAndDimensions = (image, canvasWidth, canvasHeight) => {
93
- const originalWidth = image.width;
94
- const originalHeight = image.height;
95
- const widthRatio = canvasWidth / originalWidth;
96
- const heightRatio = canvasHeight / originalHeight;
97
- let width;
98
- let height;
99
- if (originalWidth > originalHeight) {
100
- height = originalHeight * heightRatio;
101
- width = (originalWidth / originalHeight) * height;
102
- }
103
- else {
104
- width = originalWidth * widthRatio;
105
- height = (originalHeight / originalWidth) * width;
106
- }
107
- let xOffset = 0;
108
- let yOffset = 0;
109
- if (canvasHeight === height) {
110
- xOffset = -((width - canvasWidth) / 2);
111
- }
112
- else if (canvasWidth === width) {
113
- yOffset = -((height - canvasHeight) / 2);
114
- }
115
- return { xOffset, yOffset, width, height };
116
- };
117
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ImageConverter, deps: [{ token: i1.Exif }, { token: i2.Platform }, { token: i3.FileLoader }], target: i0.ɵɵFactoryTarget.Injectable });
118
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ImageConverter, providedIn: 'root' });
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ImageConverter, decorators: [{
121
- type: Injectable,
122
- args: [{
123
- providedIn: 'root'
124
- }]
125
- }], ctorParameters: () => [{ type: i1.Exif }, { type: i2.Platform }, { type: i3.FileLoader }] });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY29udmVydGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9pbWFnZS1jb252ZXJ0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7OztBQU16QyxNQUFNLE9BQU8sY0FBYztJQUtIO0lBQ0E7SUFDQTtJQUxwQixRQUFRO0lBQ1MsTUFBTSxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUVwRSxZQUFvQixLQUFXLEVBQ1gsU0FBbUIsRUFDbkIsV0FBdUI7UUFGdkIsVUFBSyxHQUFMLEtBQUssQ0FBTTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFDM0MsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBMEMsRUFBRSxVQUFvRCxJQUFJO1FBQ2hILDhDQUE4QztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsaUJBQWlCO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxtQ0FBbUM7UUFDbkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxFQUFFLEtBQUssSUFBSSxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUV0RCw4QkFBOEI7UUFDOUIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLE9B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QUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDO3dHQXBJTyxjQUFjOzRHQUFkLGNBQWMsY0FGWCxNQUFNOzs0RkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmlsZUxvYWRlcn0gZnJvbSAnLi9maWxlLWxvYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7UGxhdGZvcm19IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFeGlmfSBmcm9tICcuL2V4aWYuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VDb252ZXJ0ZXIge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90eXBlcyA9IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2Uvd2VicCddO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXhpZjogRXhpZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfZmlsZUxvYWRlcjogRmlsZUxvYWRlcikge1xuICAgIH1cblxuICAgIGFzeW5jIHRvRGF0YVVyaShjb250ZW50czogc3RyaW5nIHwgRmlsZSB8IEhUTUxJbWFnZUVsZW1lbnQsIG9wdGlvbnM6IHsgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIgfSB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IHBsYXRmb3JtIGlzIGEgYnJvd3Nlci5cbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IHRoZSBpbWFnZS5cbiAgICAgICAgY29uc3QgaW1hZ2UgPSBhd2FpdCB0aGlzLmdldEltYWdlKGNvbnRlbnRzKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGNhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0LlxuICAgICAgICBjb25zdCBjYW52YXNXaWR0aCA9IG9wdGlvbnM/LndpZHRoIHx8IGltYWdlPy53aWR0aDtcbiAgICAgICAgY29uc3QgY2FudmFzSGVpZ2h0ID0gb3B0aW9ucz8uaGVpZ2h0IHx8IGltYWdlPy5oZWlnaHQ7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBjYW52YXMgYW5kIGNvbnRleHQuXG4gICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG5cbiAgICAgICAgLy8gVmFsaWRhdGUgdGhlIGNvbnRleHQgZXhpc3RzLlxuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2V0IHRoZSB3aWR0aCBhbmQgaGVpZ2h0LlxuICAgICAgICBjYW52YXMud2lkdGggPSBjYW52YXNXaWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGNhbnZhc0hlaWdodDtcblxuICAgICAgICAvLyBXaGVuIHRoZSBjYW52YXMgc2l6ZXMgYXJlIDAgd2UgaGF2ZSBmYWlsZWQuXG4gICAgICAgIGlmIChjYW52YXM/LndpZHRoID09PSAwICYmIGNhbnZhcz8uaGVpZ2h0ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGlmIGRpbWVuc2lvbnMgd2hlcmUgc3VwcGxpZWQsIGVsc2UgY3JlYXRlIHRoZSBpbWFnZS5cbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICAvLyBEcmF3IHRoZSBpbWFnZS5cbiAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwKTtcblxuICAgICAgICAgICAgLy8gQ29udmVydCB0aGUgY2FudmFzIHRvIGEgZGF0YSB1cmwuXG4gICAgICAgICAgICByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCh0aGlzLl90eXBlc1swXSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZXQgdGhlIGRpbWVuc2lvbnMgYW5kIG9mZnNldHMuXG4gICAgICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0LCB4T2Zmc2V0LCB5T2Zmc2V0fSA9IHRoaXMuY2FsY3VsYXRlT2Zmc2V0QW5kRGltZW5zaW9ucyhpbWFnZSwgY2FudmFzV2lkdGgsIGNhbnZhc0hlaWdodCk7XG5cbiAgICAgICAgLy8gRHJhdyB0aGUgaW1hZ2UuXG4gICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCBpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0LCB4T2Zmc2V0LCB5T2Zmc2V0LCB3aWR0aCwgaGVpZ2h0KTtcblxuICAgICAgICAvLyBDb252ZXJ0IHRoZSBjYW52YXMgdG8gYSBkYXRhIHVybC5cbiAgICAgICAgcmV0dXJuIGNhbnZhcy50b0RhdGFVUkwodGhpcy5fdHlwZXNbMF0pO1xuICAgIH1cblxuICAgIGFzeW5jIGZpbGVUb0ltYWdlKGZpbGU6IEZpbGUsIHR5cGVzOiBzdHJpbmdbXSA9IHRoaXMuX3R5cGVzKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBmaWxlIG1hdGNoZXMgYW4gaW1hZ2UuXG4gICAgICAgIGlmICghdHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc2VsZWN0ZWQgZmlsZSBkb2VzIG5vdCBtZWV0IHRoZSByZXF1aXJlZCBmb3JtYXQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RyaXBwZWQ6IEZpbGUgfCBudWxsID0gbnVsbDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0cmlwcGVkID0gYXdhaXQgdGhpcy5fZXhpZi5zdHJpcChmaWxlLCA5MCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLy8gRG8gbm90aGluZy5cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdlIHRoZSBkYXRhIHVyaS5cbiAgICAgICAgY29uc3QgZGF0YVVyaSA9IGF3YWl0IHRoaXMuX2ZpbGVMb2FkZXIuYXNEYXRhVXJsKHN0cmlwcGVkID8/IGZpbGUpO1xuXG4gICAgICAgIC8vIENvbnZlcnQgdGhlIGRhdGEgVVJJIHRvIGEgaW1hZ2UgZWxlbWVudC5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc3RyaW5nVG9JbWFnZShkYXRhVXJpKTtcbiAgICB9XG5cbiAgICBzdHJpbmdUb0ltYWdlKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gc3JjO1xuICAgICAgICAgICAgaW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpbWFnZSk7XG4gICAgICAgICAgICBpbWFnZS5vbmVycm9yID0gZXJyb3IgPT4gcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBnZXRJbWFnZShjb250ZW50czogc3RyaW5nIHwgRmlsZSB8IEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgdGhlIGNvbnRlbnRzIGlzIGFscmVhZHkgYW4gSFRNTCBpbWFnZSBlbGVtZW50IGp1c3QgcmV0dXJuIGl0LlxuICAgICAgICBpZiAoY29udGVudHMgaW5zdGFuY2VvZiBIVE1MSW1hZ2VFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgY29udGVudHMgaXMgYSBmaWxlIGNvbnZlcnQgaXQgdG8gYW4gSFRNTCBpbWFnZSBlbGVtZW50LlxuICAgICAgICBpZiAoY29udGVudHMgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maWxlVG9JbWFnZShjb250ZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgY29udGVudHMgaXMgYSBzdHJpbmcgY29udmVydCBpdCB0byBhbiBIVE1MIGltYWdlIGVsZW1lbnQuXG4gICAgICAgIHJldHVybiB0aGlzLnN0cmluZ1RvSW1hZ2UoY29udGVudHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlT2Zmc2V0QW5kRGltZW5zaW9ucyA9IChpbWFnZTogSFRNTEltYWdlRWxlbWVudCwgY2FudmFzV2lkdGg6IG51bWJlciwgY2FudmFzSGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxXaWR0aCA9IGltYWdlLndpZHRoO1xuICAgICAgICBjb25zdCBvcmlnaW5hbEhlaWdodCA9IGltYWdlLmhlaWdodDtcblxuICAgICAgICBjb25zdCB3aWR0aFJhdGlvID0gY2FudmFzV2lkdGggLyBvcmlnaW5hbFdpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHRSYXRpbyA9IGNhbnZhc0hlaWdodCAvIG9yaWdpbmFsSGVpZ2h0O1xuXG4gICAgICAgIGxldCB3aWR0aDogbnVtYmVyO1xuICAgICAgICBsZXQgaGVpZ2h0OiBudW1iZXI7XG5cbiAgICAgICAgaWYgKG9yaWdpbmFsV2lkdGggPiBvcmlnaW5hbEhlaWdodCkge1xuICAgICAgICAgICAgaGVpZ2h0ID0gb3JpZ2luYWxIZWlnaHQgKiBoZWlnaHRSYXRpbztcbiAgICAgICAgICAgIHdpZHRoID0gKG9yaWdpbmFsV2lkdGggLyBvcmlnaW5hbEhlaWdodCkgKiBoZWlnaHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aWR0aCA9IG9yaWdpbmFsV2lkdGggKiB3aWR0aFJhdGlvO1xuICAgICAgICAgICAgaGVpZ2h0ID0gKG9yaWdpbmFsSGVpZ2h0IC8gb3JpZ2luYWxXaWR0aCkgKiB3aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB4T2Zmc2V0ID0gMDtcbiAgICAgICAgbGV0IHlPZmZzZXQgPSAwO1xuXG4gICAgICAgIGlmIChjYW52YXNIZWlnaHQgPT09IGhlaWdodCkge1xuICAgICAgICAgICAgeE9mZnNldCA9IC0oKHdpZHRoIC0gY2FudmFzV2lkdGgpIC8gMik7XG4gICAgICAgIH0gZWxzZSBpZiAoY2FudmFzV2lkdGggPT09IHdpZHRoKSB7XG4gICAgICAgICAgICB5T2Zmc2V0ID0gLSgoaGVpZ2h0IC0gY2FudmFzSGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHt4T2Zmc2V0LCB5T2Zmc2V0LCB3aWR0aCwgaGVpZ2h0fTtcbiAgICB9O1xuXG59XG4iXX0=
@@ -1,75 +0,0 @@
1
- import { ACCEPT_LANGUAGE } from '../tokens/accept-language.token';
2
- import { Inject, Injectable, Optional } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class Languages {
5
- _acceptLanguage;
6
- // Data.
7
- _data = [];
8
- constructor(_acceptLanguage) {
9
- this._acceptLanguage = _acceptLanguage;
10
- this._data = this.initialize();
11
- }
12
- get all() {
13
- return this._data;
14
- }
15
- initialize() {
16
- // Get the languages.
17
- const data = this.getLanguages();
18
- // Parse all languages by using a regex.
19
- const strings = (data || '')
20
- .match(/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\*)(;q=[0-1](\.[0-9]+)?)?)*/g);
21
- // Get the content by parsing the strings.
22
- const content = strings.map(item => {
23
- if (!item) {
24
- return null;
25
- }
26
- const bits = item.split(';');
27
- const ietf = bits[0].split('-');
28
- const hasScript = ietf.length === 3;
29
- return {
30
- code: ietf[0],
31
- script: hasScript ? ietf[1] : null,
32
- region: hasScript ? ietf[2] : ietf[1],
33
- quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0
34
- };
35
- });
36
- // Filter out all the empty items
37
- // and sort them by the quality.
38
- return content
39
- .filter(item => !!item)
40
- .sort((a, b) => b.quality - a.quality);
41
- }
42
- getLanguages = () => {
43
- // If defined we must be in a server environment.
44
- if (this._acceptLanguage) {
45
- return this._acceptLanguage;
46
- }
47
- // Try to get the languages from the navigator.
48
- if (typeof navigator !== 'object') {
49
- return null;
50
- }
51
- let t = 'anguage';
52
- let n = navigator;
53
- let f = n['l' + t + 's'];
54
- const data = f && f.length ? f : (t = n['l' + t] ||
55
- n['browserL' + t] ||
56
- n['userL' + t]) ? [t] : t;
57
- return typeof data === 'string'
58
- ? data
59
- : data.join(';');
60
- };
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
62
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Languages, providedIn: 'root' });
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Languages, decorators: [{
65
- type: Injectable,
66
- args: [{
67
- providedIn: 'root'
68
- }]
69
- }], ctorParameters: () => [{ type: undefined, decorators: [{
70
- type: Optional
71
- }, {
72
- type: Inject,
73
- args: [ACCEPT_LANGUAGE]
74
- }] }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9sYW5ndWFnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUszRCxNQUFNLE9BQU8sU0FBUztJQUt1QztJQUh6RCxRQUFRO0lBQ1MsS0FBSyxHQUEwRSxFQUFFLENBQUM7SUFFbkcsWUFBeUQsZUFBd0I7UUFBeEIsb0JBQWUsR0FBZixlQUFlLENBQVM7UUFDN0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRU8sVUFBVTtRQUNkLHFCQUFxQjtRQUNyQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakMsd0NBQXdDO1FBQ3hDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQzthQUN2QixLQUFLLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztRQUU3RSwwQ0FBMEM7UUFDMUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1IsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUVwQyxPQUFPO2dCQUNILElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDbEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQzdELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxnQ0FBZ0M7UUFDaEMsT0FBTyxPQUFPO2FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sWUFBWSxHQUFHLEdBQUcsRUFBRTtRQUN4QixpREFBaUQ7UUFDakQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hDLENBQUM7UUFFRCwrQ0FBK0M7UUFDL0MsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUV6QixNQUFNLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7WUFDM0IsQ0FBQyxDQUFDLElBQUk7WUFDTixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7d0dBcEVPLFNBQVMsa0JBS2MsZUFBZTs0R0FMdEMsU0FBUyxjQUZOLE1BQU07OzRGQUVULFNBQVM7a0JBSHJCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFNZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBQ0NFUFRfTEFOR1VBR0V9IGZyb20gJy4uL3Rva2Vucy9hY2NlcHQtbGFuZ3VhZ2UudG9rZW4nO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYW5ndWFnZXMge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiB7IGNvZGU6IHN0cmluZywgc2NyaXB0Pzogc3RyaW5nLCByZWdpb24/OiBzdHJpbmcsIHF1YWxpdHk6IG51bWJlciB9W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoQUNDRVBUX0xBTkdVQUdFKSBwcml2YXRlIF9hY2NlcHRMYW5ndWFnZT86IHN0cmluZykge1xuICAgICAgICB0aGlzLl9kYXRhID0gdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgZ2V0IGFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplKCkge1xuICAgICAgICAvLyBHZXQgdGhlIGxhbmd1YWdlcy5cbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0TGFuZ3VhZ2VzKCk7XG5cbiAgICAgICAgLy8gUGFyc2UgYWxsIGxhbmd1YWdlcyBieSB1c2luZyBhIHJlZ2V4LlxuICAgICAgICBjb25zdCBzdHJpbmdzID0gKGRhdGEgfHwgJycpXG4gICAgICAgICAgICAubWF0Y2goLygoKFthLXpBLVpdKygtW2EtekEtWjAtOV0rKXswLDJ9KXxcXCopKDtxPVswLTFdKFxcLlswLTldKyk/KT8pKi9nKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGNvbnRlbnQgYnkgcGFyc2luZyB0aGUgc3RyaW5ncy5cbiAgICAgICAgY29uc3QgY29udGVudCA9IHN0cmluZ3MubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJpdHMgPSBpdGVtLnNwbGl0KCc7Jyk7XG4gICAgICAgICAgICBjb25zdCBpZXRmID0gYml0c1swXS5zcGxpdCgnLScpO1xuICAgICAgICAgICAgY29uc3QgaGFzU2NyaXB0ID0gaWV0Zi5sZW5ndGggPT09IDM7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogaWV0ZlswXSxcbiAgICAgICAgICAgICAgICBzY3JpcHQ6IGhhc1NjcmlwdCA/IGlldGZbMV0gOiBudWxsLFxuICAgICAgICAgICAgICAgIHJlZ2lvbjogaGFzU2NyaXB0ID8gaWV0ZlsyXSA6IGlldGZbMV0sXG4gICAgICAgICAgICAgICAgcXVhbGl0eTogYml0c1sxXSA/IHBhcnNlRmxvYXQoYml0c1sxXS5zcGxpdCgnPScpWzFdKSA6IDEuMFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRmlsdGVyIG91dCBhbGwgdGhlIGVtcHR5IGl0ZW1zXG4gICAgICAgIC8vIGFuZCBzb3J0IHRoZW0gYnkgdGhlIHF1YWxpdHkuXG4gICAgICAgIHJldHVybiBjb250ZW50XG4gICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gISFpdGVtKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIucXVhbGl0eSAtIGEucXVhbGl0eSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYW5ndWFnZXMgPSAoKSA9PiB7XG4gICAgICAgIC8vIElmIGRlZmluZWQgd2UgbXVzdCBiZSBpbiBhIHNlcnZlciBlbnZpcm9ubWVudC5cbiAgICAgICAgaWYgKHRoaXMuX2FjY2VwdExhbmd1YWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0TGFuZ3VhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUcnkgdG8gZ2V0IHRoZSBsYW5ndWFnZXMgZnJvbSB0aGUgbmF2aWdhdG9yLlxuICAgICAgICBpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHQgPSAnYW5ndWFnZSc7XG4gICAgICAgIGxldCBuID0gbmF2aWdhdG9yO1xuICAgICAgICBsZXQgZiA9IG5bJ2wnICsgdCArICdzJ107XG5cbiAgICAgICAgY29uc3QgZGF0YSA9IGYgJiYgZi5sZW5ndGggPyBmIDogKHQgPSBuWydsJyArIHRdIHx8XG4gICAgICAgICAgICBuWydicm93c2VyTCcgKyB0XSB8fFxuICAgICAgICAgICAgblsndXNlckwnICsgdF0pID8gW3RdIDogdDtcblxuICAgICAgICByZXR1cm4gdHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICA/IGRhdGFcbiAgICAgICAgICAgIDogZGF0YS5qb2luKCc7Jyk7XG4gICAgfTtcblxufVxuIl19
@@ -1,58 +0,0 @@
1
- import { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';
2
- import { Inject, Injectable, Optional } from '@angular/core';
3
- import { fromEvent, merge, Observable, of } from 'rxjs';
4
- import { NAVIGATOR } from '../tokens/navigator.token';
5
- import { WINDOW } from '../tokens/window.token';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/cdk/platform";
8
- export class Network {
9
- _platform;
10
- _window;
11
- _navigator;
12
- // Data.
13
- _online$ = of(true);
14
- constructor(_platform, _window, _navigator) {
15
- this._platform = _platform;
16
- this._window = _window;
17
- this._navigator = _navigator;
18
- this.getOnlineObservable();
19
- }
20
- online() {
21
- return this._online$;
22
- }
23
- getOnlineObservable() {
24
- // Validate we are on a browser.
25
- if (!this._platform.isBrowser) {
26
- return;
27
- }
28
- // Get all the events from the window.
29
- const online$ = fromEvent(this._window, 'online').pipe(map(() => true));
30
- const offline$ = fromEvent(this._window, 'offline').pipe(map(() => false));
31
- const now$ = new Observable(subscriber => {
32
- subscriber.next(this._navigator?.onLine);
33
- subscriber.complete();
34
- });
35
- // Merge all event so we get notified when
36
- // a user is online/offline.
37
- this._online$ = merge(now$, online$, offline$).pipe(distinctUntilChanged(), shareReplay({ refCount: true, bufferSize: 1 }));
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
40
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Network, providedIn: 'root' });
41
- }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Network, decorators: [{
43
- type: Injectable,
44
- args: [{
45
- providedIn: 'root'
46
- }]
47
- }], ctorParameters: () => [{ type: i1.Platform }, { type: Window, decorators: [{
48
- type: Optional
49
- }, {
50
- type: Inject,
51
- args: [WINDOW]
52
- }] }, { type: Navigator, decorators: [{
53
- type: Optional
54
- }, {
55
- type: Inject,
56
- args: [NAVIGATOR]
57
- }] }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxPQUFPO0lBS0k7SUFDNEI7SUFDRztJQUxuRCxRQUFRO0lBQ0EsUUFBUSxHQUF3QixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakQsWUFBb0IsU0FBbUIsRUFDUyxPQUFnQixFQUNiLFVBQXNCO1FBRnJELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1gsQ0FBQztRQUVELHNDQUFzQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLE1BQU0sSUFBSSxHQUFHLElBQUksVUFBVSxDQUFVLFVBQVUsQ0FBQyxFQUFFO1lBQzlDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6QyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCwwQ0FBMEM7UUFDMUMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMvQyxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUMvQyxDQUFDO0lBQ04sQ0FBQzt3R0FuQ1EsT0FBTywwQ0FNZ0IsTUFBTSw2QkFDTixTQUFTOzRHQVBoQyxPQUFPLGNBRkosTUFBTTs7NEZBRVQsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9nQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBPYnNlcnZhYmxlLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05BVklHQVRPUn0gZnJvbSAnLi4vdG9rZW5zL25hdmlnYXRvci50b2tlbic7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHtXSU5ET1d9IGZyb20gJy4uL3Rva2Vucy93aW5kb3cudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5ldHdvcmsge1xuXG4gICAgLy8gRGF0YS5cbiAgICBwcml2YXRlIF9vbmxpbmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YodHJ1ZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChXSU5ET1cpIHByaXZhdGUgX3dpbmRvdz86IFdpbmRvdyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BVklHQVRPUikgcHJpdmF0ZSBfbmF2aWdhdG9yPzogTmF2aWdhdG9yKSB7XG4gICAgICAgIHRoaXMuZ2V0T25saW5lT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIG9ubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29ubGluZSQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPbmxpbmVPYnNlcnZhYmxlKCkge1xuICAgICAgICAvLyBWYWxpZGF0ZSB3ZSBhcmUgb24gYSBicm93c2VyLlxuICAgICAgICBpZiAoIXRoaXMuX3BsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgZXZlbnRzIGZyb20gdGhlIHdpbmRvdy5cbiAgICAgICAgY29uc3Qgb25saW5lJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdvbmxpbmUnKS5waXBlKG1hcCgoKSA9PiB0cnVlKSk7XG4gICAgICAgIGNvbnN0IG9mZmxpbmUkID0gZnJvbUV2ZW50KHRoaXMuX3dpbmRvdywgJ29mZmxpbmUnKS5waXBlKG1hcCgoKSA9PiBmYWxzZSkpO1xuICAgICAgICBjb25zdCBub3ckID0gbmV3IE9ic2VydmFibGU8Ym9vbGVhbj4oc3Vic2NyaWJlciA9PiB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodGhpcy5fbmF2aWdhdG9yPy5vbkxpbmUpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBNZXJnZSBhbGwgZXZlbnQgc28gd2UgZ2V0IG5vdGlmaWVkIHdoZW5cbiAgICAgICAgLy8gYSB1c2VyIGlzIG9ubGluZS9vZmZsaW5lLlxuICAgICAgICB0aGlzLl9vbmxpbmUkID0gbWVyZ2Uobm93JCwgb25saW5lJCwgb2ZmbGluZSQpLnBpcGUoXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoe3JlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,66 +0,0 @@
1
- import { Inject, Injectable, Optional } from '@angular/core';
2
- import { debounceTime, startWith } from 'rxjs/operators';
3
- import { WINDOW } from '../tokens/window.token';
4
- import { fromEvent, Subscription } from 'rxjs';
5
- import { DOCUMENT } from '@angular/common';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/cdk/platform";
8
- export class Patch {
9
- _platform;
10
- _window;
11
- _document;
12
- _hasPatchedMobileVerticalHeight = false;
13
- // Subscriptions.
14
- _subscription = new Subscription();
15
- constructor(_platform, _window, _document) {
16
- this._platform = _platform;
17
- this._window = _window;
18
- this._document = _document;
19
- }
20
- mobileVerticalHeight() {
21
- // Check if the user has already patched
22
- // the mobile vertical height.
23
- if (this._hasPatchedMobileVerticalHeight) {
24
- return;
25
- }
26
- this.periodicallySetDocumentVerticalProperty();
27
- this._hasPatchedMobileVerticalHeight = true;
28
- }
29
- ngOnDestroy() {
30
- this._subscription?.unsubscribe();
31
- }
32
- periodicallySetDocumentVerticalProperty() {
33
- // Validate we are using a browser.
34
- if (!this._platform.isBrowser) {
35
- return;
36
- }
37
- // Listen to a debounced window resize event.
38
- const resize$ = fromEvent(this._window, 'resize').pipe(debounceTime(25), startWith(0));
39
- // Subscribe to the resize observable.
40
- const subscription = resize$.subscribe(() => {
41
- const verticalHeight = this._window?.innerHeight * 0.01;
42
- this._document?.documentElement?.style?.setProperty('--vh', `${verticalHeight}px`);
43
- });
44
- // Save the subscription so we can destroy it later.
45
- this._subscription.add(subscription);
46
- }
47
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
48
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Patch, providedIn: 'root' });
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: Patch, decorators: [{
51
- type: Injectable,
52
- args: [{
53
- providedIn: 'root'
54
- }]
55
- }], ctorParameters: () => [{ type: i1.Platform }, { type: Window, decorators: [{
56
- type: Optional
57
- }, {
58
- type: Inject,
59
- args: [WINDOW]
60
- }] }, { type: Document, decorators: [{
61
- type: Optional
62
- }, {
63
- type: Inject,
64
- args: [DOCUMENT]
65
- }] }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3BhdGNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBT007SUFDNEI7SUFDRTtJQVAxQywrQkFBK0IsR0FBWSxLQUFLLENBQUM7SUFFekQsaUJBQWlCO0lBQ1QsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFM0MsWUFBb0IsU0FBbUIsRUFDUyxPQUFnQixFQUNkLFNBQW9CO1FBRmxELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDUyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBVztJQUN0RSxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztZQUN2QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQywrQkFBK0IsR0FBRyxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyx1Q0FBdUM7UUFDM0MsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU87UUFDWCxDQUFDO1FBRUQsNkNBQTZDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbEQsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUNoQixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVGLHNDQUFzQztRQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEQsSUFBSSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDO1FBRUgsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7d0dBL0NRLEtBQUssMENBUWtCLE1BQU0sNkJBQ04sUUFBUTs0R0FUL0IsS0FBSyxjQUZGLE1BQU07OzRGQUVULEtBQUs7a0JBSGpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFTZ0IsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxNQUFNOzswQkFDekIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuLi90b2tlbnMvd2luZG93LnRva2VuJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQYXRjaCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIF9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoV0lORE9XKSBwcml2YXRlIF93aW5kb3c/OiBXaW5kb3csXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ/OiBEb2N1bWVudCkge1xuICAgIH1cblxuICAgIG1vYmlsZVZlcnRpY2FsSGVpZ2h0KCkge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgdXNlciBoYXMgYWxyZWFkeSBwYXRjaGVkXG4gICAgICAgIC8vIHRoZSBtb2JpbGUgdmVydGljYWwgaGVpZ2h0LlxuICAgICAgICBpZiAodGhpcy5faGFzUGF0Y2hlZE1vYmlsZVZlcnRpY2FsSGVpZ2h0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnBlcmlvZGljYWxseVNldERvY3VtZW50VmVydGljYWxQcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwZXJpb2RpY2FsbHlTZXREb2N1bWVudFZlcnRpY2FsUHJvcGVydHkoKSB7XG4gICAgICAgIC8vIFZhbGlkYXRlIHdlIGFyZSB1c2luZyBhIGJyb3dzZXIuXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMaXN0ZW4gdG8gYSBkZWJvdW5jZWQgd2luZG93IHJlc2l6ZSBldmVudC5cbiAgICAgICAgY29uc3QgcmVzaXplJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdyZXNpemUnKS5waXBlKFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1KSxcbiAgICAgICAgICAgIHN0YXJ0V2l0aCgwKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byB0aGUgcmVzaXplIG9ic2VydmFibGUuXG4gICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJlc2l6ZSQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsSGVpZ2h0ID0gdGhpcy5fd2luZG93Py5pbm5lckhlaWdodCAqIDAuMDE7XG4gICAgICAgICAgICB0aGlzLl9kb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50Py5zdHlsZT8uc2V0UHJvcGVydHkoJy0tdmgnLCBgJHt2ZXJ0aWNhbEhlaWdodH1weGApO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTYXZlIHRoZSBzdWJzY3JpcHRpb24gc28gd2UgY2FuIGRlc3Ryb3kgaXQgbGF0ZXIuXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5hZGQoc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const ACCEPT_LANGUAGE = new InjectionToken('AcceptLanguage');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0LWxhbmd1YWdlLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL2FjY2VwdC1sYW5ndWFnZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBQ0NFUFRfTEFOR1VBR0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQWNjZXB0TGFuZ3VhZ2UnKTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const BASE_URL = new InjectionToken('BaseUrl');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS11cmwudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS90b2tlbnMvYmFzZS11cmwudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQVMsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0Jhc2VVcmwnKTtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const COOKIE = new InjectionToken('Cookie');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL2Nvb2tpZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQ09PS0lFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0Nvb2tpZScpO1xuIl19
@@ -1,10 +0,0 @@
1
- import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
2
- export const GLOBAL_FOCUS_MODE = new InjectionToken('The focus mode', {
3
- factory: () => 'only-desktop'
4
- });
5
- export function provideGlobalFocusMode(mode) {
6
- return makeEnvironmentProviders([
7
- { provide: GLOBAL_FOCUS_MODE, useValue: mode }
8
- ]);
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWZvY3VzLW1vZGUudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS90b2tlbnMvZ2xvYmFsLWZvY3VzLW1vZGUudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixjQUFjLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLGdCQUFnQixFQUNoQjtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjO0NBQ2hDLENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUFlO0lBQ2xELE9BQU8sd0JBQXdCLENBQUM7UUFDNUIsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQztLQUMvQyxDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEZvY3VzTW9kZSA9ICdvbmx5LWRlc2t0b3AnIHwgJ2FsbCc7XG5cbmV4cG9ydCBjb25zdCBHTE9CQUxfRk9DVVNfTU9ERSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGb2N1c01vZGU+KFxuICAgICdUaGUgZm9jdXMgbW9kZScsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiAnb25seS1kZXNrdG9wJ1xuICAgIH1cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlR2xvYmFsRm9jdXNNb2RlKG1vZGU6IEZvY3VzTW9kZSk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICAgICAge3Byb3ZpZGU6IEdMT0JBTF9GT0NVU19NT0RFLCB1c2VWYWx1ZTogbW9kZX1cbiAgICBdKTtcbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { WINDOW } from './window.token';
3
- export const LOCATION = new InjectionToken('An abstraction over window.location object', {
4
- factory: () => inject(WINDOW).location
5
- });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS90b2tlbnMvbG9jYXRpb24udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FDdEMsNENBQTRDLEVBQzVDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRO0NBQ3pDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi93aW5kb3cudG9rZW4nO1xuXG5leHBvcnQgY29uc3QgTE9DQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYXRpb24+KFxuICAgICdBbiBhYnN0cmFjdGlvbiBvdmVyIHdpbmRvdy5sb2NhdGlvbiBvYmplY3QnLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gaW5qZWN0KFdJTkRPVykubG9jYXRpb25cbiAgICB9XG4pOyJdfQ==
@@ -1,6 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { WINDOW } from './window.token';
3
- export const NAVIGATOR = new InjectionToken('An abstraction over window.navigator object', {
4
- factory: () => inject(WINDOW).navigator
5
- });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL25hdmlnYXRvci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLElBQUksY0FBYyxDQUN2Qyw2Q0FBNkMsRUFDN0M7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVM7Q0FDMUMsQ0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuL3dpbmRvdy50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBOQVZJR0FUT1IgPSBuZXcgSW5qZWN0aW9uVG9rZW48TmF2aWdhdG9yPihcbiAgICAnQW4gYWJzdHJhY3Rpb24gb3ZlciB3aW5kb3cubmF2aWdhdG9yIG9iamVjdCcsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBpbmplY3QoV0lORE9XKS5uYXZpZ2F0b3JcbiAgICB9XG4pOyJdfQ==
@@ -1,12 +0,0 @@
1
- import { inject, InjectionToken } from '@angular/core';
2
- import { DOCUMENT } from '@angular/common';
3
- export const WINDOW = new InjectionToken('An abstraction over global window object', {
4
- factory: () => {
5
- const { defaultView } = inject(DOCUMENT);
6
- if (!defaultView) {
7
- throw new Error('Window is not available');
8
- }
9
- return defaultView;
10
- }
11
- });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL3dpbmRvdy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUNwQywwQ0FBMEMsRUFDMUM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSixDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFdJTkRPVyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxXaW5kb3c+KFxuICAgICdBbiBhYnN0cmFjdGlvbiBvdmVyIGdsb2JhbCB3aW5kb3cgb2JqZWN0JyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHtkZWZhdWx0Vmlld30gPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgICAgICAgICBpZiAoIWRlZmF1bHRWaWV3KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaW5kb3cgaXMgbm90IGF2YWlsYWJsZScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZpZXc7XG4gICAgICAgIH1cbiAgICB9XG4pOyJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1sb2NhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2JyYXZvYml0LWJiLWZvdW5kYXRpb24tbG9jYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { LocalizeDictionaryContext } from './dictionary.context';
2
- export class LocalizeDictionary {
3
- _id;
4
- _locale;
5
- _supported;
6
- _dataValues;
7
- _localize;
8
- _data;
9
- constructor(_id, _locale, _supported, _dataValues, _localize) {
10
- this._id = _id;
11
- this._locale = _locale;
12
- this._supported = _supported;
13
- this._dataValues = _dataValues;
14
- this._localize = _localize;
15
- this._data = this.formatData(this._dataValues);
16
- }
17
- get id() {
18
- return this._id ?? null;
19
- }
20
- get locale() {
21
- return this._locale ?? null;
22
- }
23
- get supported() {
24
- return this._supported ?? [];
25
- }
26
- get(token) {
27
- const key = Array.isArray(token) ? token.join('.') : token;
28
- return this._data?.[key] ?? null;
29
- }
30
- has(token) {
31
- return !!this.get(token);
32
- }
33
- all() {
34
- return this.some(context => context);
35
- }
36
- some(callback) {
37
- const defaultContext = new LocalizeDictionaryContext();
38
- const context = !!callback ? callback(defaultContext) : defaultContext;
39
- return Object.keys(this._data ?? {})
40
- .filter(key => context.regexp.test(key))
41
- .reduce((previous, current) => ([
42
- ...previous,
43
- { token: current, value: this.get(current) }
44
- ]), []);
45
- }
46
- async compare(to) {
47
- if ((typeof ngDevMode === 'undefined' || ngDevMode)) {
48
- const dictionaryIds = (Array.isArray(to) ? to : [to]);
49
- const dictionaries = [];
50
- for (const dictionaryId of dictionaryIds) {
51
- const dictionary = await this._localize.load(dictionaryId);
52
- dictionaries.push(dictionary);
53
- }
54
- const warnings = [];
55
- const items = this.all();
56
- for (const item of items) {
57
- for (const dictionary of dictionaries) {
58
- if (!dictionary.has(item?.token)) {
59
- warnings.push({ dictionary: dictionary?.id, value: item?.token });
60
- }
61
- }
62
- }
63
- for (const dictionary of dictionaries) {
64
- const items = dictionary.all();
65
- for (const item of items) {
66
- if (!this.has(item?.token)) {
67
- warnings.push({ dictionary: this.id, value: item?.token });
68
- }
69
- }
70
- }
71
- const compareDictionaryIds = dictionaries.map(dictionary => dictionary?.id).join(', ');
72
- for (const warning of warnings) {
73
- console?.warn?.(`Dictionary "${warning.dictionary}" is missing token "${warning.value}"`);
74
- }
75
- console?.warn?.(`Total of ${warnings.length} warning(s) found while comparing "${this.id}" -> [${compareDictionaryIds}].`);
76
- }
77
- }
78
- count() {
79
- return Object.keys(this._data ?? {}).length;
80
- }
81
- formatData(data, scope = null) {
82
- return Object.keys(data ?? {}).reduce((previous, current) => {
83
- const value = data?.[current];
84
- if (typeof value === 'object' && value !== null) {
85
- const reformatted = this.formatData(value, current);
86
- return { ...previous, ...reformatted };
87
- }
88
- const token = [scope, current].filter(item => !!item).join('.');
89
- if (previous[token] && (typeof ngDevMode === 'undefined' || ngDevMode)) {
90
- console?.warn?.(`Duplicate key "${token}" was found, please verify your translation files.`);
91
- }
92
- return { ...previous, [token]: value };
93
- }, {});
94
- }
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9kaWN0aW9uYXJ5L2RpY3Rpb25hcnkuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFLL0QsTUFBTSxPQUFPLGtCQUFrQjtJQUlQO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFOSCxLQUFLLENBQXlCO0lBRS9DLFlBQW9CLEdBQVcsRUFDWCxPQUFlLEVBQ2YsVUFBb0IsRUFDcEIsV0FBeUMsRUFDekMsU0FBbUI7UUFKbkIsUUFBRyxHQUFILEdBQUcsQ0FBUTtRQUNYLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixlQUFVLEdBQVYsVUFBVSxDQUFVO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUN6QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUF3QjtRQUN4QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFL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LEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEtBQUssb0RBQW9ELENBQUMsQ0FBQztZQUNqRyxDQUFDO1lBRUQsT0FBTyxFQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFDLENBQUM7UUFDekMsQ0FBQyxFQUEwQixFQUFFLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsaXplRGljdGlvbmFyeURhdGFWYWx1ZXN9IGZyb20gJy4vZGljdGlvbmFyeS5kYXRhJztcbmltcG9ydCB7TG9jYWxpemVEaWN0aW9uYXJ5Q29udGV4dH0gZnJvbSAnLi9kaWN0aW9uYXJ5LmNvbnRleHQnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnLi4vbG9jYWxpemUuc2VydmljZSc7XG5cbmRlY2xhcmUgbGV0IG5nRGV2TW9kZTtcblxuZXhwb3J0IGNsYXNzIExvY2FsaXplRGljdGlvbmFyeSB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9zdXBwb3J0ZWQ6IHN0cmluZ1tdLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX2RhdGFWYWx1ZXM6IExvY2FsaXplRGljdGlvbmFyeURhdGFWYWx1ZXMsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9jYWxpemU6IExvY2FsaXplKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSB0aGlzLmZvcm1hdERhdGEodGhpcy5fZGF0YVZhbHVlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWQgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlID8/IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IHN1cHBvcnRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N1cHBvcnRlZCA/PyBbXTtcbiAgICB9XG5cbiAgICBnZXQodG9rZW46IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IEFycmF5LmlzQXJyYXkodG9rZW4pID8gdG9rZW4uam9pbignLicpIDogdG9rZW47XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhPy5ba2V5XSA/PyBudWxsO1xuICAgIH1cblxuICAgIGhhcyh0b2tlbjogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5nZXQodG9rZW4pO1xuICAgIH1cblxuICAgIGFsbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc29tZShjb250ZXh0ID0+IGNvbnRleHQpO1xuICAgIH1cblxuICAgIHNvbWUoY2FsbGJhY2s6IChjb250ZXh0OiBMb2NhbGl6ZURpY3Rpb25hcnlDb250ZXh0KSA9PiBMb2NhbGl6ZURpY3Rpb25hcnlDb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRDb250ZXh0ID0gbmV3IExvY2FsaXplRGljdGlvbmFyeUNvbnRleHQoKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9ICEhY2FsbGJhY2sgPyBjYWxsYmFjayhkZWZhdWx0Q29udGV4dCkgOiBkZWZhdWx0Q29udGV4dDtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fZGF0YSA/PyB7fSlcbiAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IGNvbnRleHQucmVnZXhwLnRlc3Qoa2V5KSlcbiAgICAgICAgICAgIC5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiAoW1xuICAgICAgICAgICAgICAgIC4uLnByZXZpb3VzLFxuICAgICAgICAgICAgICAgIHt0b2tlbjogY3VycmVudCwgdmFsdWU6IHRoaXMuZ2V0KGN1cnJlbnQpfVxuICAgICAgICAgICAgXSksIDx7IHRva2VuOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfVtdPltdKTtcbiAgICB9XG5cbiAgICBhc3luYyBjb21wYXJlKHRvOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpY3Rpb25hcnlJZHMgPSAoQXJyYXkuaXNBcnJheSh0bykgPyB0byA6IFt0b10pO1xuICAgICAgICAgICAgY29uc3QgZGljdGlvbmFyaWVzOiBMb2NhbGl6ZURpY3Rpb25hcnlbXSA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBkaWN0aW9uYXJ5SWQgb2YgZGljdGlvbmFyeUlkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpY3Rpb25hcnkgPSBhd2FpdCB0aGlzLl9sb2NhbGl6ZS5sb2FkKGRpY3Rpb25hcnlJZCk7XG4gICAgICAgICAgICAgICAgZGljdGlvbmFyaWVzLnB1c2goZGljdGlvbmFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHdhcm5pbmdzID0gW107XG5cbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5hbGwoKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGljdGlvbmFyeSBvZiBkaWN0aW9uYXJpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFkaWN0aW9uYXJ5LmhhcyhpdGVtPy50b2tlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnB1c2goe2RpY3Rpb25hcnk6IGRpY3Rpb25hcnk/LmlkLCB2YWx1ZTogaXRlbT8udG9rZW59KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChjb25zdCBkaWN0aW9uYXJ5IG9mIGRpY3Rpb25hcmllcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZGljdGlvbmFyeS5hbGwoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhhcyhpdGVtPy50b2tlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnB1c2goe2RpY3Rpb25hcnk6IHRoaXMuaWQsIHZhbHVlOiBpdGVtPy50b2tlbn0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb21wYXJlRGljdGlvbmFyeUlkcyA9IGRpY3Rpb25hcmllcy5tYXAoZGljdGlvbmFyeSA9PiBkaWN0aW9uYXJ5Py5pZCkuam9pbignLCAnKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgd2FybmluZyBvZiB3YXJuaW5ncykge1xuICAgICAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgRGljdGlvbmFyeSBcIiR7d2FybmluZy5kaWN0aW9uYXJ5fVwiIGlzIG1pc3NpbmcgdG9rZW4gXCIke3dhcm5pbmcudmFsdWV9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgVG90YWwgb2YgJHt3YXJuaW5ncy5sZW5ndGh9IHdhcm5pbmcocykgZm91bmQgd2hpbGUgY29tcGFyaW5nIFwiJHt0aGlzLmlkfVwiIC0+IFske2NvbXBhcmVEaWN0aW9uYXJ5SWRzfV0uYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb3VudCgpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuX2RhdGEgPz8ge30pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGEoZGF0YTogTG9jYWxpemVEaWN0aW9uYXJ5RGF0YVZhbHVlcywgc2NvcGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhkYXRhID8/IHt9KS5yZWR1Y2UoKHByZXZpb3VzLCBjdXJyZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGE/LltjdXJyZW50XTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdERhdGEodmFsdWUsIGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIC4uLnJlZm9ybWF0dGVkfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBbc2NvcGUsIGN1cnJlbnRdLmZpbHRlcihpdGVtID0+ICEhaXRlbSkuam9pbignLicpO1xuICAgICAgICAgICAgaWYgKHByZXZpb3VzW3Rva2VuXSAmJiAodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGU/Lndhcm4/LihgRHVwbGljYXRlIGtleSBcIiR7dG9rZW59XCIgd2FzIGZvdW5kLCBwbGVhc2UgdmVyaWZ5IHlvdXIgdHJhbnNsYXRpb24gZmlsZXMuYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7Li4ucHJldmlvdXMsIFt0b2tlbl06IHZhbHVlfTtcbiAgICAgICAgfSwgPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+e30pO1xuICAgIH1cblxufVxuIl19
@@ -1,24 +0,0 @@
1
- export class LocalizeDictionaryContext {
2
- regexp = /^.*$/;
3
- pattern(regexp) {
4
- this.regexp = regexp;
5
- return this;
6
- }
7
- matches(value) {
8
- const formatted = this.formatValue(value);
9
- const regex = (formatted ?? '')
10
- .replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
11
- .replace(/\\\*/g, '.*');
12
- return this.pattern(new RegExp(`^${regex}$`));
13
- }
14
- group(value) {
15
- const formatted = this.formatValue(value);
16
- return this.matches([formatted, '*']);
17
- }
18
- formatValue(value) {
19
- return Array.isArray(value)
20
- ? value.filter(item => !!item).join('.')
21
- : value;
22
- }
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx5QkFBeUI7SUFFbEMsTUFBTSxHQUFXLE1BQU0sQ0FBQztJQUV4QixPQUFPLENBQUMsTUFBYztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQXdCO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO2FBQzFCLE9BQU8sQ0FBQywwQkFBMEIsRUFBRSxNQUFNLENBQUM7YUFDM0MsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUF3QjtRQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBd0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEIsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvY2FsaXplRGljdGlvbmFyeUNvbnRleHQge1xuXG4gICAgcmVnZXhwOiBSZWdFeHAgPSAvXi4qJC87XG5cbiAgICBwYXR0ZXJuKHJlZ2V4cDogUmVnRXhwKSB7XG4gICAgICAgIHRoaXMucmVnZXhwID0gcmVnZXhwO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBtYXRjaGVzKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgY29uc3QgcmVnZXggPSAoZm9ybWF0dGVkID8/ICcnKVxuICAgICAgICAgICAgLnJlcGxhY2UoL1stW1xcXXt9KCkqKz8uLFxcXFxeJHwjXFxzXS9nLCAnXFxcXCQmJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXFxcXFwqL2csICcuKicpO1xuICAgICAgICByZXR1cm4gdGhpcy5wYXR0ZXJuKG5ldyBSZWdFeHAoYF4ke3JlZ2V4fSRgKSk7XG4gICAgfVxuXG4gICAgZ3JvdXAodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IHRoaXMuZm9ybWF0VmFsdWUodmFsdWUpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaGVzKFtmb3JtYXR0ZWQsICcqJ10pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgICAgICAgPyB2YWx1ZS5maWx0ZXIoaXRlbSA9PiAhIWl0ZW0pLmpvaW4oJy4nKVxuICAgICAgICAgICAgOiB2YWx1ZTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class LocalizeDictionaryData {
2
- data;
3
- constructor(data) {
4
- this.data = data;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9sb2NhbGl6ZS9zcmMvbGliL2RpY3Rpb25hcnkvZGljdGlvbmFyeS5kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxzQkFBc0I7SUFFWjtJQUFuQixZQUFtQixJQUFrQztRQUFsQyxTQUFJLEdBQUosSUFBSSxDQUE4QjtJQUNyRCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzID0geyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzIH07XG5cbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhIHtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkYXRhOiBMb2NhbGl6ZURpY3Rpb25hcnlEYXRhVmFsdWVzKSB7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,18 +0,0 @@
1
- import { formatDate } from '@angular/common';
2
- //
3
- // This function transform the value
4
- // to a localized date.
5
- //
6
- export class LocalizeDateFunction {
7
- keyword() {
8
- return 'date';
9
- }
10
- transform(value, locale) {
11
- const date = new Date(value);
12
- if (date.toString() === 'Invalid Date') {
13
- return '?';
14
- }
15
- return formatDate(date, 'longDate', locale);
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vbG9jYWxpemUvc3JjL2xpYi9mdW5jdGlvbnMvZGF0ZS5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsRUFBRTtBQUNGLG9DQUFvQztBQUNwQyx1QkFBdUI7QUFDdkIsRUFBRTtBQUVGLE1BQU0sT0FBTyxvQkFBb0I7SUFFN0IsT0FBTztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWU7UUFDcEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDckMsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2FsaXplRnVuY3Rpb259IGZyb20gJy4uL2ludGVyZmFjZXMvZnVuY3Rpb25zLmludGVyZmFjZXMnO1xuaW1wb3J0IHtmb3JtYXREYXRlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vL1xuLy8gVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm0gdGhlIHZhbHVlXG4vLyB0byBhIGxvY2FsaXplZCBkYXRlLlxuLy9cblxuZXhwb3J0IGNsYXNzIExvY2FsaXplRGF0ZUZ1bmN0aW9uIGltcGxlbWVudHMgTG9jYWxpemVGdW5jdGlvbiB7XG5cbiAgICBrZXl3b3JkKCkge1xuICAgICAgICByZXR1cm4gJ2RhdGUnO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcblxuICAgICAgICBpZiAoZGF0ZS50b1N0cmluZygpID09PSAnSW52YWxpZCBEYXRlJykge1xuICAgICAgICAgICAgcmV0dXJuICc/JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JtYXREYXRlKGRhdGUsICdsb25nRGF0ZScsIGxvY2FsZSk7XG4gICAgfVxuXG59XG4iXX0=