@bravobit/bb-foundation 0.16.4 → 0.20.1
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.
- package/README.md +47 -47
- package/auth/bravobit-bb-foundation-auth.d.ts +5 -5
- package/auth/lib/auth.interceptor.d.ts +21 -21
- package/auth/lib/auth.module.d.ts +15 -15
- package/auth/lib/auth.service.d.ts +59 -59
- package/auth/lib/auth.session.d.ts +34 -34
- package/auth/lib/directives/authenticated.directive.d.ts +14 -14
- package/auth/lib/directives/permission.directive.d.ts +24 -24
- package/auth/lib/directives/role.directive.d.ts +16 -16
- package/auth/lib/guards/anonymous.guard.d.ts +11 -11
- package/auth/lib/guards/authenticated.guard.d.ts +11 -11
- package/auth/lib/helpers/jwt.helper.d.ts +8 -8
- package/auth/lib/helpers/mapper.helper.d.ts +23 -23
- package/auth/lib/interfaces/config.interface.d.ts +12 -12
- package/auth/lib/interfaces/mapper.interface.d.ts +19 -19
- package/auth/lib/interfaces/provider.interface.d.ts +16 -16
- package/auth/lib/interfaces/token.interface.d.ts +11 -11
- package/auth/lib/permissions.service.d.ts +14 -14
- package/auth/lib/providers/email.provider.d.ts +15 -15
- package/auth/lib/providers/verify.provider.d.ts +13 -13
- package/auth/lib/tokens/use-authorization.token.d.ts +2 -2
- package/auth/public_api.d.ts +18 -18
- package/bravobit-bb-foundation.d.ts +5 -5
- package/collections/bravobit-bb-foundation-collections.d.ts +5 -5
- package/collections/lib/collection.d.ts +43 -43
- package/collections/lib/collections.module.d.ts +10 -10
- package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -34
- package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -12
- package/collections/lib/components/collections.directive.d.ts +17 -17
- package/collections/lib/interfaces/collection.interface.d.ts +26 -26
- package/collections/lib/providers/api-collection.provider.d.ts +19 -15
- package/collections/lib/providers/collection.provider.d.ts +6 -6
- package/collections/lib/providers/local-collection.provider.d.ts +8 -8
- package/collections/public_api.d.ts +9 -9
- package/controls/bravobit-bb-foundation-controls.d.ts +5 -5
- package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +47 -47
- package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +18 -18
- package/controls/lib/checkbox/checkbox.module.d.ts +9 -9
- package/controls/lib/controls.module.d.ts +7 -7
- package/controls/public_api.d.ts +4 -4
- package/dashboard/bravobit-bb-foundation-dashboard.d.ts +5 -5
- package/dashboard/lib/dashboard/dashboard.component.d.ts +19 -19
- package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +11 -11
- package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +9 -9
- package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +11 -11
- package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +21 -21
- package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +27 -27
- package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +16 -16
- package/dashboard/lib/dashboard.module.d.ts +16 -16
- package/dashboard/public_api.d.ts +8 -8
- package/dialog/bravobit-bb-foundation-dialog.d.ts +5 -5
- package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +5 -5
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +16 -16
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +24 -24
- package/dialog/lib/dialog-header/dialog-header.component.d.ts +9 -9
- package/dialog/lib/dialog-link/dialog-link.component.d.ts +5 -5
- package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +12 -12
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +22 -22
- package/dialog/lib/dialog.injector.d.ts +8 -8
- package/dialog/lib/dialog.insertion.d.ts +8 -8
- package/dialog/lib/dialog.interfaces.d.ts +3 -3
- package/dialog/lib/dialog.module.d.ts +19 -19
- package/dialog/lib/dialog.ref.d.ts +8 -8
- package/dialog/lib/dialog.service.d.ts +19 -19
- package/dialog/public_api.d.ts +9 -9
- package/elements/bravobit-bb-foundation-elements.d.ts +5 -5
- package/elements/lib/avatar/avatar.component.d.ts +25 -25
- package/elements/lib/button/button.component.d.ts +23 -23
- package/elements/lib/checkbox/checkbox.component.d.ts +27 -27
- package/elements/lib/date-picker/date-picker.component.d.ts +69 -69
- package/elements/lib/directives/addon.directive.d.ts +9 -9
- package/elements/lib/directives/autosize.directive.d.ts +18 -18
- package/elements/lib/directives/focus-trap.directive.d.ts +17 -17
- package/elements/lib/directives/focus.directive.d.ts +14 -14
- package/elements/lib/directives/form-submit.directive.d.ts +17 -17
- package/elements/lib/directives/input.directive.d.ts +38 -38
- package/elements/lib/directives/template.directive.d.ts +10 -10
- package/elements/lib/dropdown/dropdown.component.d.ts +21 -21
- package/elements/lib/elements.interfaces.d.ts +25 -25
- package/elements/lib/elements.module.d.ts +116 -116
- package/elements/lib/file-picker/file-picker.component.d.ts +49 -49
- package/elements/lib/form-control/form-control.component.d.ts +21 -21
- package/elements/lib/form-error/form-error.component.d.ts +29 -29
- package/elements/lib/form-group/form-group.component.d.ts +10 -10
- package/elements/lib/icon/icon.component.d.ts +22 -22
- package/elements/lib/image-picker/image-picker.component.d.ts +38 -38
- package/elements/lib/pipes/file-image.pipe.d.ts +13 -13
- package/elements/lib/pipes/file-size.pipe.d.ts +8 -8
- package/elements/lib/pipes/relative-time.pipe.d.ts +19 -19
- package/elements/lib/spinner/spinner.component.d.ts +12 -12
- package/elements/lib/tag/tag.component.d.ts +7 -7
- package/elements/public_api.d.ts +25 -25
- package/esm2020/auth/bravobit-bb-foundation-auth.mjs +4 -4
- package/esm2020/auth/lib/auth.interceptor.mjs +93 -94
- package/esm2020/auth/lib/auth.module.mjs +54 -54
- package/esm2020/auth/lib/auth.service.mjs +281 -276
- package/esm2020/auth/lib/auth.session.mjs +131 -131
- package/esm2020/auth/lib/directives/authenticated.directive.mjs +31 -31
- package/esm2020/auth/lib/directives/permission.directive.mjs +80 -80
- package/esm2020/auth/lib/directives/role.directive.mjs +37 -37
- package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -34
- package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -35
- package/esm2020/auth/lib/helpers/jwt.helper.mjs +69 -69
- package/esm2020/auth/lib/helpers/mapper.helper.mjs +35 -35
- package/esm2020/auth/lib/interfaces/config.interface.mjs +3 -3
- package/esm2020/auth/lib/interfaces/mapper.interface.mjs +2 -2
- package/esm2020/auth/lib/interfaces/provider.interface.mjs +2 -2
- package/esm2020/auth/lib/interfaces/token.interface.mjs +2 -2
- package/esm2020/auth/lib/permissions.service.mjs +56 -56
- package/esm2020/auth/lib/providers/email.provider.mjs +25 -25
- package/esm2020/auth/lib/providers/verify.provider.mjs +19 -19
- package/esm2020/auth/lib/tokens/use-authorization.token.mjs +3 -3
- package/esm2020/auth/public_api.mjs +19 -19
- package/esm2020/bravobit-bb-foundation.mjs +4 -4
- package/esm2020/collections/bravobit-bb-foundation-collections.mjs +4 -4
- package/esm2020/collections/lib/collection.mjs +102 -102
- package/esm2020/collections/lib/collections.module.mjs +54 -54
- package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -123
- package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -31
- package/esm2020/collections/lib/components/collections.directive.mjs +43 -43
- package/esm2020/collections/lib/interfaces/collection.interface.mjs +2 -2
- package/esm2020/collections/lib/providers/api-collection.provider.mjs +71 -71
- package/esm2020/collections/lib/providers/collection.provider.mjs +13 -13
- package/esm2020/collections/lib/providers/local-collection.provider.mjs +16 -16
- package/esm2020/collections/public_api.mjs +10 -10
- package/esm2020/controls/bravobit-bb-foundation-controls.mjs +4 -4
- package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +153 -153
- package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +48 -48
- package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -19
- package/esm2020/controls/lib/controls.module.mjs +16 -16
- package/esm2020/controls/public_api.mjs +5 -5
- package/esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs +4 -4
- package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -56
- package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -30
- package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -31
- package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -29
- package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -75
- package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -99
- package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -62
- package/esm2020/dashboard/lib/dashboard.module.mjs +47 -47
- package/esm2020/dashboard/public_api.mjs +9 -9
- package/esm2020/dialog/bravobit-bb-foundation-dialog.mjs +4 -4
- package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -12
- package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -37
- package/esm2020/dialog/lib/dialog-container/dialog-container.component.mjs +153 -153
- package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -25
- package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -11
- package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -46
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -134
- package/esm2020/dialog/lib/dialog.injector.mjs +18 -18
- package/esm2020/dialog/lib/dialog.insertion.mjs +16 -16
- package/esm2020/dialog/lib/dialog.interfaces.mjs +3 -3
- package/esm2020/dialog/lib/dialog.module.mjs +70 -70
- package/esm2020/dialog/lib/dialog.ref.mjs +22 -22
- package/esm2020/dialog/lib/dialog.service.mjs +77 -77
- package/esm2020/dialog/public_api.mjs +10 -10
- package/esm2020/elements/bravobit-bb-foundation-elements.mjs +4 -4
- package/esm2020/elements/lib/avatar/avatar.component.mjs +145 -142
- package/esm2020/elements/lib/button/button.component.mjs +61 -61
- package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -73
- package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -304
- package/esm2020/elements/lib/directives/addon.directive.mjs +29 -29
- package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -72
- package/esm2020/elements/lib/directives/focus-trap.directive.mjs +77 -77
- package/esm2020/elements/lib/directives/focus.directive.mjs +39 -39
- package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -50
- package/esm2020/elements/lib/directives/input.directive.mjs +136 -136
- package/esm2020/elements/lib/directives/template.directive.mjs +28 -28
- package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -100
- package/esm2020/elements/lib/elements.interfaces.mjs +4 -4
- package/esm2020/elements/lib/elements.module.mjs +177 -177
- package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -236
- package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -49
- package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -108
- package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -18
- package/esm2020/elements/lib/icon/icon.component.mjs +102 -102
- package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -106
- package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -42
- package/esm2020/elements/lib/pipes/file-size.pipe.mjs +28 -28
- package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -94
- package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -25
- package/esm2020/elements/lib/tag/tag.component.mjs +18 -18
- package/esm2020/elements/public_api.mjs +26 -26
- package/esm2020/http/bravobit-bb-foundation-http.mjs +4 -4
- package/esm2020/http/lib/classes/http.config.mjs +29 -29
- package/esm2020/http/lib/classes/http.error.mjs +20 -20
- package/esm2020/http/lib/http.interfaces.mjs +2 -2
- package/esm2020/http/lib/http.module.mjs +43 -43
- package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -50
- package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -32
- package/esm2020/http/public_api.mjs +7 -7
- package/esm2020/lib/core/miscellaneous/regex.mjs +5 -5
- package/esm2020/lib/core/miscellaneous/validator.mjs +85 -85
- package/esm2020/lib/core/mixins/can-disable.mjs +16 -16
- package/esm2020/lib/core/mixins/can-hide-errors.mjs +16 -16
- package/esm2020/lib/core/mixins/can-load.mjs +16 -16
- package/esm2020/lib/core/mixins/constructor.mjs +2 -2
- package/esm2020/lib/core/mixins/has-error.mjs +16 -16
- package/esm2020/lib/core/mixins/is-focused.mjs +16 -16
- package/esm2020/lib/core/mixins/is-grouped.mjs +16 -16
- package/esm2020/lib/core/mixins/is-readonly.mjs +16 -16
- package/esm2020/lib/core/mixins/is-required.mjs +16 -16
- package/esm2020/lib/core/services/clipboard.service.mjs +70 -70
- package/esm2020/lib/core/services/exif.service.mjs +163 -163
- package/esm2020/lib/core/services/file-loader.service.mjs +87 -87
- package/esm2020/lib/core/services/image-converter.service.mjs +123 -123
- package/esm2020/lib/core/services/languages.service.mjs +74 -74
- package/esm2020/lib/core/services/network.service.mjs +55 -55
- package/esm2020/lib/core/services/patch.service.mjs +63 -63
- package/esm2020/lib/core/services/platform.service.mjs +42 -42
- package/esm2020/lib/core/tokens/accept-language.token.mjs +3 -3
- package/esm2020/lib/core/tokens/base-url.token.mjs +3 -3
- package/esm2020/lib/core/tokens/cookie.token.mjs +3 -3
- package/esm2020/lib/core/tokens/location.token.mjs +6 -6
- package/esm2020/lib/core/tokens/navigator.token.mjs +6 -6
- package/esm2020/lib/core/tokens/window.token.mjs +12 -12
- package/esm2020/localize/bravobit-bb-foundation-localize.mjs +4 -4
- package/esm2020/localize/lib/functions/date.function.mjs +18 -18
- package/esm2020/localize/lib/functions/lowercase.function.mjs +13 -13
- package/esm2020/localize/lib/functions/uppercase.function.mjs +13 -13
- package/esm2020/localize/lib/handlers/missing.handler.mjs +15 -17
- package/esm2020/localize/lib/interfaces/config.interfaces.mjs +7 -10
- package/esm2020/localize/lib/interfaces/functions.interfaces.mjs +8 -8
- package/esm2020/localize/lib/interfaces/handlers.interfaces.mjs +2 -2
- package/esm2020/localize/lib/interfaces/options.interfaces.mjs +6 -6
- package/esm2020/localize/lib/localizations/dutch.localization.mjs +45 -53
- package/esm2020/localize/lib/localizations/english.localization.mjs +45 -53
- package/esm2020/localize/lib/localize.dictionary.mjs +26 -135
- package/esm2020/localize/lib/localize.module.mjs +71 -72
- package/esm2020/localize/lib/localize.pipe.mjs +49 -49
- package/esm2020/localize/lib/localize.service.mjs +205 -280
- package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -88
- package/esm2020/localize/lib/views/localize-template-or-string.directive.mjs +28 -28
- package/esm2020/localize/lib/views/localize-template.directive.mjs +21 -21
- package/esm2020/localize/public_api.mjs +17 -18
- package/esm2020/notifications/bravobit-bb-foundation-notifications.mjs +4 -4
- package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -100
- package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -47
- package/esm2020/notifications/lib/notifications.animations.mjs +28 -28
- package/esm2020/notifications/lib/notifications.injector.mjs +18 -18
- package/esm2020/notifications/lib/notifications.interfaces.mjs +20 -20
- package/esm2020/notifications/lib/notifications.module.mjs +30 -30
- package/esm2020/notifications/lib/notifications.service.mjs +145 -145
- package/esm2020/notifications/public_api.mjs +4 -4
- package/esm2020/public_api.mjs +29 -29
- package/esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs +4 -4
- package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -185
- package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -90
- package/esm2020/recaptcha/lib/recaptcha.interface.mjs +3 -3
- package/esm2020/recaptcha/lib/recaptcha.module.mjs +27 -27
- package/esm2020/recaptcha/public_api.mjs +5 -5
- package/esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs +4 -4
- package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -10
- package/esm2020/rxjs/lib/operators/filter-nil.operator.mjs +5 -5
- package/esm2020/rxjs/public_api.mjs +3 -3
- package/esm2020/storage/bravobit-bb-foundation-storage.mjs +4 -4
- package/esm2020/storage/lib/interfaces/attributes.interface.mjs +2 -2
- package/esm2020/storage/lib/interfaces/memory.interface.mjs +2 -2
- package/esm2020/storage/lib/interfaces/strategy.interface.mjs +2 -2
- package/esm2020/storage/lib/storage.service.mjs +109 -109
- package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -142
- package/esm2020/storage/lib/strategies/memory-storage.strategy.mjs +56 -56
- package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -102
- package/esm2020/storage/public_api.mjs +8 -8
- package/esm2020/table/bravobit-bb-foundation-table.mjs +4 -4
- package/esm2020/table/lib/components/table/table.component.mjs +191 -191
- package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -11
- package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -131
- package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -136
- package/esm2020/table/lib/data/datasource.data.mjs +32 -32
- package/esm2020/table/lib/data/generic.data.mjs +72 -72
- package/esm2020/table/lib/interfaces/datasource.interface.mjs +2 -2
- package/esm2020/table/lib/interfaces/table.interfaces.mjs +2 -2
- package/esm2020/table/lib/table.module.mjs +42 -42
- package/esm2020/table/public_api.mjs +10 -10
- package/fesm2015/bravobit-bb-foundation-auth.mjs +930 -926
- package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-collections.mjs +423 -423
- package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-controls.mjs +216 -216
- package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs +382 -382
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dialog.mjs +542 -542
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.mjs +1971 -1968
- package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.mjs +156 -156
- package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-localize.mjs +611 -812
- package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-notifications.mjs +348 -348
- package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs +290 -290
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.mjs +7 -7
- package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.mjs +401 -401
- package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation-table.mjs +571 -571
- package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2015/bravobit-bb-foundation.mjs +860 -860
- package/fesm2015/bravobit-bb-foundation.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-auth.mjs +882 -878
- package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-collections.mjs +413 -413
- package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-controls.mjs +214 -214
- package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs +370 -370
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +541 -541
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-elements.mjs +1928 -1925
- package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-http.mjs +148 -148
- package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-localize.mjs +590 -798
- package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-notifications.mjs +346 -346
- package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +280 -280
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs +10 -10
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-storage.mjs +396 -396
- package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation-table.mjs +560 -560
- package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2020/bravobit-bb-foundation.mjs +832 -832
- package/fesm2020/bravobit-bb-foundation.mjs.map +1 -1
- package/http/bravobit-bb-foundation-http.d.ts +5 -5
- package/http/lib/classes/http.config.d.ts +9 -9
- package/http/lib/classes/http.error.d.ts +7 -7
- package/http/lib/http.interfaces.d.ts +12 -12
- package/http/lib/http.module.d.ts +15 -15
- package/http/lib/interceptors/base-url.interceptor.d.ts +15 -15
- package/http/lib/interceptors/error.interceptor.d.ts +11 -11
- package/http/public_api.d.ts +6 -6
- package/lib/core/miscellaneous/regex.d.ts +4 -4
- package/lib/core/miscellaneous/validator.d.ts +13 -13
- package/lib/core/mixins/can-disable.d.ts +6 -6
- package/lib/core/mixins/can-hide-errors.d.ts +6 -6
- package/lib/core/mixins/can-load.d.ts +6 -6
- package/lib/core/mixins/constructor.d.ts +1 -1
- package/lib/core/mixins/has-error.d.ts +6 -6
- package/lib/core/mixins/is-focused.d.ts +6 -6
- package/lib/core/mixins/is-grouped.d.ts +6 -6
- package/lib/core/mixins/is-readonly.d.ts +6 -6
- package/lib/core/mixins/is-required.d.ts +6 -6
- package/lib/core/services/clipboard.service.d.ts +18 -18
- package/lib/core/services/exif.service.d.ts +15 -15
- package/lib/core/services/file-loader.service.d.ts +13 -13
- package/lib/core/services/image-converter.service.d.ts +21 -21
- package/lib/core/services/languages.service.d.ts +16 -16
- package/lib/core/services/network.service.d.ts +14 -14
- package/lib/core/services/patch.service.d.ts +16 -16
- package/lib/core/services/platform.service.d.ts +18 -18
- package/lib/core/tokens/accept-language.token.d.ts +2 -2
- package/lib/core/tokens/base-url.token.d.ts +2 -2
- package/lib/core/tokens/cookie.token.d.ts +2 -2
- package/lib/core/tokens/location.token.d.ts +2 -2
- package/lib/core/tokens/navigator.token.d.ts +2 -2
- package/lib/core/tokens/window.token.d.ts +2 -2
- package/localize/bravobit-bb-foundation-localize.d.ts +5 -5
- package/localize/lib/functions/date.function.d.ts +5 -5
- package/localize/lib/functions/lowercase.function.d.ts +5 -5
- package/localize/lib/functions/uppercase.function.d.ts +5 -5
- package/localize/lib/handlers/missing.handler.d.ts +6 -6
- package/localize/lib/interfaces/config.interfaces.d.ts +18 -9
- package/localize/lib/interfaces/functions.interfaces.d.ts +9 -9
- package/localize/lib/interfaces/handlers.interfaces.d.ts +6 -6
- package/localize/lib/interfaces/options.interfaces.d.ts +10 -10
- package/localize/lib/localizations/dutch.localization.d.ts +44 -51
- package/localize/lib/localizations/english.localization.d.ts +44 -51
- package/localize/lib/localize.dictionary.d.ts +7 -24
- package/localize/lib/localize.module.d.ts +17 -18
- package/localize/lib/localize.pipe.d.ts +12 -12
- package/localize/lib/localize.service.d.ts +40 -52
- package/localize/lib/views/localize-string/localize-string.component.d.ts +23 -23
- package/localize/lib/views/localize-template-or-string.directive.d.ts +10 -10
- package/localize/lib/views/localize-template.directive.d.ts +9 -9
- package/localize/public_api.d.ts +16 -17
- package/notifications/bravobit-bb-foundation-notifications.d.ts +5 -5
- package/notifications/lib/notifications-item/notifications-item.component.d.ts +34 -34
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +16 -16
- package/notifications/lib/notifications.animations.d.ts +1 -1
- package/notifications/lib/notifications.injector.d.ts +8 -8
- package/notifications/lib/notifications.interfaces.d.ts +49 -49
- package/notifications/lib/notifications.module.d.ts +13 -13
- package/notifications/lib/notifications.service.d.ts +34 -34
- package/notifications/public_api.d.ts +3 -3
- package/package.json +6 -6
- package/public_api.d.ts +25 -25
- package/recaptcha/bravobit-bb-foundation-recaptcha.d.ts +5 -5
- package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +47 -47
- package/recaptcha/lib/recaptcha-loader.service.d.ts +22 -22
- package/recaptcha/lib/recaptcha.interface.d.ts +14 -14
- package/recaptcha/lib/recaptcha.module.d.ts +10 -10
- package/recaptcha/public_api.d.ts +4 -4
- package/rxjs/bravobit-bb-foundation-rxjs.d.ts +5 -5
- package/rxjs/lib/operators/combine-latest-map.operator.d.ts +8 -8
- package/rxjs/lib/operators/filter-nil.operator.d.ts +1 -1
- package/rxjs/public_api.d.ts +2 -2
- package/storage/bravobit-bb-foundation-storage.d.ts +5 -5
- package/storage/lib/interfaces/attributes.interface.d.ts +13 -13
- package/storage/lib/interfaces/memory.interface.d.ts +7 -7
- package/storage/lib/interfaces/strategy.interface.d.ts +17 -17
- package/storage/lib/storage.service.d.ts +26 -26
- package/storage/lib/strategies/cookie-storage.strategy.d.ts +20 -20
- package/storage/lib/strategies/memory-storage.strategy.d.ts +11 -11
- package/storage/lib/strategies/polyfill-storage.strategy.d.ts +15 -15
- package/storage/public_api.d.ts +7 -7
- package/table/bravobit-bb-foundation-table.d.ts +5 -5
- package/table/lib/components/table/table.component.d.ts +56 -56
- package/table/lib/components/table-cell/table-cell.component.d.ts +5 -5
- package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +29 -29
- package/table/lib/components/table-pager/table-pager.component.d.ts +41 -41
- package/table/lib/data/datasource.data.d.ts +14 -14
- package/table/lib/data/generic.data.d.ts +23 -23
- package/table/lib/interfaces/datasource.interface.d.ts +17 -17
- package/table/lib/interfaces/table.interfaces.d.ts +1 -1
- package/table/lib/table.module.d.ts +14 -14
- package/table/public_api.d.ts +9 -9
- package/esm2020/localize/lib/interfaces/dictionary.interfaces.mjs +0 -8
- package/localize/lib/interfaces/dictionary.interfaces.d.ts +0 -12
|
@@ -1,74 +1,74 @@
|
|
|
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
|
-
constructor(_acceptLanguage) {
|
|
6
|
-
this._acceptLanguage = _acceptLanguage;
|
|
7
|
-
// Data.
|
|
8
|
-
this._data = [];
|
|
9
|
-
this.getLanguages = () => {
|
|
10
|
-
// If defined we must be in a server environment.
|
|
11
|
-
if (this._acceptLanguage) {
|
|
12
|
-
return this._acceptLanguage;
|
|
13
|
-
}
|
|
14
|
-
// Try to get the languages from the navigator.
|
|
15
|
-
if (typeof navigator !== 'object') {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
let t = 'anguage';
|
|
19
|
-
let n = navigator;
|
|
20
|
-
let f = n['l' + t + 's'];
|
|
21
|
-
const data = f && f.length ? f : (t = n['l' + t] ||
|
|
22
|
-
n['browserL' + t] ||
|
|
23
|
-
n['userL' + t]) ? [t] : t;
|
|
24
|
-
return typeof data === 'string'
|
|
25
|
-
? data
|
|
26
|
-
: data.join(';');
|
|
27
|
-
};
|
|
28
|
-
this._data = this.initialize();
|
|
29
|
-
}
|
|
30
|
-
get all() {
|
|
31
|
-
return this._data;
|
|
32
|
-
}
|
|
33
|
-
initialize() {
|
|
34
|
-
// Get the languages.
|
|
35
|
-
const data = this.getLanguages();
|
|
36
|
-
// Parse all languages by using a regex.
|
|
37
|
-
const strings = (data || '')
|
|
38
|
-
.match(/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\*)(;q=[0-1](\.[0-9]+)?)?)*/g);
|
|
39
|
-
// Get the content by parsing the strings.
|
|
40
|
-
const content = strings.map(item => {
|
|
41
|
-
if (!item) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
const bits = item.split(';');
|
|
45
|
-
const ietf = bits[0].split('-');
|
|
46
|
-
const hasScript = ietf.length === 3;
|
|
47
|
-
return {
|
|
48
|
-
code: ietf[0],
|
|
49
|
-
script: hasScript ? ietf[1] : null,
|
|
50
|
-
region: hasScript ? ietf[2] : ietf[1],
|
|
51
|
-
quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
// Filter out all the empty items
|
|
55
|
-
// and sort them by the quality.
|
|
56
|
-
return content
|
|
57
|
-
.filter(item => !!item)
|
|
58
|
-
.sort((a, b) => b.quality - a.quality);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
Languages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
62
|
-
Languages.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
64
|
-
type: Injectable,
|
|
65
|
-
args: [{
|
|
66
|
-
providedIn: 'root'
|
|
67
|
-
}]
|
|
68
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
69
|
-
type: Optional
|
|
70
|
-
}, {
|
|
71
|
-
type: Inject,
|
|
72
|
-
args: [ACCEPT_LANGUAGE]
|
|
73
|
-
}] }]; } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
+
constructor(_acceptLanguage) {
|
|
6
|
+
this._acceptLanguage = _acceptLanguage;
|
|
7
|
+
// Data.
|
|
8
|
+
this._data = [];
|
|
9
|
+
this.getLanguages = () => {
|
|
10
|
+
// If defined we must be in a server environment.
|
|
11
|
+
if (this._acceptLanguage) {
|
|
12
|
+
return this._acceptLanguage;
|
|
13
|
+
}
|
|
14
|
+
// Try to get the languages from the navigator.
|
|
15
|
+
if (typeof navigator !== 'object') {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
let t = 'anguage';
|
|
19
|
+
let n = navigator;
|
|
20
|
+
let f = n['l' + t + 's'];
|
|
21
|
+
const data = f && f.length ? f : (t = n['l' + t] ||
|
|
22
|
+
n['browserL' + t] ||
|
|
23
|
+
n['userL' + t]) ? [t] : t;
|
|
24
|
+
return typeof data === 'string'
|
|
25
|
+
? data
|
|
26
|
+
: data.join(';');
|
|
27
|
+
};
|
|
28
|
+
this._data = this.initialize();
|
|
29
|
+
}
|
|
30
|
+
get all() {
|
|
31
|
+
return this._data;
|
|
32
|
+
}
|
|
33
|
+
initialize() {
|
|
34
|
+
// Get the languages.
|
|
35
|
+
const data = this.getLanguages();
|
|
36
|
+
// Parse all languages by using a regex.
|
|
37
|
+
const strings = (data || '')
|
|
38
|
+
.match(/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\*)(;q=[0-1](\.[0-9]+)?)?)*/g);
|
|
39
|
+
// Get the content by parsing the strings.
|
|
40
|
+
const content = strings.map(item => {
|
|
41
|
+
if (!item) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const bits = item.split(';');
|
|
45
|
+
const ietf = bits[0].split('-');
|
|
46
|
+
const hasScript = ietf.length === 3;
|
|
47
|
+
return {
|
|
48
|
+
code: ietf[0],
|
|
49
|
+
script: hasScript ? ietf[1] : null,
|
|
50
|
+
region: hasScript ? ietf[2] : ietf[1],
|
|
51
|
+
quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0
|
|
52
|
+
};
|
|
53
|
+
});
|
|
54
|
+
// Filter out all the empty items
|
|
55
|
+
// and sort them by the quality.
|
|
56
|
+
return content
|
|
57
|
+
.filter(item => !!item)
|
|
58
|
+
.sort((a, b) => b.quality - a.quality);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
Languages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Languages, deps: [{ token: ACCEPT_LANGUAGE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
62
|
+
Languages.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Languages, providedIn: 'root' });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Languages, decorators: [{
|
|
64
|
+
type: Injectable,
|
|
65
|
+
args: [{
|
|
66
|
+
providedIn: 'root'
|
|
67
|
+
}]
|
|
68
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
69
|
+
type: Optional
|
|
70
|
+
}, {
|
|
71
|
+
type: Inject,
|
|
72
|
+
args: [ACCEPT_LANGUAGE]
|
|
73
|
+
}] }]; } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2VzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9sYW5ndWFnZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUszRCxNQUFNLE9BQU8sU0FBUztJQUtsQixZQUF5RCxlQUF3QjtRQUF4QixvQkFBZSxHQUFmLGVBQWUsQ0FBUztRQUhqRixRQUFRO1FBQ1MsVUFBSyxHQUEwRSxFQUFFLENBQUM7UUEyQzNGLGlCQUFZLEdBQUcsR0FBRyxFQUFFO1lBQ3hCLGlEQUFpRDtZQUNqRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUMvQjtZQUVELCtDQUErQztZQUMvQyxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDL0IsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztZQUNsQixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7WUFFekIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5QixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVE7Z0JBQzNCLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQztRQTlERSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxVQUFVO1FBQ2QscUJBQXFCO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVqQyx3Q0FBd0M7UUFDeEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2FBQ3ZCLEtBQUssQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1FBRTdFLDBDQUEwQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQy9CLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUVwQyxPQUFPO2dCQUNILElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNiLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtnQkFDbEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQzdELENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGlDQUFpQztRQUNqQyxnQ0FBZ0M7UUFDaEMsT0FBTyxPQUFPO2FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzthQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDOztzR0E1Q1EsU0FBUyxrQkFLYyxlQUFlOzBHQUx0QyxTQUFTLGNBRk4sTUFBTTsyRkFFVCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBTWdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QUNDRVBUX0xBTkdVQUdFfSBmcm9tICcuLi90b2tlbnMvYWNjZXB0LWxhbmd1YWdlLnRva2VuJztcclxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VzIHtcclxuXHJcbiAgICAvLyBEYXRhLlxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGF0YTogeyBjb2RlOiBzdHJpbmcsIHNjcmlwdD86IHN0cmluZywgcmVnaW9uPzogc3RyaW5nLCBxdWFsaXR5OiBudW1iZXIgfVtdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChBQ0NFUFRfTEFOR1VBR0UpIHByaXZhdGUgX2FjY2VwdExhbmd1YWdlPzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBhbGwoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpbml0aWFsaXplKCkge1xyXG4gICAgICAgIC8vIEdldCB0aGUgbGFuZ3VhZ2VzLlxyXG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdldExhbmd1YWdlcygpO1xyXG5cclxuICAgICAgICAvLyBQYXJzZSBhbGwgbGFuZ3VhZ2VzIGJ5IHVzaW5nIGEgcmVnZXguXHJcbiAgICAgICAgY29uc3Qgc3RyaW5ncyA9IChkYXRhIHx8ICcnKVxyXG4gICAgICAgICAgICAubWF0Y2goLygoKFthLXpBLVpdKygtW2EtekEtWjAtOV0rKXswLDJ9KXxcXCopKDtxPVswLTFdKFxcLlswLTldKyk/KT8pKi9nKTtcclxuXHJcbiAgICAgICAgLy8gR2V0IHRoZSBjb250ZW50IGJ5IHBhcnNpbmcgdGhlIHN0cmluZ3MuXHJcbiAgICAgICAgY29uc3QgY29udGVudCA9IHN0cmluZ3MubWFwKGl0ZW0gPT4ge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBiaXRzID0gaXRlbS5zcGxpdCgnOycpO1xyXG4gICAgICAgICAgICBjb25zdCBpZXRmID0gYml0c1swXS5zcGxpdCgnLScpO1xyXG4gICAgICAgICAgICBjb25zdCBoYXNTY3JpcHQgPSBpZXRmLmxlbmd0aCA9PT0gMztcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBjb2RlOiBpZXRmWzBdLFxyXG4gICAgICAgICAgICAgICAgc2NyaXB0OiBoYXNTY3JpcHQgPyBpZXRmWzFdIDogbnVsbCxcclxuICAgICAgICAgICAgICAgIHJlZ2lvbjogaGFzU2NyaXB0ID8gaWV0ZlsyXSA6IGlldGZbMV0sXHJcbiAgICAgICAgICAgICAgICBxdWFsaXR5OiBiaXRzWzFdID8gcGFyc2VGbG9hdChiaXRzWzFdLnNwbGl0KCc9JylbMV0pIDogMS4wXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIEZpbHRlciBvdXQgYWxsIHRoZSBlbXB0eSBpdGVtc1xyXG4gICAgICAgIC8vIGFuZCBzb3J0IHRoZW0gYnkgdGhlIHF1YWxpdHkuXHJcbiAgICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgICAgICAgICAgLmZpbHRlcihpdGVtID0+ICEhaXRlbSlcclxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIucXVhbGl0eSAtIGEucXVhbGl0eSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRMYW5ndWFnZXMgPSAoKSA9PiB7XHJcbiAgICAgICAgLy8gSWYgZGVmaW5lZCB3ZSBtdXN0IGJlIGluIGEgc2VydmVyIGVudmlyb25tZW50LlxyXG4gICAgICAgIGlmICh0aGlzLl9hY2NlcHRMYW5ndWFnZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYWNjZXB0TGFuZ3VhZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBUcnkgdG8gZ2V0IHRoZSBsYW5ndWFnZXMgZnJvbSB0aGUgbmF2aWdhdG9yLlxyXG4gICAgICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB0ID0gJ2FuZ3VhZ2UnO1xyXG4gICAgICAgIGxldCBuID0gbmF2aWdhdG9yO1xyXG4gICAgICAgIGxldCBmID0gblsnbCcgKyB0ICsgJ3MnXTtcclxuXHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGYgJiYgZi5sZW5ndGggPyBmIDogKHQgPSBuWydsJyArIHRdIHx8XHJcbiAgICAgICAgICAgIG5bJ2Jyb3dzZXJMJyArIHRdIHx8XHJcbiAgICAgICAgICAgIG5bJ3VzZXJMJyArIHRdKSA/IFt0XSA6IHQ7XHJcblxyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZydcclxuICAgICAgICAgICAgPyBkYXRhXHJcbiAgICAgICAgICAgIDogZGF0YS5qb2luKCc7Jyk7XHJcbiAgICB9O1xyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
import { distinctUntilChanged, map,
|
|
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 "./platform.service";
|
|
8
|
-
export class Network {
|
|
9
|
-
constructor(_platform, _window, _navigator) {
|
|
10
|
-
this._platform = _platform;
|
|
11
|
-
this._window = _window;
|
|
12
|
-
this._navigator = _navigator;
|
|
13
|
-
// Data.
|
|
14
|
-
this._online$ = of(true);
|
|
15
|
-
this.getOnlineObservable();
|
|
16
|
-
}
|
|
17
|
-
online() {
|
|
18
|
-
return this._online$;
|
|
19
|
-
}
|
|
20
|
-
getOnlineObservable() {
|
|
21
|
-
// Validate we are on a browser.
|
|
22
|
-
if (!this._platform.isBrowser) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
// Get all the events from the window.
|
|
26
|
-
const online$ = fromEvent(this._window, 'online').pipe(
|
|
27
|
-
const offline$ = fromEvent(this._window, 'offline').pipe(
|
|
28
|
-
const now$ = new Observable(subscriber => {
|
|
29
|
-
subscriber.next(this._navigator?.onLine);
|
|
30
|
-
subscriber.complete();
|
|
31
|
-
});
|
|
32
|
-
// Merge all event so we get notified when
|
|
33
|
-
// a user is online/offline.
|
|
34
|
-
this._online$ = merge(now$, online$, offline$).pipe(map(value => value), distinctUntilChanged(), shareReplay(1));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
Network.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
38
|
-
Network.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
40
|
-
type: Injectable,
|
|
41
|
-
args: [{
|
|
42
|
-
providedIn: 'root'
|
|
43
|
-
}]
|
|
44
|
-
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
45
|
-
type: Optional
|
|
46
|
-
}, {
|
|
47
|
-
type: Inject,
|
|
48
|
-
args: [WINDOW]
|
|
49
|
-
}] }, { type: undefined, decorators: [{
|
|
50
|
-
type: Optional
|
|
51
|
-
}, {
|
|
52
|
-
type: Inject,
|
|
53
|
-
args: [NAVIGATOR]
|
|
54
|
-
}] }]; } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 "./platform.service";
|
|
8
|
+
export class Network {
|
|
9
|
+
constructor(_platform, _window, _navigator) {
|
|
10
|
+
this._platform = _platform;
|
|
11
|
+
this._window = _window;
|
|
12
|
+
this._navigator = _navigator;
|
|
13
|
+
// Data.
|
|
14
|
+
this._online$ = of(true);
|
|
15
|
+
this.getOnlineObservable();
|
|
16
|
+
}
|
|
17
|
+
online() {
|
|
18
|
+
return this._online$;
|
|
19
|
+
}
|
|
20
|
+
getOnlineObservable() {
|
|
21
|
+
// Validate we are on a browser.
|
|
22
|
+
if (!this._platform.isBrowser) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Get all the events from the window.
|
|
26
|
+
const online$ = fromEvent(this._window, 'online').pipe(map(() => true));
|
|
27
|
+
const offline$ = fromEvent(this._window, 'offline').pipe(map(() => false));
|
|
28
|
+
const now$ = new Observable(subscriber => {
|
|
29
|
+
subscriber.next(this._navigator?.onLine);
|
|
30
|
+
subscriber.complete();
|
|
31
|
+
});
|
|
32
|
+
// Merge all event so we get notified when
|
|
33
|
+
// a user is online/offline.
|
|
34
|
+
this._online$ = merge(now$, online$, offline$).pipe(map(value => value), distinctUntilChanged(), shareReplay(1));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
Network.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Network, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: NAVIGATOR, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
38
|
+
Network.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Network, providedIn: 'root' });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Network, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root'
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
45
|
+
type: Optional
|
|
46
|
+
}, {
|
|
47
|
+
type: Inject,
|
|
48
|
+
args: [WINDOW]
|
|
49
|
+
}] }, { type: undefined, decorators: [{
|
|
50
|
+
type: Optional
|
|
51
|
+
}, {
|
|
52
|
+
type: Inject,
|
|
53
|
+
args: [NAVIGATOR]
|
|
54
|
+
}] }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTTlDLE1BQU0sT0FBTyxPQUFPO0lBS2hCLFlBQW9CLFNBQW1CLEVBQ1MsT0FBWSxFQUNULFVBQWU7UUFGOUMsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNTLFlBQU8sR0FBUCxPQUFPLENBQUs7UUFDVCxlQUFVLEdBQVYsVUFBVSxDQUFLO1FBTGxFLFFBQVE7UUFDQSxhQUFRLEdBQXdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUs3QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLGdDQUFnQztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDM0IsT0FBTztTQUNWO1FBRUQsc0NBQXNDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILDBDQUEwQztRQUMxQyw0QkFBNEI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQWdCLENBQUMsRUFDOUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQzs7b0dBcENRLE9BQU8sMENBTWdCLE1BQU0sNkJBQ04sU0FBUzt3R0FQaEMsT0FBTyxjQUZKLE1BQU07MkZBRVQsT0FBTztrQkFIbkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9nQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUN6QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHNoYXJlUmVwbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7ZnJvbUV2ZW50LCBtZXJnZSwgT2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge05BVklHQVRPUn0gZnJvbSAnLi4vdG9rZW5zL25hdmlnYXRvci50b2tlbic7XHJcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuLi90b2tlbnMvd2luZG93LnRva2VuJztcclxuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnLi9wbGF0Zm9ybS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTmV0d29yayB7XHJcblxyXG4gICAgLy8gRGF0YS5cclxuICAgIHByaXZhdGUgX29ubGluZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZih0cnVlKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSBfd2luZG93OiBhbnksXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5BVklHQVRPUikgcHJpdmF0ZSBfbmF2aWdhdG9yOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmdldE9ubGluZU9ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBvbmxpbmUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX29ubGluZSQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRPbmxpbmVPYnNlcnZhYmxlKCkge1xyXG4gICAgICAgIC8vIFZhbGlkYXRlIHdlIGFyZSBvbiBhIGJyb3dzZXIuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9wbGF0Zm9ybS5pc0Jyb3dzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gR2V0IGFsbCB0aGUgZXZlbnRzIGZyb20gdGhlIHdpbmRvdy5cclxuICAgICAgICBjb25zdCBvbmxpbmUkID0gZnJvbUV2ZW50KHRoaXMuX3dpbmRvdywgJ29ubGluZScpLnBpcGUobWFwKCgpID0+IHRydWUpKTtcclxuICAgICAgICBjb25zdCBvZmZsaW5lJCA9IGZyb21FdmVudCh0aGlzLl93aW5kb3csICdvZmZsaW5lJykucGlwZShtYXAoKCkgPT4gZmFsc2UpKTtcclxuICAgICAgICBjb25zdCBub3ckID0gbmV3IE9ic2VydmFibGUoc3Vic2NyaWJlciA9PiB7XHJcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh0aGlzLl9uYXZpZ2F0b3I/Lm9uTGluZSk7XHJcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8gTWVyZ2UgYWxsIGV2ZW50IHNvIHdlIGdldCBub3RpZmllZCB3aGVuXHJcbiAgICAgICAgLy8gYSB1c2VyIGlzIG9ubGluZS9vZmZsaW5lLlxyXG4gICAgICAgIHRoaXMuX29ubGluZSQgPSBtZXJnZShub3ckLCBvbmxpbmUkLCBvZmZsaW5lJCkucGlwZShcclxuICAgICAgICAgICAgbWFwKHZhbHVlID0+IHZhbHVlIGFzIGJvb2xlYW4pLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,63 +1,63 @@
|
|
|
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 "./platform.service";
|
|
8
|
-
export class Patch {
|
|
9
|
-
constructor(_platform, _window, _document) {
|
|
10
|
-
this._platform = _platform;
|
|
11
|
-
this._window = _window;
|
|
12
|
-
this._document = _document;
|
|
13
|
-
this._hasPatchedMobileVerticalHeight = false;
|
|
14
|
-
// Subscriptions.
|
|
15
|
-
this._subscription = new Subscription();
|
|
16
|
-
}
|
|
17
|
-
mobileVerticalHeight() {
|
|
18
|
-
// Check if the user has already patched
|
|
19
|
-
// the mobile vertical height.
|
|
20
|
-
if (this._hasPatchedMobileVerticalHeight) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.periodicallySetDocumentVerticalProperty();
|
|
24
|
-
this._hasPatchedMobileVerticalHeight = true;
|
|
25
|
-
}
|
|
26
|
-
ngOnDestroy() {
|
|
27
|
-
this._subscription?.unsubscribe();
|
|
28
|
-
}
|
|
29
|
-
periodicallySetDocumentVerticalProperty() {
|
|
30
|
-
// Validate we are using a browser.
|
|
31
|
-
if (!this._platform.isBrowser) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// Listen to a debounced window resize event.
|
|
35
|
-
const resize$ = fromEvent(this._window, 'resize').pipe(debounceTime(25), startWith(0));
|
|
36
|
-
// Subscribe to the resize observable.
|
|
37
|
-
const subscription = resize$.subscribe(() => {
|
|
38
|
-
const verticalHeight = this._window?.innerHeight * 0.01;
|
|
39
|
-
this._document?.documentElement?.style?.setProperty('--vh', `${verticalHeight}px`);
|
|
40
|
-
});
|
|
41
|
-
// Save the subscription so we can destroy it later.
|
|
42
|
-
this._subscription.add(subscription);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
Patch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
46
|
-
Patch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
48
|
-
type: Injectable,
|
|
49
|
-
args: [{
|
|
50
|
-
providedIn: 'root'
|
|
51
|
-
}]
|
|
52
|
-
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
53
|
-
type: Optional
|
|
54
|
-
}, {
|
|
55
|
-
type: Inject,
|
|
56
|
-
args: [WINDOW]
|
|
57
|
-
}] }, { type: undefined, decorators: [{
|
|
58
|
-
type: Optional
|
|
59
|
-
}, {
|
|
60
|
-
type: Inject,
|
|
61
|
-
args: [DOCUMENT]
|
|
62
|
-
}] }]; } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 "./platform.service";
|
|
8
|
+
export class Patch {
|
|
9
|
+
constructor(_platform, _window, _document) {
|
|
10
|
+
this._platform = _platform;
|
|
11
|
+
this._window = _window;
|
|
12
|
+
this._document = _document;
|
|
13
|
+
this._hasPatchedMobileVerticalHeight = false;
|
|
14
|
+
// Subscriptions.
|
|
15
|
+
this._subscription = new Subscription();
|
|
16
|
+
}
|
|
17
|
+
mobileVerticalHeight() {
|
|
18
|
+
// Check if the user has already patched
|
|
19
|
+
// the mobile vertical height.
|
|
20
|
+
if (this._hasPatchedMobileVerticalHeight) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
this.periodicallySetDocumentVerticalProperty();
|
|
24
|
+
this._hasPatchedMobileVerticalHeight = true;
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this._subscription?.unsubscribe();
|
|
28
|
+
}
|
|
29
|
+
periodicallySetDocumentVerticalProperty() {
|
|
30
|
+
// Validate we are using a browser.
|
|
31
|
+
if (!this._platform.isBrowser) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
// Listen to a debounced window resize event.
|
|
35
|
+
const resize$ = fromEvent(this._window, 'resize').pipe(debounceTime(25), startWith(0));
|
|
36
|
+
// Subscribe to the resize observable.
|
|
37
|
+
const subscription = resize$.subscribe(() => {
|
|
38
|
+
const verticalHeight = this._window?.innerHeight * 0.01;
|
|
39
|
+
this._document?.documentElement?.style?.setProperty('--vh', `${verticalHeight}px`);
|
|
40
|
+
});
|
|
41
|
+
// Save the subscription so we can destroy it later.
|
|
42
|
+
this._subscription.add(subscription);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
Patch.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Patch, deps: [{ token: i1.Platform }, { token: WINDOW, optional: true }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
Patch.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Patch, providedIn: 'root' });
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Patch, decorators: [{
|
|
48
|
+
type: Injectable,
|
|
49
|
+
args: [{
|
|
50
|
+
providedIn: 'root'
|
|
51
|
+
}]
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i1.Platform }, { type: undefined, decorators: [{
|
|
53
|
+
type: Optional
|
|
54
|
+
}, {
|
|
55
|
+
type: Inject,
|
|
56
|
+
args: [WINDOW]
|
|
57
|
+
}] }, { type: undefined, decorators: [{
|
|
58
|
+
type: Optional
|
|
59
|
+
}, {
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [DOCUMENT]
|
|
62
|
+
}] }]; } });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2guc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3BhdGNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxZQUFZLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzlDLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBS3pDLE1BQU0sT0FBTyxLQUFLO0lBT2QsWUFBb0IsU0FBbUIsRUFDUyxPQUFZLEVBQ1YsU0FBYztRQUY1QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNWLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFQeEQsb0NBQStCLEdBQVksS0FBSyxDQUFDO1FBRXpELGlCQUFpQjtRQUNULGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUszQyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLHdDQUF3QztRQUN4Qyw4QkFBOEI7UUFDOUIsSUFBSSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDdEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLHVDQUF1QztRQUMzQyxtQ0FBbUM7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUVELDZDQUE2QztRQUM3QyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQ2xELFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFRixzQ0FBc0M7UUFDdEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hELElBQUksQ0FBQyxTQUFTLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUMsQ0FBQztRQUVILG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDOztrR0EvQ1EsS0FBSywwQ0FRa0IsTUFBTSw2QkFDTixRQUFRO3NHQVQvQixLQUFLLGNBRkYsTUFBTTsyRkFFVCxLQUFLO2tCQUhqQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBU2dCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsTUFBTTs7MEJBQ3pCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1dJTkRPV30gZnJvbSAnLi4vdG9rZW5zL3dpbmRvdy50b2tlbic7XHJcbmltcG9ydCB7ZnJvbUV2ZW50LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICcuL3BsYXRmb3JtLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXRjaCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHJpdmF0ZSBfaGFzUGF0Y2hlZE1vYmlsZVZlcnRpY2FsSGVpZ2h0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gU3Vic2NyaXB0aW9ucy5cclxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSBfd2luZG93OiBhbnksXHJcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIF9kb2N1bWVudDogYW55KSB7XHJcbiAgICB9XHJcblxyXG4gICAgbW9iaWxlVmVydGljYWxIZWlnaHQoKSB7XHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzIGFscmVhZHkgcGF0Y2hlZFxyXG4gICAgICAgIC8vIHRoZSBtb2JpbGUgdmVydGljYWwgaGVpZ2h0LlxyXG4gICAgICAgIGlmICh0aGlzLl9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wZXJpb2RpY2FsbHlTZXREb2N1bWVudFZlcnRpY2FsUHJvcGVydHkoKTtcclxuICAgICAgICB0aGlzLl9oYXNQYXRjaGVkTW9iaWxlVmVydGljYWxIZWlnaHQgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBlcmlvZGljYWxseVNldERvY3VtZW50VmVydGljYWxQcm9wZXJ0eSgpIHtcclxuICAgICAgICAvLyBWYWxpZGF0ZSB3ZSBhcmUgdXNpbmcgYSBicm93c2VyLlxyXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIExpc3RlbiB0byBhIGRlYm91bmNlZCB3aW5kb3cgcmVzaXplIGV2ZW50LlxyXG4gICAgICAgIGNvbnN0IHJlc2l6ZSQgPSBmcm9tRXZlbnQodGhpcy5fd2luZG93LCAncmVzaXplJykucGlwZShcclxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDI1KSxcclxuICAgICAgICAgICAgc3RhcnRXaXRoKDApXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSByZXNpemUgb2JzZXJ2YWJsZS5cclxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSByZXNpemUkLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZlcnRpY2FsSGVpZ2h0ID0gdGhpcy5fd2luZG93Py5pbm5lckhlaWdodCAqIDAuMDE7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY3VtZW50Py5kb2N1bWVudEVsZW1lbnQ/LnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS12aCcsIGAke3ZlcnRpY2FsSGVpZ2h0fXB4YCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIFNhdmUgdGhlIHN1YnNjcmlwdGlvbiBzbyB3ZSBjYW4gZGVzdHJveSBpdCBsYXRlci5cclxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
let hasV8BreakIterator;
|
|
5
|
-
try {
|
|
6
|
-
hasV8BreakIterator = (typeof Intl !== 'undefined' && Intl.v8BreakIterator);
|
|
7
|
-
}
|
|
8
|
-
catch {
|
|
9
|
-
hasV8BreakIterator = false;
|
|
10
|
-
}
|
|
11
|
-
export class Platform {
|
|
12
|
-
constructor(_platformId) {
|
|
13
|
-
this._platformId = _platformId;
|
|
14
|
-
// Browser check.
|
|
15
|
-
this.isBrowser = this._platformId
|
|
16
|
-
? isPlatformBrowser(this._platformId)
|
|
17
|
-
: typeof document === 'object' && !!document;
|
|
18
|
-
// Is checks.
|
|
19
|
-
this.isEdge = this.isBrowser && /(edge)/i.test(navigator.userAgent);
|
|
20
|
-
this.isTrident = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);
|
|
21
|
-
this.isBlink = this.isBrowser && (!!(window.chrome || hasV8BreakIterator) && typeof CSS !== 'undefined' && !this.isEdge && !this.isTrident);
|
|
22
|
-
this.isWebkit = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.isBlink && !this.isEdge && !this.isTrident;
|
|
23
|
-
this.isChrome = this.isBrowser && /Google Inc./.test(navigator.vendor);
|
|
24
|
-
this.isFirefox = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);
|
|
25
|
-
this.isSafari = this.isBrowser && /safari/i.test(navigator.userAgent) && this.isWebkit;
|
|
26
|
-
this.isAndroid = this.isBrowser && /android/i.test(navigator.userAgent) && !this.isTrident;
|
|
27
|
-
this.isIos = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);
|
|
28
|
-
this.isDesktop = this.isBrowser && !(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/.test(navigator.userAgent));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
Platform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
32
|
-
Platform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
34
|
-
type: Injectable,
|
|
35
|
-
args: [{
|
|
36
|
-
providedIn: 'root'
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: Object, decorators: [{
|
|
39
|
-
type: Inject,
|
|
40
|
-
args: [PLATFORM_ID]
|
|
41
|
-
}] }]; } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
|
|
2
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
let hasV8BreakIterator;
|
|
5
|
+
try {
|
|
6
|
+
hasV8BreakIterator = (typeof Intl !== 'undefined' && Intl.v8BreakIterator);
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
hasV8BreakIterator = false;
|
|
10
|
+
}
|
|
11
|
+
export class Platform {
|
|
12
|
+
constructor(_platformId) {
|
|
13
|
+
this._platformId = _platformId;
|
|
14
|
+
// Browser check.
|
|
15
|
+
this.isBrowser = this._platformId
|
|
16
|
+
? isPlatformBrowser(this._platformId)
|
|
17
|
+
: typeof document === 'object' && !!document;
|
|
18
|
+
// Is checks.
|
|
19
|
+
this.isEdge = this.isBrowser && /(edge)/i.test(navigator.userAgent);
|
|
20
|
+
this.isTrident = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);
|
|
21
|
+
this.isBlink = this.isBrowser && (!!(window.chrome || hasV8BreakIterator) && typeof CSS !== 'undefined' && !this.isEdge && !this.isTrident);
|
|
22
|
+
this.isWebkit = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.isBlink && !this.isEdge && !this.isTrident;
|
|
23
|
+
this.isChrome = this.isBrowser && /Google Inc./.test(navigator.vendor);
|
|
24
|
+
this.isFirefox = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);
|
|
25
|
+
this.isSafari = this.isBrowser && /safari/i.test(navigator.userAgent) && this.isWebkit;
|
|
26
|
+
this.isAndroid = this.isBrowser && /android/i.test(navigator.userAgent) && !this.isTrident;
|
|
27
|
+
this.isIos = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);
|
|
28
|
+
this.isDesktop = this.isBrowser && !(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/.test(navigator.userAgent));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
Platform.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Platform, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
Platform.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Platform, providedIn: 'root' });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: Platform, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{
|
|
36
|
+
providedIn: 'root'
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: Object, decorators: [{
|
|
39
|
+
type: Inject,
|
|
40
|
+
args: [PLATFORM_ID]
|
|
41
|
+
}] }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUVsRCxJQUFJLGtCQUEyQixDQUFDO0FBQ2hDLElBQUk7SUFDQSxrQkFBa0IsR0FBRyxDQUFDLE9BQU8sSUFBSSxLQUFLLFdBQVcsSUFBSyxJQUFZLENBQUMsZUFBZSxDQUFDLENBQUM7Q0FDdkY7QUFBQyxNQUFNO0lBQ0osa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0NBQzlCO0FBS0QsTUFBTSxPQUFPLFFBQVE7SUFFakIsWUFBeUMsV0FBbUI7UUFBbkIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFHNUQsaUJBQWlCO1FBQ2pCLGNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVztZQUN4QixDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFFakQsYUFBYTtRQUNiLFdBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELGNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxNQUFjLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoSixhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxSCxhQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxjQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLGFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEYsY0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RGLFVBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNsRyxjQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsZ0RBQWdELENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBakI1RyxDQUFDOztxR0FIUSxRQUFRLGtCQUVHLFdBQVc7eUdBRnRCLFFBQVEsY0FGTCxNQUFNOzJGQUVULFFBQVE7a0JBSHBCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzBEQUd5RCxNQUFNOzBCQUEvQyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxubGV0IGhhc1Y4QnJlYWtJdGVyYXRvcjogYm9vbGVhbjtcclxudHJ5IHtcclxuICAgIGhhc1Y4QnJlYWtJdGVyYXRvciA9ICh0eXBlb2YgSW50bCAhPT0gJ3VuZGVmaW5lZCcgJiYgKEludGwgYXMgYW55KS52OEJyZWFrSXRlcmF0b3IpO1xyXG59IGNhdGNoIHtcclxuICAgIGhhc1Y4QnJlYWtJdGVyYXRvciA9IGZhbHNlO1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBsYXRmb3JtIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIF9wbGF0Zm9ybUlkOiBPYmplY3QpIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyBCcm93c2VyIGNoZWNrLlxyXG4gICAgaXNCcm93c2VyID0gdGhpcy5fcGxhdGZvcm1JZFxyXG4gICAgICAgID8gaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm1JZClcclxuICAgICAgICA6IHR5cGVvZiBkb2N1bWVudCA9PT0gJ29iamVjdCcgJiYgISFkb2N1bWVudDtcclxuXHJcbiAgICAvLyBJcyBjaGVja3MuXHJcbiAgICBpc0VkZ2UgPSB0aGlzLmlzQnJvd3NlciAmJiAvKGVkZ2UpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICAgIGlzVHJpZGVudCA9IHRoaXMuaXNCcm93c2VyICYmIC8obXNpZXx0cmlkZW50KS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XHJcbiAgICBpc0JsaW5rID0gdGhpcy5pc0Jyb3dzZXIgJiYgKCEhKCh3aW5kb3cgYXMgYW55KS5jaHJvbWUgfHwgaGFzVjhCcmVha0l0ZXJhdG9yKSAmJiB0eXBlb2YgQ1NTICE9PSAndW5kZWZpbmVkJyAmJiAhdGhpcy5pc0VkZ2UgJiYgIXRoaXMuaXNUcmlkZW50KTtcclxuICAgIGlzV2Via2l0ID0gdGhpcy5pc0Jyb3dzZXIgJiYgL0FwcGxlV2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhdGhpcy5pc0JsaW5rICYmICF0aGlzLmlzRWRnZSAmJiAhdGhpcy5pc1RyaWRlbnQ7XHJcbiAgICBpc0Nocm9tZSA9IHRoaXMuaXNCcm93c2VyICYmIC9Hb29nbGUgSW5jLi8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTtcclxuICAgIGlzRmlyZWZveCA9IHRoaXMuaXNCcm93c2VyICYmIC8oZmlyZWZveHxtaW5lZmllbGQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcclxuICAgIGlzU2FmYXJpID0gdGhpcy5pc0Jyb3dzZXIgJiYgL3NhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgdGhpcy5pc1dlYmtpdDtcclxuICAgIGlzQW5kcm9pZCA9IHRoaXMuaXNCcm93c2VyICYmIC9hbmRyb2lkL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAhdGhpcy5pc1RyaWRlbnQ7XHJcbiAgICBpc0lvcyA9IHRoaXMuaXNCcm93c2VyICYmIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICEoJ01TU3RyZWFtJyBpbiB3aW5kb3cpO1xyXG4gICAgaXNEZXNrdG9wID0gdGhpcy5pc0Jyb3dzZXIgJiYgISgvKGlQaG9uZXxpUG9kfGlQYWR8QW5kcm9pZHxCbGFja0JlcnJ5fElFTW9iaWxlKS8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSk7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const ACCEPT_LANGUAGE = new InjectionToken('AcceptLanguage');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const ACCEPT_LANGUAGE = new InjectionToken('AcceptLanguage');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0LWxhbmd1YWdlLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL2FjY2VwdC1sYW5ndWFnZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgQUNDRVBUX0xBTkdVQUdFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0FjY2VwdExhbmd1YWdlJyk7XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const BASE_URL = new InjectionToken('BaseUrl');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const BASE_URL = new InjectionToken('BaseUrl');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS11cmwudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS90b2tlbnMvYmFzZS11cmwudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLENBQVMsU0FBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBCQVNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCYXNlVXJsJyk7XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const COOKIE = new InjectionToken('Cookie');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const COOKIE = new InjectionToken('Cookie');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9zcmMvbGliL2NvcmUvdG9rZW5zL2Nvb2tpZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBUyxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENPT0tJRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdDb29raWUnKTtcclxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL3NyYy9saWIvY29yZS90b2tlbnMvbG9jYXRpb24udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FDdEMsNENBQTRDLEVBQzVDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRO0NBQ3pDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7V0lORE9XfSBmcm9tICcuL3dpbmRvdy50b2tlbic7XHJcblxyXG5leHBvcnQgY29uc3QgTE9DQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYXRpb24+KFxyXG4gICAgJ0FuIGFic3RyYWN0aW9uIG92ZXIgd2luZG93LmxvY2F0aW9uIG9iamVjdCcsXHJcbiAgICB7XHJcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gaW5qZWN0KFdJTkRPVykubG9jYXRpb25cclxuICAgIH1cclxuKTsiXX0=
|