@bravobit/bb-foundation 0.14.2 → 0.15.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/bundles/bravobit-bb-foundation-auth.umd.js +1400 -1402
- package/bundles/bravobit-bb-foundation-auth.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-collections.umd.js +851 -0
- package/bundles/bravobit-bb-foundation-collections.umd.js.map +1 -0
- package/bundles/bravobit-bb-foundation-dashboard.umd.js +817 -819
- package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-dialog.umd.js +649 -651
- package/bundles/bravobit-bb-foundation-dialog.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-elements.umd.js +2651 -2653
- package/bundles/bravobit-bb-foundation-elements.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-http.umd.js +488 -490
- package/bundles/bravobit-bb-foundation-http.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-localize.umd.js +1208 -1210
- package/bundles/bravobit-bb-foundation-localize.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-notifications.umd.js +743 -745
- package/bundles/bravobit-bb-foundation-notifications.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js +640 -642
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-rxjs.umd.js +13 -13
- package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-storage.umd.js +756 -758
- package/bundles/bravobit-bb-foundation-storage.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-table.umd.js +993 -995
- package/bundles/bravobit-bb-foundation-table.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation.umd.js +1336 -1263
- package/bundles/bravobit-bb-foundation.umd.js.map +1 -1
- package/collections/bravobit-bb-foundation-collections.d.ts +5 -0
- package/collections/lib/collection.d.ts +40 -0
- package/collections/lib/collections.module.d.ts +10 -0
- package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -0
- package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -0
- package/collections/lib/components/collections.directive.d.ts +17 -0
- package/collections/lib/interfaces/collection.interface.d.ts +26 -0
- package/collections/lib/providers/api-collection.provider.d.ts +15 -0
- package/collections/lib/providers/collection.provider.d.ts +6 -0
- package/collections/lib/providers/local-collection.provider.d.ts +8 -0
- package/collections/package.json +10 -0
- package/collections/public_api.d.ts +9 -0
- 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/esm2015/auth/bravobit-bb-foundation-auth.js +4 -4
- package/esm2015/auth/lib/auth.interceptor.js +95 -95
- package/esm2015/auth/lib/auth.module.js +54 -54
- package/esm2015/auth/lib/auth.service.js +299 -299
- package/esm2015/auth/lib/auth.session.js +136 -136
- package/esm2015/auth/lib/directives/authenticated.directive.js +32 -32
- package/esm2015/auth/lib/directives/permission.directive.js +81 -81
- package/esm2015/auth/lib/directives/role.directive.js +38 -38
- package/esm2015/auth/lib/guards/anonymous.guard.js +35 -35
- package/esm2015/auth/lib/guards/authenticated.guard.js +36 -36
- package/esm2015/auth/lib/helpers/jwt.helper.js +69 -69
- package/esm2015/auth/lib/helpers/mapper.helper.js +35 -35
- package/esm2015/auth/lib/interfaces/config.interface.js +3 -3
- package/esm2015/auth/lib/interfaces/mapper.interface.js +2 -2
- package/esm2015/auth/lib/interfaces/provider.interface.js +2 -2
- package/esm2015/auth/lib/interfaces/token.interface.js +2 -2
- package/esm2015/auth/lib/permissions.service.js +58 -58
- package/esm2015/auth/lib/providers/email.provider.js +26 -26
- package/esm2015/auth/lib/providers/verify.provider.js +20 -20
- package/esm2015/auth/lib/tokens/use-authorization.token.js +3 -3
- package/esm2015/auth/public_api.js +19 -19
- package/esm2015/bravobit-bb-foundation.js +4 -4
- package/esm2015/collections/bravobit-bb-foundation-collections.js +5 -0
- package/esm2015/collections/lib/collection.js +88 -0
- package/esm2015/collections/lib/collections.module.js +54 -0
- package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +136 -0
- package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +39 -0
- package/esm2015/collections/lib/components/collections.directive.js +43 -0
- package/esm2015/collections/lib/interfaces/collection.interface.js +2 -0
- package/esm2015/collections/lib/providers/api-collection.provider.js +69 -0
- package/esm2015/collections/lib/providers/collection.provider.js +14 -0
- package/esm2015/collections/lib/providers/local-collection.provider.js +16 -0
- package/esm2015/collections/public_api.js +10 -0
- package/esm2015/dashboard/bravobit-bb-foundation-dashboard.js +4 -4
- package/esm2015/dashboard/lib/dashboard/dashboard.component.js +64 -64
- package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +41 -41
- package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +39 -39
- package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +38 -38
- package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +83 -83
- package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +110 -110
- package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +71 -71
- package/esm2015/dashboard/lib/dashboard.module.js +47 -47
- package/esm2015/dashboard/public_api.js +9 -9
- package/esm2015/dialog/bravobit-bb-foundation-dialog.js +4 -4
- package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +20 -20
- package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +45 -45
- package/esm2015/dialog/lib/dialog-container/dialog-container.component.js +162 -162
- package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +33 -33
- package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +19 -19
- package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +54 -54
- package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +143 -143
- package/esm2015/dialog/lib/dialog.injector.js +18 -18
- package/esm2015/dialog/lib/dialog.insertion.js +16 -16
- package/esm2015/dialog/lib/dialog.interfaces.js +3 -3
- package/esm2015/dialog/lib/dialog.module.js +74 -74
- package/esm2015/dialog/lib/dialog.ref.js +22 -22
- package/esm2015/dialog/lib/dialog.service.js +77 -77
- package/esm2015/dialog/public_api.js +10 -10
- package/esm2015/elements/bravobit-bb-foundation-elements.js +4 -4
- package/esm2015/elements/lib/avatar/avatar.component.js +151 -151
- package/esm2015/elements/lib/button/button.component.js +79 -79
- package/esm2015/elements/lib/checkbox/checkbox.component.js +83 -83
- package/esm2015/elements/lib/date-picker/date-picker.component.js +322 -322
- package/esm2015/elements/lib/directives/addon.directive.js +29 -29
- package/esm2015/elements/lib/directives/autosize.directive.js +74 -74
- package/esm2015/elements/lib/directives/focus-trap.directive.js +77 -77
- package/esm2015/elements/lib/directives/focus.directive.js +39 -39
- package/esm2015/elements/lib/directives/form-submit.directive.js +53 -53
- package/esm2015/elements/lib/directives/input.directive.js +139 -139
- package/esm2015/elements/lib/directives/template.directive.js +28 -28
- package/esm2015/elements/lib/dropdown/dropdown.component.js +111 -111
- package/esm2015/elements/lib/elements.interfaces.js +4 -4
- package/esm2015/elements/lib/elements.module.js +177 -177
- package/esm2015/elements/lib/file-picker/file-picker.component.js +247 -247
- package/esm2015/elements/lib/form-control/form-control.component.js +58 -58
- package/esm2015/elements/lib/form-error/form-error.component.js +116 -116
- package/esm2015/elements/lib/form-group/form-group.component.js +27 -27
- package/esm2015/elements/lib/icon/icon.component.js +110 -110
- package/esm2015/elements/lib/image-picker/image-picker.component.js +119 -119
- package/esm2015/elements/lib/pipes/file-image.pipe.js +45 -45
- package/esm2015/elements/lib/pipes/file-size.pipe.js +28 -28
- package/esm2015/elements/lib/pipes/relative-time.pipe.js +96 -96
- package/esm2015/elements/lib/spinner/spinner.component.js +34 -34
- package/esm2015/elements/lib/tag/tag.component.js +26 -26
- package/esm2015/elements/public_api.js +26 -26
- package/esm2015/http/bravobit-bb-foundation-http.js +4 -4
- package/esm2015/http/lib/classes/http.config.js +31 -31
- package/esm2015/http/lib/classes/http.error.js +21 -21
- package/esm2015/http/lib/http.interfaces.js +2 -2
- package/esm2015/http/lib/http.module.js +43 -43
- package/esm2015/http/lib/interceptors/base-url.interceptor.js +52 -52
- package/esm2015/http/lib/interceptors/error.interceptor.js +33 -33
- package/esm2015/http/public_api.js +7 -7
- package/esm2015/lib/core/coercions/boolean-coercion.js +4 -4
- package/esm2015/lib/core/miscellaneous/regex.js +5 -5
- package/esm2015/lib/core/miscellaneous/validator.js +86 -86
- package/esm2015/lib/core/mixins/can-disable.js +16 -16
- package/esm2015/lib/core/mixins/can-hide-errors.js +16 -16
- package/esm2015/lib/core/mixins/can-load.js +16 -16
- package/esm2015/lib/core/mixins/constructor.js +2 -2
- package/esm2015/lib/core/mixins/has-error.js +16 -16
- package/esm2015/lib/core/mixins/is-focused.js +16 -16
- package/esm2015/lib/core/mixins/is-grouped.js +16 -16
- package/esm2015/lib/core/mixins/is-readonly.js +16 -16
- package/esm2015/lib/core/mixins/is-required.js +16 -16
- package/esm2015/lib/core/services/clipboard.service.js +72 -0
- package/esm2015/lib/core/services/exif.service.js +168 -168
- package/esm2015/lib/core/services/file-loader.service.js +90 -90
- package/esm2015/lib/core/services/image-converter.service.js +130 -130
- package/esm2015/lib/core/services/languages.service.js +74 -74
- package/esm2015/lib/core/services/network.service.js +56 -56
- package/esm2015/lib/core/services/patch.service.js +65 -65
- package/esm2015/lib/core/services/platform.service.js +42 -42
- package/esm2015/lib/core/tokens/accept-language.token.js +3 -3
- package/esm2015/lib/core/tokens/base-url.token.js +3 -3
- package/esm2015/lib/core/tokens/cookie.token.js +3 -3
- package/esm2015/lib/core/tokens/location.token.js +6 -6
- package/esm2015/lib/core/tokens/navigator.token.js +6 -6
- package/esm2015/lib/core/tokens/window.token.js +12 -12
- package/esm2015/localize/bravobit-bb-foundation-localize.js +4 -4
- package/esm2015/localize/lib/functions/date.function.js +18 -18
- package/esm2015/localize/lib/functions/lowercase.function.js +13 -13
- package/esm2015/localize/lib/functions/uppercase.function.js +13 -13
- package/esm2015/localize/lib/handlers/missing.handler.js +17 -17
- package/esm2015/localize/lib/interfaces/config.interfaces.js +10 -10
- package/esm2015/localize/lib/interfaces/dictionary.interfaces.js +8 -8
- package/esm2015/localize/lib/interfaces/functions.interfaces.js +8 -8
- package/esm2015/localize/lib/interfaces/handlers.interfaces.js +2 -2
- package/esm2015/localize/lib/interfaces/options.interfaces.js +6 -6
- package/esm2015/localize/lib/localizations/dutch.localization.js +53 -53
- package/esm2015/localize/lib/localizations/english.localization.js +53 -53
- package/esm2015/localize/lib/localize.dictionary.js +137 -137
- package/esm2015/localize/lib/localize.module.js +69 -69
- package/esm2015/localize/lib/localize.pipe.js +49 -49
- package/esm2015/localize/lib/localize.service.js +282 -282
- package/esm2015/localize/lib/views/localize-string/localize-string.component.js +99 -99
- package/esm2015/localize/lib/views/localize-template-or-string.directive.js +28 -28
- package/esm2015/localize/lib/views/localize-template.directive.js +21 -21
- package/esm2015/localize/public_api.js +18 -18
- package/esm2015/notifications/bravobit-bb-foundation-notifications.js +4 -4
- package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +108 -108
- package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +56 -56
- package/esm2015/notifications/lib/notifications.animations.js +28 -28
- package/esm2015/notifications/lib/notifications.injector.js +18 -18
- package/esm2015/notifications/lib/notifications.interfaces.js +20 -20
- package/esm2015/notifications/lib/notifications.module.js +31 -31
- package/esm2015/notifications/lib/notifications.service.js +145 -145
- package/esm2015/notifications/public_api.js +4 -4
- package/esm2015/public_api.js +30 -29
- package/esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js +4 -4
- package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +199 -199
- package/esm2015/recaptcha/lib/recaptcha-loader.service.js +93 -93
- package/esm2015/recaptcha/lib/recaptcha.interface.js +3 -3
- package/esm2015/recaptcha/lib/recaptcha.module.js +27 -27
- package/esm2015/recaptcha/public_api.js +5 -5
- package/esm2015/rxjs/bravobit-bb-foundation-rxjs.js +4 -4
- package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +7 -7
- package/esm2015/rxjs/lib/operators/filter-nil.operator.js +5 -5
- package/esm2015/rxjs/public_api.js +3 -3
- package/esm2015/storage/bravobit-bb-foundation-storage.js +4 -4
- package/esm2015/storage/lib/interfaces/attributes.interface.js +2 -2
- package/esm2015/storage/lib/interfaces/memory.interface.js +2 -2
- package/esm2015/storage/lib/interfaces/strategy.interface.js +2 -2
- package/esm2015/storage/lib/storage.service.js +111 -111
- package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +143 -143
- package/esm2015/storage/lib/strategies/memory-storage.strategy.js +56 -56
- package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +102 -102
- package/esm2015/storage/public_api.js +8 -8
- package/esm2015/table/bravobit-bb-foundation-table.js +4 -4
- package/esm2015/table/lib/components/table/table.component.js +183 -183
- package/esm2015/table/lib/components/table-cell/table-cell.component.js +19 -19
- package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +141 -141
- package/esm2015/table/lib/components/table-pager/table-pager.component.js +146 -146
- package/esm2015/table/lib/data/datasource.data.js +32 -32
- package/esm2015/table/lib/data/generic.data.js +73 -73
- package/esm2015/table/lib/interfaces/datasource.interface.js +2 -2
- package/esm2015/table/lib/interfaces/table.interfaces.js +2 -2
- package/esm2015/table/lib/table.module.js +39 -39
- package/esm2015/table/public_api.js +10 -10
- package/fesm2015/bravobit-bb-foundation-auth.js +915 -915
- package/fesm2015/bravobit-bb-foundation-auth.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-collections.js +447 -0
- package/fesm2015/bravobit-bb-foundation-collections.js.map +1 -0
- package/fesm2015/bravobit-bb-foundation-dashboard.js +434 -434
- package/fesm2015/bravobit-bb-foundation-dashboard.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dialog.js +603 -603
- package/fesm2015/bravobit-bb-foundation-dialog.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.js +2076 -2076
- package/fesm2015/bravobit-bb-foundation-elements.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.js +154 -154
- package/fesm2015/bravobit-bb-foundation-http.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-localize.js +796 -796
- package/fesm2015/bravobit-bb-foundation-localize.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-notifications.js +364 -364
- package/fesm2015/bravobit-bb-foundation-notifications.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.js +297 -297
- package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.js +7 -7
- package/fesm2015/bravobit-bb-foundation-rxjs.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.js +399 -399
- package/fesm2015/bravobit-bb-foundation-storage.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-table.js +578 -578
- package/fesm2015/bravobit-bb-foundation-table.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation.js +854 -785
- package/fesm2015/bravobit-bb-foundation.js.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/coercions/boolean-coercion.d.ts +1 -1
- 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 -0
- 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 +8 -8
- package/localize/lib/interfaces/dictionary.interfaces.d.ts +12 -12
- 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 +51 -51
- package/localize/lib/localizations/english.localization.d.ts +51 -51
- package/localize/lib/localize.dictionary.d.ts +24 -24
- package/localize/lib/localize.module.d.ts +18 -18
- package/localize/lib/localize.pipe.d.ts +12 -12
- package/localize/lib/localize.service.d.ts +51 -51
- 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 +17 -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 +5 -5
- package/public_api.d.ts +26 -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 +48 -48
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation.umd.js","sources":["../../../projects/bb-foundation/src/lib/core/services/platform.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/bb-foundation/src/lib/core/services/file-loader.service.ts","../../../projects/bb-foundation/src/lib/core/services/exif.service.ts","../../../projects/bb-foundation/src/lib/core/services/image-converter.service.ts","../../../projects/bb-foundation/src/lib/core/tokens/accept-language.token.ts","../../../projects/bb-foundation/src/lib/core/services/languages.service.ts","../../../projects/bb-foundation/src/lib/core/tokens/window.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/navigator.token.ts","../../../projects/bb-foundation/src/lib/core/services/network.service.ts","../../../projects/bb-foundation/src/lib/core/services/patch.service.ts","../../../projects/bb-foundation/src/lib/core/coercions/boolean-coercion.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-disable.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-load.ts","../../../projects/bb-foundation/src/lib/core/mixins/has-error.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-hide-errors.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-focused.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-grouped.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-readonly.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-required.ts","../../../projects/bb-foundation/src/lib/core/tokens/base-url.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/cookie.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/location.token.ts","../../../projects/bb-foundation/src/lib/core/miscellaneous/regex.ts","../../../projects/bb-foundation/src/lib/core/miscellaneous/validator.ts","../../../projects/bb-foundation/src/public_api.ts","../../../projects/bb-foundation/src/bravobit-bb-foundation.ts"],"sourcesContent":["import {Inject, Injectable, PLATFORM_ID} from '@angular/core';\r\nimport {isPlatformBrowser} from '@angular/common';\r\n\r\nlet hasV8BreakIterator: boolean;\r\ntry {\r\n hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\r\n} catch {\r\n hasV8BreakIterator = false;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Platform {\r\n\r\n constructor(@Inject(PLATFORM_ID) private _platformId: Object) {\r\n }\r\n\r\n // Browser check.\r\n isBrowser = this._platformId\r\n ? isPlatformBrowser(this._platformId)\r\n : typeof document === 'object' && !!document;\r\n\r\n // Is checks.\r\n isEdge = this.isBrowser && /(edge)/i.test(navigator.userAgent);\r\n isTrident = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\r\n isBlink = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) && typeof CSS !== 'undefined' && !this.isEdge && !this.isTrident);\r\n isWebkit = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.isBlink && !this.isEdge && !this.isTrident;\r\n isChrome = this.isBrowser && /Google Inc./.test(navigator.vendor);\r\n isFirefox = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\r\n isSafari = this.isBrowser && /safari/i.test(navigator.userAgent) && this.isWebkit;\r\n isAndroid = this.isBrowser && /android/i.test(navigator.userAgent) && !this.isTrident;\r\n isIos = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\r\n isDesktop = this.isBrowser && !(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/.test(navigator.userAgent));\r\n\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileLoader {\r\n\r\n fromDataUrl(value: string, name: string = 'file') {\r\n if (!value) {\r\n return null;\r\n }\r\n\r\n try {\r\n // Convert base64 to raw binary data held in a string.\r\n const byteString = window.atob(value.split(',')[1]);\r\n\r\n // Separate out the mime component.\r\n const mimeString = value\r\n .split(',')[0]\r\n .split(':')[1]\r\n .split(';')[0];\r\n\r\n // Write the bytes of the string to an ArrayBuffer.\r\n const arrayBuffer = new ArrayBuffer(byteString.length);\r\n const uint8Array = new Uint8Array(arrayBuffer);\r\n for (let index = 0; index < byteString.length; index++) {\r\n uint8Array[index] = byteString.charCodeAt(index);\r\n }\r\n\r\n const dataView = new DataView(arrayBuffer);\r\n const blob = new Blob([dataView.buffer], {type: mimeString});\r\n\r\n return this.createFile(blob, name);\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n asDataUrl(file: File | Blob) {\r\n return this.read<string>(file, 'dataurl');\r\n }\r\n\r\n asArrayBuffer(file: File | Blob) {\r\n return this.read<ArrayBuffer>(file, 'arraybuffer');\r\n }\r\n\r\n private async read<T = string | ArrayBuffer>(file: File | Blob, type: 'dataurl' | 'arraybuffer') {\r\n return new Promise<T>((resolve, reject) => {\r\n const isFileLike = this.isFile(file) || this.isBlob(file);\r\n if (!file || !isFileLike) {\r\n return reject('Invalid file');\r\n }\r\n\r\n const reader = new FileReader();\r\n reader.onerror = () => reject('Error file read');\r\n reader.onabort = () => reject('Abort file read');\r\n reader.onload = () => {\r\n const result = reader.result as unknown;\r\n return resolve(result as T);\r\n };\r\n\r\n if (type === 'dataurl') {\r\n reader.readAsDataURL(file);\r\n } else if (type === 'arraybuffer') {\r\n reader.readAsArrayBuffer(file);\r\n }\r\n });\r\n }\r\n\r\n private isFile = (input: unknown) => {\r\n return 'File' in window && input instanceof File;\r\n };\r\n\r\n private isBlob = (input: unknown) => {\r\n return 'Blob' in window && input instanceof Blob;\r\n };\r\n\r\n private createFile(blob: Blob, name: string) {\r\n if (!navigator.msSaveBlob) {\r\n return new File([blob], name, {lastModified: Date.now(), type: blob?.type});\r\n }\r\n\r\n const blobFile = new Blob([blob], {type: blob?.type});\r\n return this.blobToFile(blobFile, name);\r\n }\r\n\r\n private blobToFile = (blob: Blob, fileName: string) => {\r\n const anyBlob: any = blob;\r\n anyBlob.lastModifiedDate = new Date();\r\n anyBlob.name = fileName;\r\n return anyBlob as File;\r\n };\r\n\r\n}\r\n","import {FileLoader} from './file-loader.service';\r\nimport {Platform} from './platform.service';\r\nimport {Injectable} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Exif {\r\n\r\n constructor(private _platform: Platform,\r\n private _fileLoader: FileLoader) {\r\n }\r\n\r\n async strip(file: File, quality: number = 100) {\r\n // Validate we are on a browser.\r\n if (!this._platform.isBrowser) {\r\n return file;\r\n }\r\n\r\n // Validate the file exists and is\r\n // an instance of a File object.\r\n if (!file || !(file instanceof File)) {\r\n return file;\r\n }\r\n\r\n // Only jpeg images need correction.\r\n if (!['image/jpeg'].includes(file.type)) {\r\n return file;\r\n }\r\n\r\n try {\r\n // Read the file as an array buffer and data url.\r\n const arrayBuffer = await this._fileLoader.asArrayBuffer(file);\r\n const dataUrl = await this._fileLoader.asDataUrl(file);\r\n\r\n // Create an image element.\r\n const imageElement = await this.createImageElement(dataUrl);\r\n\r\n // Get the orientation by using the buffer.\r\n const orientation = this.getOrientation(arrayBuffer);\r\n\r\n // Transform the image to remove the orientation.\r\n const canvasType = this.getSupportedCanvasType(file.type);\r\n const imageUrl = this.transformImage(imageElement, canvasType, orientation, quality);\r\n\r\n // Validate the image url exists.\r\n if (!imageUrl) {\r\n return file;\r\n }\r\n\r\n // Transform the image url to a file.\r\n return this._fileLoader.fromDataUrl(imageUrl, file.name);\r\n } catch {\r\n // When something goes wrong we\r\n // just return the default file.\r\n return file;\r\n }\r\n }\r\n\r\n private async createImageElement(dataUrl: string) {\r\n return new Promise<HTMLImageElement>((resolve, reject) => {\r\n const image = new Image();\r\n image.src = dataUrl;\r\n image.onerror = () => reject('Error image create');\r\n image.onabort = () => reject('Abort image create');\r\n image.onload = () => resolve(image);\r\n });\r\n }\r\n\r\n private transformImage = (image: HTMLImageElement, type: string, orientation: number, quality: number = 100) => {\r\n // Create the canvas and context.\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n\r\n // Validate the context exists.\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n // Set the canvas size based on the image.\r\n const {width, height} = image;\r\n canvas.width = width;\r\n canvas.height = height;\r\n\r\n // Validate the orientation is correct\r\n // else flip the canvas sizes.\r\n if (4 < orientation && orientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n }\r\n\r\n // Transform the context based on the orientation.\r\n switch (orientation) {\r\n case 2:\r\n context.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n context.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n context.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n context.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n context.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n context.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n context.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n // Draw the image on the context and return the data URL.\r\n context.drawImage(image, 0, 0, width, height);\r\n return canvas.toDataURL(type, quality / 100);\r\n };\r\n\r\n private getSupportedCanvasType = (fileType: string) => {\r\n switch (fileType) {\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n return 'image/jpeg';\r\n case 'image/x-windows-bmp':\r\n case 'image/bmp':\r\n return 'image/bmp';\r\n default:\r\n return 'image/png';\r\n }\r\n };\r\n\r\n private getOrientation = (buffer: ArrayBuffer) => {\r\n // Create a new data view.\r\n const view = new DataView(buffer);\r\n\r\n if (view.getUint16(0, false) !== 0xFFD8) {\r\n return -2;\r\n }\r\n\r\n const length = view.byteLength;\r\n let offset = 2;\r\n\r\n while (offset < length) {\r\n if (view.getUint16(offset + 2, false) <= 8) {\r\n return -1;\r\n }\r\n\r\n const marker = view.getUint16(offset, false);\r\n offset += 2;\r\n\r\n if (marker === 0xFFE1) {\r\n if (view.getUint32(offset += 2, false) !== 0x45786966) {\r\n return -1;\r\n }\r\n\r\n const little = view.getUint16(offset += 6, false) === 0x4949;\r\n offset += view.getUint32(offset + 4, little);\r\n\r\n const tags = view.getUint16(offset, little);\r\n offset += 2;\r\n\r\n for (let index = 0; index < tags; index++) {\r\n if (view.getUint16(offset + index * 12, little) === 0x0112) {\r\n return view.getUint16(offset + index * 12 + 8, little);\r\n }\r\n }\r\n } else if ((marker & 0xFF00) !== 0xFF00) {\r\n break;\r\n } else {\r\n offset += view.getUint16(offset, false);\r\n }\r\n }\r\n\r\n return -1;\r\n };\r\n\r\n}\r\n","import {FileLoader} from './file-loader.service';\r\nimport {Platform} from './platform.service';\r\nimport {Injectable} from '@angular/core';\r\nimport {Exif} from './exif.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImageConverter {\r\n\r\n // Data.\r\n private readonly _types = ['image/png', 'image/jpeg'];\r\n\r\n constructor(private _exif: Exif,\r\n private _platform: Platform,\r\n private _fileLoader: FileLoader) {\r\n }\r\n\r\n async toDataUri(contents: string | File | HTMLImageElement, options: { width: number, height: number } | null = null) {\r\n // Check if the current platform is a browser.\r\n if (!this._platform.isBrowser) {\r\n return null;\r\n }\r\n\r\n // Get the image.\r\n const image = await this.getImage(contents);\r\n\r\n // Get the canvas width and height.\r\n const canvasWidth = options?.width || image?.width;\r\n const canvasHeight = options?.height || image?.height;\r\n\r\n // Get the canvas and context.\r\n const canvas = document.createElement('canvas');\r\n const context = canvas.getContext('2d');\r\n\r\n // Validate the context exists.\r\n if (!context) {\r\n return null;\r\n }\r\n\r\n // Set the width and height.\r\n canvas.width = canvasWidth;\r\n canvas.height = canvasHeight;\r\n\r\n // When the canvas sizes are 0 we have failed.\r\n if (canvas?.width === 0 && canvas?.height === 0) {\r\n return null;\r\n }\r\n\r\n // Check if dimensions where supplied, else create the image.\r\n if (!options) {\r\n // Draw the image.\r\n context.drawImage(image, 0, 0);\r\n\r\n // Convert the canvas to a data url.\r\n return canvas.toDataURL(this._types[0]);\r\n }\r\n\r\n // Get the dimensions and offsets.\r\n const {width, height, xOffset, yOffset} = this.calculateOffsetAndDimensions(image, canvasWidth, canvasHeight);\r\n\r\n // Draw the image.\r\n context.drawImage(image, 0, 0, image.width, image.height, xOffset, yOffset, width, height);\r\n\r\n // Convert the canvas to a data url.\r\n return canvas.toDataURL(this._types[0]);\r\n }\r\n\r\n async fileToImage(file: File, types: string[] = this._types) {\r\n // Check if the file matches an image.\r\n if (!types.includes(file.type)) {\r\n throw new Error('The selected file does not meet the required format.');\r\n }\r\n\r\n let stripped: File | null = null;\r\n try {\r\n stripped = await this._exif.strip(file, 90);\r\n } catch {\r\n // Do nothing.\r\n }\r\n\r\n // Ge the data uri.\r\n const dataUri = await this._fileLoader.asDataUrl(stripped ?? file);\r\n\r\n // Convert the data URI to a image element.\r\n return await this.stringToImage(dataUri);\r\n }\r\n\r\n stringToImage(src: string) {\r\n return new Promise<HTMLImageElement>((resolve, reject) => {\r\n const image = new Image();\r\n image.src = src;\r\n image.onload = () => resolve(image);\r\n image.onerror = error => reject(error);\r\n });\r\n }\r\n\r\n private async getImage(contents: string | File | HTMLImageElement) {\r\n // If the contents is already an HTML image element just return it.\r\n if (contents instanceof HTMLImageElement) {\r\n return contents;\r\n }\r\n\r\n // If the contents is a file convert it to an HTML image element.\r\n if (contents instanceof File) {\r\n return this.fileToImage(contents);\r\n }\r\n\r\n // If the contents is a string convert it to an HTML image element.\r\n return this.stringToImage(contents);\r\n }\r\n\r\n private calculateOffsetAndDimensions = (image: HTMLImageElement, canvasWidth: number, canvasHeight: number) => {\r\n const originalWidth = image.width;\r\n const originalHeight = image.height;\r\n\r\n const widthRatio = canvasWidth / originalWidth;\r\n const heightRatio = canvasHeight / originalHeight;\r\n\r\n let width: number;\r\n let height: number;\r\n\r\n if (originalWidth > originalHeight) {\r\n height = originalHeight * heightRatio;\r\n width = (originalWidth / originalHeight) * height;\r\n } else {\r\n width = originalWidth * widthRatio;\r\n height = (originalHeight / originalWidth) * width;\r\n }\r\n\r\n let xOffset = 0;\r\n let yOffset = 0;\r\n\r\n if (canvasHeight === height) {\r\n xOffset = -((width - canvasWidth) / 2);\r\n } else if (canvasWidth === width) {\r\n yOffset = -((height - canvasHeight) / 2);\r\n }\r\n\r\n return {xOffset, yOffset, width, height};\r\n };\r\n\r\n}\r\n","import {InjectionToken} from '@angular/core';\r\n\r\nexport const ACCEPT_LANGUAGE = new InjectionToken<string>('AcceptLanguage');\r\n","import {ACCEPT_LANGUAGE} from '../tokens/accept-language.token';\r\nimport {Inject, Injectable, Optional} from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Languages {\r\n\r\n // Data.\r\n private readonly _data: { code: string, script?: string, region?: string, quality: number }[] = [];\r\n\r\n constructor(@Optional() @Inject(ACCEPT_LANGUAGE) private _acceptLanguage?: string) {\r\n this._data = this.initialize();\r\n }\r\n\r\n get all() {\r\n return this._data;\r\n }\r\n\r\n private initialize() {\r\n // Get the languages.\r\n const data = this.getLanguages();\r\n\r\n // Parse all languages by using a regex.\r\n const strings = (data || '')\r\n .match(/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\\*)(;q=[0-1](\\.[0-9]+)?)?)*/g);\r\n\r\n // Get the content by parsing the strings.\r\n const content = strings.map(item => {\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n const bits = item.split(';');\r\n const ietf = bits[0].split('-');\r\n const hasScript = ietf.length === 3;\r\n\r\n return {\r\n code: ietf[0],\r\n script: hasScript ? ietf[1] : null,\r\n region: hasScript ? ietf[2] : ietf[1],\r\n quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0\r\n };\r\n });\r\n\r\n // Filter out all the empty items\r\n // and sort them by the quality.\r\n return content\r\n .filter(item => !!item)\r\n .sort((a, b) => b.quality - a.quality);\r\n }\r\n\r\n private getLanguages = () => {\r\n // If defined we must be in a server environment.\r\n if (this._acceptLanguage) {\r\n return this._acceptLanguage;\r\n }\r\n\r\n // Try to get the languages from the navigator.\r\n if (typeof navigator !== 'object') {\r\n return null;\r\n }\r\n\r\n let t = 'anguage';\r\n let n = navigator;\r\n let f = n['l' + t + 's'];\r\n\r\n const data = f && f.length ? f : (t = n['l' + t] ||\r\n n['browserL' + t] ||\r\n n['userL' + t]) ? [t] : t;\r\n\r\n return typeof data === 'string'\r\n ? data\r\n : data.join(';');\r\n };\r\n\r\n}\r\n","import {inject, InjectionToken} from '@angular/core';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\nexport const WINDOW = new InjectionToken<Window>(\r\n 'An abstraction over global window object',\r\n {\r\n factory: () => {\r\n const {defaultView} = inject(DOCUMENT);\r\n\r\n if (!defaultView) {\r\n throw new Error('Window is not available');\r\n }\r\n\r\n return defaultView;\r\n }\r\n }\r\n);","import {inject, InjectionToken} from '@angular/core';\r\nimport {WINDOW} from './window.token';\r\n\r\nexport const NAVIGATOR = new InjectionToken<Navigator>(\r\n 'An abstraction over window.navigator object',\r\n {\r\n factory: () => inject(WINDOW).navigator\r\n }\r\n);","import {distinctUntilChanged, map, mapTo, shareReplay} from 'rxjs/operators';\r\nimport {Inject, Injectable, Optional} from '@angular/core';\r\nimport {fromEvent, merge, Observable, of} from 'rxjs';\r\nimport {NAVIGATOR} from '../tokens/navigator.token';\r\nimport {WINDOW} from '../tokens/window.token';\r\nimport {Platform} from './platform.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Network {\r\n\r\n // Data.\r\n private _online$: Observable<boolean> = of(true);\r\n\r\n constructor(private _platform: Platform,\r\n @Optional() @Inject(WINDOW) private _window: any,\r\n @Optional() @Inject(NAVIGATOR) private _navigator: any) {\r\n this.getOnlineObservable();\r\n }\r\n\r\n online() {\r\n return this._online$;\r\n }\r\n\r\n private getOnlineObservable() {\r\n // Validate we are on a browser.\r\n if (!this._platform.isBrowser) {\r\n return;\r\n }\r\n\r\n // Get all the events from the window.\r\n const online$ = fromEvent(this._window, 'online').pipe(mapTo(true));\r\n const offline$ = fromEvent(this._window, 'offline').pipe(mapTo(false));\r\n const now$ = new Observable(subscriber => {\r\n subscriber.next(this._navigator?.onLine);\r\n subscriber.complete();\r\n });\r\n\r\n // Merge all event so we get notified when\r\n // a user is online/offline.\r\n this._online$ = merge(now$, online$, offline$).pipe(\r\n map(value => value as boolean),\r\n distinctUntilChanged(),\r\n shareReplay(1)\r\n );\r\n }\r\n\r\n}\r\n","import {Inject, Injectable, OnDestroy, Optional} from '@angular/core';\r\nimport {debounceTime, startWith} from 'rxjs/operators';\r\nimport {WINDOW} from '../tokens/window.token';\r\nimport {fromEvent, Subscription} from 'rxjs';\r\nimport {Platform} from './platform.service';\r\nimport {DOCUMENT} from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Patch implements OnDestroy {\r\n\r\n private _hasPatchedMobileVerticalHeight: boolean = false;\r\n\r\n // Subscriptions.\r\n private _subscription = new Subscription();\r\n\r\n constructor(private _platform: Platform,\r\n @Optional() @Inject(WINDOW) private _window: any,\r\n @Optional() @Inject(DOCUMENT) private _document: any) {\r\n }\r\n\r\n mobileVerticalHeight() {\r\n // Check if the user has already patched\r\n // the mobile vertical height.\r\n if (this._hasPatchedMobileVerticalHeight) {\r\n return;\r\n }\r\n\r\n this.periodicallySetDocumentVerticalProperty();\r\n this._hasPatchedMobileVerticalHeight = true;\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subscription?.unsubscribe();\r\n }\r\n\r\n private periodicallySetDocumentVerticalProperty() {\r\n // Validate we are using a browser.\r\n if (!this._platform.isBrowser) {\r\n return;\r\n }\r\n\r\n // Listen to a debounced window resize event.\r\n const resize$ = fromEvent(this._window, 'resize').pipe(\r\n debounceTime(25),\r\n startWith(0)\r\n );\r\n\r\n // Subscribe to the resize observable.\r\n const subscription = resize$.subscribe(() => {\r\n const verticalHeight = this._window?.innerHeight * 0.01;\r\n this._document?.documentElement?.style?.setProperty('--vh', `${verticalHeight}px`);\r\n });\r\n\r\n // Save the subscription so we can destroy it later.\r\n this._subscription.add(subscription);\r\n }\r\n\r\n}\r\n","export function coerceBooleanProperty(value: any): boolean {\r\n return value != null && `${value}` !== 'false';\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface CanDisable {\r\n disabled: boolean;\r\n}\r\n\r\nexport type CanDisableConstructor = Constructor<CanDisable>;\r\n\r\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableConstructor & T {\r\n return class extends base {\r\n\r\n private _disable: boolean = false;\r\n\r\n get disabled() {\r\n return this._disable;\r\n }\r\n\r\n set disabled(value: any) {\r\n this._disable = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface CanLoad {\r\n loading: boolean;\r\n}\r\n\r\nexport type CanLoadConstructor = Constructor<CanLoad>;\r\n\r\nexport function mixinLoad<T extends Constructor<{}>>(base: T): CanLoadConstructor & T {\r\n return class extends base {\r\n\r\n private _loading: boolean = false;\r\n\r\n get loading() {\r\n return this._loading;\r\n }\r\n\r\n set loading(value: any) {\r\n this._loading = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface HasError {\r\n error: boolean;\r\n}\r\n\r\nexport type HasErrorConstructor = Constructor<HasError>;\r\n\r\nexport function mixinError<T extends Constructor<{}>>(base: T): HasErrorConstructor & T {\r\n return class extends base {\r\n\r\n private _error: boolean = false;\r\n\r\n get error() {\r\n return this._error;\r\n }\r\n\r\n set error(value: any) {\r\n this._error = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface CanHideErrors {\r\n hideErrors: boolean;\r\n}\r\n\r\nexport type CanHideErrorsConstructor = Constructor<CanHideErrors>;\r\n\r\nexport function mixinHideErrors<T extends Constructor<{}>>(base: T): CanHideErrorsConstructor & T {\r\n return class extends base {\r\n\r\n private _hideErrors: boolean = false;\r\n\r\n get hideErrors() {\r\n return this._hideErrors;\r\n }\r\n\r\n set hideErrors(value: any) {\r\n this._hideErrors = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface IsFocused {\r\n focused: boolean;\r\n}\r\n\r\nexport type IsFocusedConstructor = Constructor<IsFocused>;\r\n\r\nexport function mixinFocused<T extends Constructor<{}>>(base: T): IsFocusedConstructor & T {\r\n return class extends base {\r\n\r\n private _focused: boolean = false;\r\n\r\n get focused() {\r\n return this._focused;\r\n }\r\n\r\n set focused(value: any) {\r\n this._focused = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface IsGrouped {\r\n grouped: boolean;\r\n}\r\n\r\nexport type IsGroupedConstructor = Constructor<IsGrouped>;\r\n\r\nexport function mixinGrouped<T extends Constructor<{}>>(base: T): IsGroupedConstructor & T {\r\n return class extends base {\r\n\r\n private _grouped: boolean = false;\r\n\r\n get grouped() {\r\n return this._grouped;\r\n }\r\n\r\n set grouped(value: any) {\r\n this._grouped = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface IsReadonly {\r\n readonly: boolean;\r\n}\r\n\r\nexport type IsReadonlyConstructor = Constructor<IsReadonly>;\r\n\r\nexport function mixinReadonly<T extends Constructor<{}>>(base: T): IsReadonlyConstructor & T {\r\n return class extends base {\r\n\r\n private _readonly: boolean = false;\r\n\r\n get readonly() {\r\n return this._readonly;\r\n }\r\n\r\n set readonly(value: any) {\r\n this._readonly = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\r\nimport {Constructor} from './constructor';\r\n\r\nexport interface IsRequired {\r\n required: boolean;\r\n}\r\n\r\nexport type IsRequiredConstructor = Constructor<IsRequired>;\r\n\r\nexport function mixinRequired<T extends Constructor<{}>>(base: T): IsRequiredConstructor & T {\r\n return class extends base {\r\n\r\n private _required: boolean = false;\r\n\r\n get required() {\r\n return this._required;\r\n }\r\n\r\n set required(value: any) {\r\n this._required = coerceBooleanProperty(value);\r\n }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n }\r\n\r\n };\r\n}\r\n","import {InjectionToken} from '@angular/core';\r\n\r\nexport const BASE_URL = new InjectionToken<string>('BaseUrl');\r\n","import {InjectionToken} from '@angular/core';\r\n\r\nexport const COOKIE = new InjectionToken<string>('Cookie');\r\n","import {inject, InjectionToken} from '@angular/core';\r\nimport {WINDOW} from './window.token';\r\n\r\nexport const LOCATION = new InjectionToken<Location>(\r\n 'An abstraction over window.location object',\r\n {\r\n factory: () => inject(WINDOW).location\r\n }\r\n);","export const BbRegex = {\r\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n fullNumber: /^\\d*[1-9]\\d*$/\r\n};\r\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\r\nimport {formatDate} from '@angular/common';\r\nimport {BbRegex} from './regex';\r\n\r\nexport class BbValidator {\r\n\r\n static email(control: AbstractControl) {\r\n if (isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n return BbRegex.email.test(control.value) ? null : {email: true};\r\n }\r\n\r\n static fullNumber(control: AbstractControl) {\r\n if (isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n return BbRegex.fullNumber.test(control.value) ? null : {fullNumber: true};\r\n }\r\n\r\n static maxFileSize(bytes: number) {\r\n const validator: ValidatorFn = (control: AbstractControl) => {\r\n const value = control.value;\r\n\r\n // Validate if the value is a file.\r\n if (!(value instanceof File)) {\r\n return null;\r\n }\r\n\r\n if (value.size <= bytes) {\r\n return null;\r\n }\r\n\r\n let maxSize = '0 Bytes';\r\n if (bytes !== 0) {\r\n const k = 1024;\r\n const dm = 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const index = Math.floor(Math.log(bytes) / Math.log(k));\r\n maxSize = parseFloat((bytes / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];\r\n }\r\n\r\n return {maxFileSize: {maxSize}};\r\n };\r\n return validator;\r\n }\r\n\r\n static confirm(fieldName: string, error: string = 'confirm') {\r\n const validator: ValidatorFn = (control: AbstractControl) => {\r\n if (isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n const field = control?.parent?.get(fieldName);\r\n\r\n return control?.value === field?.value\r\n ? null\r\n : {[error]: true};\r\n };\r\n return validator;\r\n }\r\n\r\n static maxDate(date: Date, error: string = 'maxDate') {\r\n const formattedDate = date.toString() !== 'Invalid Date'\r\n ? formatDate(date, 'yyyy-MM-dd', 'en-US')\r\n : null;\r\n\r\n const validator: ValidatorFn = (control: AbstractControl) => {\r\n if (isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n const controlDate = new Date(control.value);\r\n\r\n return controlDate.getTime() > date.getTime()\r\n ? {[error]: {date: formattedDate}}\r\n : null;\r\n };\r\n return validator;\r\n }\r\n\r\n static minDate(date: Date, error: string = 'minDate') {\r\n const formattedDate = date.toString() !== 'Invalid Date'\r\n ? formatDate(date, 'yyyy-MM-dd', 'en-US')\r\n : null;\r\n\r\n const validator: ValidatorFn = (control: AbstractControl) => {\r\n if (isEmptyInputValue(control.value)) {\r\n return null;\r\n }\r\n\r\n const controlDate = new Date(control.value);\r\n\r\n return controlDate.getTime() < date.getTime()\r\n ? {[error]: {date: formattedDate}}\r\n : null;\r\n };\r\n return validator;\r\n }\r\n\r\n}\r\n\r\nfunction isEmptyInputValue(value: any) {\r\n // We don't check for string here so it also works with arrays.\r\n return value == null || value.length === 0;\r\n}\r\n","/*\r\n * Public API Surface of bb-foundation\r\n */\r\n\r\nexport * from './lib/core/services/platform.service';\r\nexport * from './lib/core/services/image-converter.service';\r\nexport * from './lib/core/services/file-loader.service';\r\nexport * from './lib/core/services/languages.service';\r\nexport * from './lib/core/services/network.service';\r\nexport * from './lib/core/services/patch.service';\r\nexport * from './lib/core/services/exif.service';\r\n\r\nexport * from './lib/core/mixins/constructor';\r\nexport * from './lib/core/mixins/can-disable';\r\nexport * from './lib/core/mixins/can-load';\r\nexport * from './lib/core/mixins/has-error';\r\nexport * from './lib/core/mixins/can-hide-errors';\r\nexport * from './lib/core/mixins/is-focused';\r\nexport * from './lib/core/mixins/is-grouped';\r\nexport * from './lib/core/mixins/is-readonly';\r\nexport * from './lib/core/mixins/is-required';\r\n\r\nexport * from './lib/core/tokens/base-url.token';\r\nexport * from './lib/core/tokens/accept-language.token';\r\nexport * from './lib/core/tokens/cookie.token';\r\nexport * from './lib/core/tokens/window.token';\r\nexport * from './lib/core/tokens/navigator.token';\r\nexport * from './lib/core/tokens/location.token';\r\n\r\nexport * from './lib/core/coercions/boolean-coercion';\r\n\r\nexport * from './lib/core/miscellaneous/regex';\r\nexport * from './lib/core/miscellaneous/validator';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isPlatformBrowser","PLATFORM_ID","Injectable","Inject","InjectionToken","Optional","inject","DOCUMENT","of","fromEvent","mapTo","Observable","merge","map","distinctUntilChanged","shareReplay","Subscription","debounceTime","startWith","formatDate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation.umd.js","sources":["../../../projects/bb-foundation/src/lib/core/services/platform.service.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/bb-foundation/src/lib/core/services/file-loader.service.ts","../../../projects/bb-foundation/src/lib/core/services/exif.service.ts","../../../projects/bb-foundation/src/lib/core/services/image-converter.service.ts","../../../projects/bb-foundation/src/lib/core/tokens/accept-language.token.ts","../../../projects/bb-foundation/src/lib/core/services/languages.service.ts","../../../projects/bb-foundation/src/lib/core/tokens/window.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/navigator.token.ts","../../../projects/bb-foundation/src/lib/core/services/network.service.ts","../../../projects/bb-foundation/src/lib/core/services/patch.service.ts","../../../projects/bb-foundation/src/lib/core/services/clipboard.service.ts","../../../projects/bb-foundation/src/lib/core/coercions/boolean-coercion.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-disable.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-load.ts","../../../projects/bb-foundation/src/lib/core/mixins/has-error.ts","../../../projects/bb-foundation/src/lib/core/mixins/can-hide-errors.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-focused.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-grouped.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-readonly.ts","../../../projects/bb-foundation/src/lib/core/mixins/is-required.ts","../../../projects/bb-foundation/src/lib/core/tokens/base-url.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/cookie.token.ts","../../../projects/bb-foundation/src/lib/core/tokens/location.token.ts","../../../projects/bb-foundation/src/lib/core/miscellaneous/regex.ts","../../../projects/bb-foundation/src/lib/core/miscellaneous/validator.ts","../../../projects/bb-foundation/src/public_api.ts","../../../projects/bb-foundation/src/bravobit-bb-foundation.ts"],"sourcesContent":["import {Inject, Injectable, PLATFORM_ID} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\n\nlet hasV8BreakIterator: boolean;\ntry {\n hasV8BreakIterator = (typeof Intl !== 'undefined' && (Intl as any).v8BreakIterator);\n} catch {\n hasV8BreakIterator = false;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Platform {\n\n constructor(@Inject(PLATFORM_ID) private _platformId: Object) {\n }\n\n // Browser check.\n isBrowser = this._platformId\n ? isPlatformBrowser(this._platformId)\n : typeof document === 'object' && !!document;\n\n // Is checks.\n isEdge = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n isTrident = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n isBlink = this.isBrowser && (!!((window as any).chrome || hasV8BreakIterator) && typeof CSS !== 'undefined' && !this.isEdge && !this.isTrident);\n isWebkit = this.isBrowser && /AppleWebKit/i.test(navigator.userAgent) && !this.isBlink && !this.isEdge && !this.isTrident;\n isChrome = this.isBrowser && /Google Inc./.test(navigator.vendor);\n isFirefox = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n isSafari = this.isBrowser && /safari/i.test(navigator.userAgent) && this.isWebkit;\n isAndroid = this.isBrowser && /android/i.test(navigator.userAgent) && !this.isTrident;\n isIos = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) && !('MSStream' in window);\n isDesktop = this.isBrowser && !(/(iPhone|iPod|iPad|Android|BlackBerry|IEMobile)/.test(navigator.userAgent));\n\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileLoader {\n\n fromDataUrl(value: string, name: string = 'file') {\n if (!value) {\n return null;\n }\n\n try {\n // Convert base64 to raw binary data held in a string.\n const byteString = window.atob(value.split(',')[1]);\n\n // Separate out the mime component.\n const mimeString = value\n .split(',')[0]\n .split(':')[1]\n .split(';')[0];\n\n // Write the bytes of the string to an ArrayBuffer.\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const uint8Array = new Uint8Array(arrayBuffer);\n for (let index = 0; index < byteString.length; index++) {\n uint8Array[index] = byteString.charCodeAt(index);\n }\n\n const dataView = new DataView(arrayBuffer);\n const blob = new Blob([dataView.buffer], {type: mimeString});\n\n return this.createFile(blob, name);\n } catch {\n return null;\n }\n }\n\n asDataUrl(file: File | Blob) {\n return this.read<string>(file, 'dataurl');\n }\n\n asArrayBuffer(file: File | Blob) {\n return this.read<ArrayBuffer>(file, 'arraybuffer');\n }\n\n private async read<T = string | ArrayBuffer>(file: File | Blob, type: 'dataurl' | 'arraybuffer') {\n return new Promise<T>((resolve, reject) => {\n const isFileLike = this.isFile(file) || this.isBlob(file);\n if (!file || !isFileLike) {\n return reject('Invalid file');\n }\n\n const reader = new FileReader();\n reader.onerror = () => reject('Error file read');\n reader.onabort = () => reject('Abort file read');\n reader.onload = () => {\n const result = reader.result as unknown;\n return resolve(result as T);\n };\n\n if (type === 'dataurl') {\n reader.readAsDataURL(file);\n } else if (type === 'arraybuffer') {\n reader.readAsArrayBuffer(file);\n }\n });\n }\n\n private isFile = (input: unknown) => {\n return 'File' in window && input instanceof File;\n };\n\n private isBlob = (input: unknown) => {\n return 'Blob' in window && input instanceof Blob;\n };\n\n private createFile(blob: Blob, name: string) {\n if (!navigator.msSaveBlob) {\n return new File([blob], name, {lastModified: Date.now(), type: blob?.type});\n }\n\n const blobFile = new Blob([blob], {type: blob?.type});\n return this.blobToFile(blobFile, name);\n }\n\n private blobToFile = (blob: Blob, fileName: string) => {\n const anyBlob: any = blob;\n anyBlob.lastModifiedDate = new Date();\n anyBlob.name = fileName;\n return anyBlob as File;\n };\n\n}\n","import {FileLoader} from './file-loader.service';\nimport {Platform} from './platform.service';\nimport {Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Exif {\n\n constructor(private _platform: Platform,\n private _fileLoader: FileLoader) {\n }\n\n async strip(file: File, quality: number = 100) {\n // Validate we are on a browser.\n if (!this._platform.isBrowser) {\n return file;\n }\n\n // Validate the file exists and is\n // an instance of a File object.\n if (!file || !(file instanceof File)) {\n return file;\n }\n\n // Only jpeg images need correction.\n if (!['image/jpeg'].includes(file.type)) {\n return file;\n }\n\n try {\n // Read the file as an array buffer and data url.\n const arrayBuffer = await this._fileLoader.asArrayBuffer(file);\n const dataUrl = await this._fileLoader.asDataUrl(file);\n\n // Create an image element.\n const imageElement = await this.createImageElement(dataUrl);\n\n // Get the orientation by using the buffer.\n const orientation = this.getOrientation(arrayBuffer);\n\n // Transform the image to remove the orientation.\n const canvasType = this.getSupportedCanvasType(file.type);\n const imageUrl = this.transformImage(imageElement, canvasType, orientation, quality);\n\n // Validate the image url exists.\n if (!imageUrl) {\n return file;\n }\n\n // Transform the image url to a file.\n return this._fileLoader.fromDataUrl(imageUrl, file.name);\n } catch {\n // When something goes wrong we\n // just return the default file.\n return file;\n }\n }\n\n private async createImageElement(dataUrl: string) {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image();\n image.src = dataUrl;\n image.onerror = () => reject('Error image create');\n image.onabort = () => reject('Abort image create');\n image.onload = () => resolve(image);\n });\n }\n\n private transformImage = (image: HTMLImageElement, type: string, orientation: number, quality: number = 100) => {\n // Create the canvas and context.\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n // Validate the context exists.\n if (!context) {\n return null;\n }\n\n // Set the canvas size based on the image.\n const {width, height} = image;\n canvas.width = width;\n canvas.height = height;\n\n // Validate the orientation is correct\n // else flip the canvas sizes.\n if (4 < orientation && orientation < 9) {\n canvas.width = height;\n canvas.height = width;\n }\n\n // Transform the context based on the orientation.\n switch (orientation) {\n case 2:\n context.transform(-1, 0, 0, 1, width, 0);\n break;\n case 3:\n context.transform(-1, 0, 0, -1, width, height);\n break;\n case 4:\n context.transform(1, 0, 0, -1, 0, height);\n break;\n case 5:\n context.transform(0, 1, 1, 0, 0, 0);\n break;\n case 6:\n context.transform(0, 1, -1, 0, height, 0);\n break;\n case 7:\n context.transform(0, -1, -1, 0, height, width);\n break;\n case 8:\n context.transform(0, -1, 1, 0, 0, width);\n break;\n default:\n break;\n }\n\n // Draw the image on the context and return the data URL.\n context.drawImage(image, 0, 0, width, height);\n return canvas.toDataURL(type, quality / 100);\n };\n\n private getSupportedCanvasType = (fileType: string) => {\n switch (fileType) {\n case 'image/jpeg':\n case 'image/jpg':\n return 'image/jpeg';\n case 'image/x-windows-bmp':\n case 'image/bmp':\n return 'image/bmp';\n default:\n return 'image/png';\n }\n };\n\n private getOrientation = (buffer: ArrayBuffer) => {\n // Create a new data view.\n const view = new DataView(buffer);\n\n if (view.getUint16(0, false) !== 0xFFD8) {\n return -2;\n }\n\n const length = view.byteLength;\n let offset = 2;\n\n while (offset < length) {\n if (view.getUint16(offset + 2, false) <= 8) {\n return -1;\n }\n\n const marker = view.getUint16(offset, false);\n offset += 2;\n\n if (marker === 0xFFE1) {\n if (view.getUint32(offset += 2, false) !== 0x45786966) {\n return -1;\n }\n\n const little = view.getUint16(offset += 6, false) === 0x4949;\n offset += view.getUint32(offset + 4, little);\n\n const tags = view.getUint16(offset, little);\n offset += 2;\n\n for (let index = 0; index < tags; index++) {\n if (view.getUint16(offset + index * 12, little) === 0x0112) {\n return view.getUint16(offset + index * 12 + 8, little);\n }\n }\n } else if ((marker & 0xFF00) !== 0xFF00) {\n break;\n } else {\n offset += view.getUint16(offset, false);\n }\n }\n\n return -1;\n };\n\n}\n","import {FileLoader} from './file-loader.service';\nimport {Platform} from './platform.service';\nimport {Injectable} from '@angular/core';\nimport {Exif} from './exif.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImageConverter {\n\n // Data.\n private readonly _types = ['image/png', 'image/jpeg'];\n\n constructor(private _exif: Exif,\n private _platform: Platform,\n private _fileLoader: FileLoader) {\n }\n\n async toDataUri(contents: string | File | HTMLImageElement, options: { width: number, height: number } | null = null) {\n // Check if the current platform is a browser.\n if (!this._platform.isBrowser) {\n return null;\n }\n\n // Get the image.\n const image = await this.getImage(contents);\n\n // Get the canvas width and height.\n const canvasWidth = options?.width || image?.width;\n const canvasHeight = options?.height || image?.height;\n\n // Get the canvas and context.\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n // Validate the context exists.\n if (!context) {\n return null;\n }\n\n // Set the width and height.\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n\n // When the canvas sizes are 0 we have failed.\n if (canvas?.width === 0 && canvas?.height === 0) {\n return null;\n }\n\n // Check if dimensions where supplied, else create the image.\n if (!options) {\n // Draw the image.\n context.drawImage(image, 0, 0);\n\n // Convert the canvas to a data url.\n return canvas.toDataURL(this._types[0]);\n }\n\n // Get the dimensions and offsets.\n const {width, height, xOffset, yOffset} = this.calculateOffsetAndDimensions(image, canvasWidth, canvasHeight);\n\n // Draw the image.\n context.drawImage(image, 0, 0, image.width, image.height, xOffset, yOffset, width, height);\n\n // Convert the canvas to a data url.\n return canvas.toDataURL(this._types[0]);\n }\n\n async fileToImage(file: File, types: string[] = this._types) {\n // Check if the file matches an image.\n if (!types.includes(file.type)) {\n throw new Error('The selected file does not meet the required format.');\n }\n\n let stripped: File | null = null;\n try {\n stripped = await this._exif.strip(file, 90);\n } catch {\n // Do nothing.\n }\n\n // Ge the data uri.\n const dataUri = await this._fileLoader.asDataUrl(stripped ?? file);\n\n // Convert the data URI to a image element.\n return await this.stringToImage(dataUri);\n }\n\n stringToImage(src: string) {\n return new Promise<HTMLImageElement>((resolve, reject) => {\n const image = new Image();\n image.src = src;\n image.onload = () => resolve(image);\n image.onerror = error => reject(error);\n });\n }\n\n private async getImage(contents: string | File | HTMLImageElement) {\n // If the contents is already an HTML image element just return it.\n if (contents instanceof HTMLImageElement) {\n return contents;\n }\n\n // If the contents is a file convert it to an HTML image element.\n if (contents instanceof File) {\n return this.fileToImage(contents);\n }\n\n // If the contents is a string convert it to an HTML image element.\n return this.stringToImage(contents);\n }\n\n private calculateOffsetAndDimensions = (image: HTMLImageElement, canvasWidth: number, canvasHeight: number) => {\n const originalWidth = image.width;\n const originalHeight = image.height;\n\n const widthRatio = canvasWidth / originalWidth;\n const heightRatio = canvasHeight / originalHeight;\n\n let width: number;\n let height: number;\n\n if (originalWidth > originalHeight) {\n height = originalHeight * heightRatio;\n width = (originalWidth / originalHeight) * height;\n } else {\n width = originalWidth * widthRatio;\n height = (originalHeight / originalWidth) * width;\n }\n\n let xOffset = 0;\n let yOffset = 0;\n\n if (canvasHeight === height) {\n xOffset = -((width - canvasWidth) / 2);\n } else if (canvasWidth === width) {\n yOffset = -((height - canvasHeight) / 2);\n }\n\n return {xOffset, yOffset, width, height};\n };\n\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const ACCEPT_LANGUAGE = new InjectionToken<string>('AcceptLanguage');\n","import {ACCEPT_LANGUAGE} from '../tokens/accept-language.token';\nimport {Inject, Injectable, Optional} from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Languages {\n\n // Data.\n private readonly _data: { code: string, script?: string, region?: string, quality: number }[] = [];\n\n constructor(@Optional() @Inject(ACCEPT_LANGUAGE) private _acceptLanguage?: string) {\n this._data = this.initialize();\n }\n\n get all() {\n return this._data;\n }\n\n private initialize() {\n // Get the languages.\n const data = this.getLanguages();\n\n // Parse all languages by using a regex.\n const strings = (data || '')\n .match(/((([a-zA-Z]+(-[a-zA-Z0-9]+){0,2})|\\*)(;q=[0-1](\\.[0-9]+)?)?)*/g);\n\n // Get the content by parsing the strings.\n const content = strings.map(item => {\n if (!item) {\n return null;\n }\n\n const bits = item.split(';');\n const ietf = bits[0].split('-');\n const hasScript = ietf.length === 3;\n\n return {\n code: ietf[0],\n script: hasScript ? ietf[1] : null,\n region: hasScript ? ietf[2] : ietf[1],\n quality: bits[1] ? parseFloat(bits[1].split('=')[1]) : 1.0\n };\n });\n\n // Filter out all the empty items\n // and sort them by the quality.\n return content\n .filter(item => !!item)\n .sort((a, b) => b.quality - a.quality);\n }\n\n private getLanguages = () => {\n // If defined we must be in a server environment.\n if (this._acceptLanguage) {\n return this._acceptLanguage;\n }\n\n // Try to get the languages from the navigator.\n if (typeof navigator !== 'object') {\n return null;\n }\n\n let t = 'anguage';\n let n = navigator;\n let f = n['l' + t + 's'];\n\n const data = f && f.length ? f : (t = n['l' + t] ||\n n['browserL' + t] ||\n n['userL' + t]) ? [t] : t;\n\n return typeof data === 'string'\n ? data\n : data.join(';');\n };\n\n}\n","import {inject, InjectionToken} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nexport const WINDOW = new InjectionToken<Window>(\n 'An abstraction over global window object',\n {\n factory: () => {\n const {defaultView} = inject(DOCUMENT);\n\n if (!defaultView) {\n throw new Error('Window is not available');\n }\n\n return defaultView;\n }\n }\n);","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from './window.token';\n\nexport const NAVIGATOR = new InjectionToken<Navigator>(\n 'An abstraction over window.navigator object',\n {\n factory: () => inject(WINDOW).navigator\n }\n);","import {distinctUntilChanged, map, mapTo, shareReplay} from 'rxjs/operators';\nimport {Inject, Injectable, Optional} from '@angular/core';\nimport {fromEvent, merge, Observable, of} from 'rxjs';\nimport {NAVIGATOR} from '../tokens/navigator.token';\nimport {WINDOW} from '../tokens/window.token';\nimport {Platform} from './platform.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Network {\n\n // Data.\n private _online$: Observable<boolean> = of(true);\n\n constructor(private _platform: Platform,\n @Optional() @Inject(WINDOW) private _window: any,\n @Optional() @Inject(NAVIGATOR) private _navigator: any) {\n this.getOnlineObservable();\n }\n\n online() {\n return this._online$;\n }\n\n private getOnlineObservable() {\n // Validate we are on a browser.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Get all the events from the window.\n const online$ = fromEvent(this._window, 'online').pipe(mapTo(true));\n const offline$ = fromEvent(this._window, 'offline').pipe(mapTo(false));\n const now$ = new Observable(subscriber => {\n subscriber.next(this._navigator?.onLine);\n subscriber.complete();\n });\n\n // Merge all event so we get notified when\n // a user is online/offline.\n this._online$ = merge(now$, online$, offline$).pipe(\n map(value => value as boolean),\n distinctUntilChanged(),\n shareReplay(1)\n );\n }\n\n}\n","import {Inject, Injectable, OnDestroy, Optional} from '@angular/core';\nimport {debounceTime, startWith} from 'rxjs/operators';\nimport {WINDOW} from '../tokens/window.token';\nimport {fromEvent, Subscription} from 'rxjs';\nimport {Platform} from './platform.service';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Patch implements OnDestroy {\n\n private _hasPatchedMobileVerticalHeight: boolean = false;\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _platform: Platform,\n @Optional() @Inject(WINDOW) private _window: any,\n @Optional() @Inject(DOCUMENT) private _document: any) {\n }\n\n mobileVerticalHeight() {\n // Check if the user has already patched\n // the mobile vertical height.\n if (this._hasPatchedMobileVerticalHeight) {\n return;\n }\n\n this.periodicallySetDocumentVerticalProperty();\n this._hasPatchedMobileVerticalHeight = true;\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n private periodicallySetDocumentVerticalProperty() {\n // Validate we are using a browser.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Listen to a debounced window resize event.\n const resize$ = fromEvent(this._window, 'resize').pipe(\n debounceTime(25),\n startWith(0)\n );\n\n // Subscribe to the resize observable.\n const subscription = resize$.subscribe(() => {\n const verticalHeight = this._window?.innerHeight * 0.01;\n this._document?.documentElement?.style?.setProperty('--vh', `${verticalHeight}px`);\n });\n\n // Save the subscription so we can destroy it later.\n this._subscription.add(subscription);\n }\n\n}\n","import {Inject, Injectable, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class Clipboard {\n\n constructor(@Optional() @Inject(DOCUMENT) private _document: any) {\n }\n\n copy(text: string) {\n const pendingCopy = this.beginCopy(text);\n const successful = pendingCopy.copy();\n pendingCopy.destroy();\n\n return successful;\n }\n\n beginCopy(text: string) {\n return new ClipboardCopy(text, this._document);\n }\n\n}\n\n\nexport class ClipboardCopy {\n\n private _textarea?: HTMLTextAreaElement;\n\n constructor(private _text: string,\n private readonly _document: Document) {\n this.initialize();\n }\n\n copy() {\n const textarea = this._textarea;\n let successful = false;\n\n try {\n const currentFocus = <unknown>this._document.activeElement as HTMLOrSVGElement | null;\n\n textarea?.select?.();\n textarea?.setSelectionRange?.(0, textarea?.value?.length);\n successful = this._document?.execCommand?.('copy');\n\n currentFocus?.focus?.();\n } catch {\n // Do nothing.\n }\n\n return successful;\n }\n\n destroy() {\n this._textarea?.parentNode?.removeChild?.(this._textarea);\n this._textarea = undefined;\n }\n\n private initialize() {\n const textarea = this._textarea = this._document.createElement('textarea');\n const styles = textarea.style;\n\n // Hide the element for display and accessibility. Set a fixed position so the page layout\n // isn't affected. We use `fixed` with `top: 0`, because focus is moved into the textarea\n // for a split second and if it's off-screen, some browsers will attempt to scroll it into view.\n styles.position = 'fixed';\n styles.top = styles.opacity = '0';\n styles.left = '-999em';\n textarea.setAttribute('aria-hidden', 'true');\n textarea.value = this._text;\n this._document.body.appendChild(textarea);\n }\n\n}","export function coerceBooleanProperty(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface CanDisable {\n disabled: boolean;\n}\n\nexport type CanDisableConstructor = Constructor<CanDisable>;\n\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableConstructor & T {\n return class extends base {\n\n private _disable: boolean = false;\n\n get disabled() {\n return this._disable;\n }\n\n set disabled(value: any) {\n this._disable = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface CanLoad {\n loading: boolean;\n}\n\nexport type CanLoadConstructor = Constructor<CanLoad>;\n\nexport function mixinLoad<T extends Constructor<{}>>(base: T): CanLoadConstructor & T {\n return class extends base {\n\n private _loading: boolean = false;\n\n get loading() {\n return this._loading;\n }\n\n set loading(value: any) {\n this._loading = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface HasError {\n error: boolean;\n}\n\nexport type HasErrorConstructor = Constructor<HasError>;\n\nexport function mixinError<T extends Constructor<{}>>(base: T): HasErrorConstructor & T {\n return class extends base {\n\n private _error: boolean = false;\n\n get error() {\n return this._error;\n }\n\n set error(value: any) {\n this._error = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface CanHideErrors {\n hideErrors: boolean;\n}\n\nexport type CanHideErrorsConstructor = Constructor<CanHideErrors>;\n\nexport function mixinHideErrors<T extends Constructor<{}>>(base: T): CanHideErrorsConstructor & T {\n return class extends base {\n\n private _hideErrors: boolean = false;\n\n get hideErrors() {\n return this._hideErrors;\n }\n\n set hideErrors(value: any) {\n this._hideErrors = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface IsFocused {\n focused: boolean;\n}\n\nexport type IsFocusedConstructor = Constructor<IsFocused>;\n\nexport function mixinFocused<T extends Constructor<{}>>(base: T): IsFocusedConstructor & T {\n return class extends base {\n\n private _focused: boolean = false;\n\n get focused() {\n return this._focused;\n }\n\n set focused(value: any) {\n this._focused = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface IsGrouped {\n grouped: boolean;\n}\n\nexport type IsGroupedConstructor = Constructor<IsGrouped>;\n\nexport function mixinGrouped<T extends Constructor<{}>>(base: T): IsGroupedConstructor & T {\n return class extends base {\n\n private _grouped: boolean = false;\n\n get grouped() {\n return this._grouped;\n }\n\n set grouped(value: any) {\n this._grouped = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface IsReadonly {\n readonly: boolean;\n}\n\nexport type IsReadonlyConstructor = Constructor<IsReadonly>;\n\nexport function mixinReadonly<T extends Constructor<{}>>(base: T): IsReadonlyConstructor & T {\n return class extends base {\n\n private _readonly: boolean = false;\n\n get readonly() {\n return this._readonly;\n }\n\n set readonly(value: any) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {coerceBooleanProperty} from '../coercions/boolean-coercion';\nimport {Constructor} from './constructor';\n\nexport interface IsRequired {\n required: boolean;\n}\n\nexport type IsRequiredConstructor = Constructor<IsRequired>;\n\nexport function mixinRequired<T extends Constructor<{}>>(base: T): IsRequiredConstructor & T {\n return class extends base {\n\n private _required: boolean = false;\n\n get required() {\n return this._required;\n }\n\n set required(value: any) {\n this._required = coerceBooleanProperty(value);\n }\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n };\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const BASE_URL = new InjectionToken<string>('BaseUrl');\n","import {InjectionToken} from '@angular/core';\n\nexport const COOKIE = new InjectionToken<string>('Cookie');\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from './window.token';\n\nexport const LOCATION = new InjectionToken<Location>(\n 'An abstraction over window.location object',\n {\n factory: () => inject(WINDOW).location\n }\n);","export const BbRegex = {\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n fullNumber: /^\\d*[1-9]\\d*$/\n};\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {formatDate} from '@angular/common';\nimport {BbRegex} from './regex';\n\nexport class BbValidator {\n\n static email(control: AbstractControl) {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n return BbRegex.email.test(control.value) ? null : {email: true};\n }\n\n static fullNumber(control: AbstractControl) {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n return BbRegex.fullNumber.test(control.value) ? null : {fullNumber: true};\n }\n\n static maxFileSize(bytes: number) {\n const validator: ValidatorFn = (control: AbstractControl) => {\n const value = control.value;\n\n // Validate if the value is a file.\n if (!(value instanceof File)) {\n return null;\n }\n\n if (value.size <= bytes) {\n return null;\n }\n\n let maxSize = '0 Bytes';\n if (bytes !== 0) {\n const k = 1024;\n const dm = 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const index = Math.floor(Math.log(bytes) / Math.log(k));\n maxSize = parseFloat((bytes / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];\n }\n\n return {maxFileSize: {maxSize}};\n };\n return validator;\n }\n\n static confirm(fieldName: string, error: string = 'confirm') {\n const validator: ValidatorFn = (control: AbstractControl) => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n const field = control?.parent?.get(fieldName);\n\n return control?.value === field?.value\n ? null\n : {[error]: true};\n };\n return validator;\n }\n\n static maxDate(date: Date, error: string = 'maxDate') {\n const formattedDate = date.toString() !== 'Invalid Date'\n ? formatDate(date, 'yyyy-MM-dd', 'en-US')\n : null;\n\n const validator: ValidatorFn = (control: AbstractControl) => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n const controlDate = new Date(control.value);\n\n return controlDate.getTime() > date.getTime()\n ? {[error]: {date: formattedDate}}\n : null;\n };\n return validator;\n }\n\n static minDate(date: Date, error: string = 'minDate') {\n const formattedDate = date.toString() !== 'Invalid Date'\n ? formatDate(date, 'yyyy-MM-dd', 'en-US')\n : null;\n\n const validator: ValidatorFn = (control: AbstractControl) => {\n if (isEmptyInputValue(control.value)) {\n return null;\n }\n\n const controlDate = new Date(control.value);\n\n return controlDate.getTime() < date.getTime()\n ? {[error]: {date: formattedDate}}\n : null;\n };\n return validator;\n }\n\n}\n\nfunction isEmptyInputValue(value: any) {\n // We don't check for string here so it also works with arrays.\n return value == null || value.length === 0;\n}\n","/*\n * Public API Surface of bb-foundation\n */\n\nexport * from './lib/core/services/platform.service';\nexport * from './lib/core/services/image-converter.service';\nexport * from './lib/core/services/file-loader.service';\nexport * from './lib/core/services/languages.service';\nexport * from './lib/core/services/network.service';\nexport * from './lib/core/services/patch.service';\nexport * from './lib/core/services/exif.service';\nexport * from './lib/core/services/clipboard.service';\n\nexport * from './lib/core/mixins/constructor';\nexport * from './lib/core/mixins/can-disable';\nexport * from './lib/core/mixins/can-load';\nexport * from './lib/core/mixins/has-error';\nexport * from './lib/core/mixins/can-hide-errors';\nexport * from './lib/core/mixins/is-focused';\nexport * from './lib/core/mixins/is-grouped';\nexport * from './lib/core/mixins/is-readonly';\nexport * from './lib/core/mixins/is-required';\n\nexport * from './lib/core/tokens/base-url.token';\nexport * from './lib/core/tokens/accept-language.token';\nexport * from './lib/core/tokens/cookie.token';\nexport * from './lib/core/tokens/window.token';\nexport * from './lib/core/tokens/navigator.token';\nexport * from './lib/core/tokens/location.token';\n\nexport * from './lib/core/coercions/boolean-coercion';\n\nexport * from './lib/core/miscellaneous/regex';\nexport * from './lib/core/miscellaneous/validator';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["isPlatformBrowser","PLATFORM_ID","Injectable","Inject","InjectionToken","Optional","inject","DOCUMENT","of","fromEvent","mapTo","Observable","merge","map","distinctUntilChanged","shareReplay","Subscription","debounceTime","startWith","formatDate"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CollectionData, CollectionRequest } from './interfaces/collection.interface';
|
|
2
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
|
+
import { CollectionProvider } from './providers/collection.provider';
|
|
4
|
+
import { FormControl } from '@angular/forms';
|
|
5
|
+
export declare const enum CollectionState {
|
|
6
|
+
Initial = "initial",
|
|
7
|
+
Error = "error",
|
|
8
|
+
Empty = "empty",
|
|
9
|
+
Data = "data"
|
|
10
|
+
}
|
|
11
|
+
export declare class Collection<T> {
|
|
12
|
+
private readonly _provider;
|
|
13
|
+
private readonly _initialValues;
|
|
14
|
+
readonly queryControl: FormControl;
|
|
15
|
+
readonly queryFieldsControl: FormControl;
|
|
16
|
+
readonly pageNumberControl: FormControl;
|
|
17
|
+
readonly pageSizeControl: FormControl;
|
|
18
|
+
readonly sortControl: FormControl;
|
|
19
|
+
readonly data$: Observable<{
|
|
20
|
+
response?: CollectionData<T>;
|
|
21
|
+
request?: CollectionRequest;
|
|
22
|
+
error?: Error;
|
|
23
|
+
state: CollectionState;
|
|
24
|
+
loading: boolean;
|
|
25
|
+
initial: boolean;
|
|
26
|
+
}>;
|
|
27
|
+
readonly raw$: BehaviorSubject<CollectionData<T>>;
|
|
28
|
+
readonly loading$: BehaviorSubject<boolean>;
|
|
29
|
+
private _refresh$;
|
|
30
|
+
private _requestCache;
|
|
31
|
+
constructor(_provider: CollectionProvider<T>, _initialValues?: Partial<CollectionRequest>);
|
|
32
|
+
refresh(): void;
|
|
33
|
+
private getData;
|
|
34
|
+
private validateRequest;
|
|
35
|
+
private getState;
|
|
36
|
+
private cacheCollectionData;
|
|
37
|
+
private get request();
|
|
38
|
+
private getQueryObservable;
|
|
39
|
+
private controlToObservable;
|
|
40
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./components/collections-viewer/collections-viewer.component";
|
|
3
|
+
import * as i2 from "./components/collections-pager/collections-pager.component";
|
|
4
|
+
import * as i3 from "./components/collections.directive";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
export declare class CollectionsModule {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CollectionsModule, never>;
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CollectionsModule, [typeof i1.BbCollectionsViewer, typeof i2.BbCollectionsPager, typeof i3.BbCollectionsData, typeof i3.BbCollectionsEmpty, typeof i3.BbCollectionsError, typeof i3.BbCollectionsInitial], [typeof i4.CommonModule], [typeof i1.BbCollectionsViewer, typeof i2.BbCollectionsPager, typeof i3.BbCollectionsData, typeof i3.BbCollectionsEmpty, typeof i3.BbCollectionsError, typeof i3.BbCollectionsInitial]>;
|
|
9
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CollectionsModule>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { CollectionData } from '../../interfaces/collection.interface';
|
|
3
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
|
+
import { Collection } from '../../collection';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class BbCollectionsPager implements OnInit, OnDestroy {
|
|
7
|
+
readonly maxAmountOfButtons: number;
|
|
8
|
+
set label(value: string);
|
|
9
|
+
set collection(collection: Collection<unknown> | null);
|
|
10
|
+
data$: Observable<{
|
|
11
|
+
totalPages: number;
|
|
12
|
+
pageNumber: number;
|
|
13
|
+
pages: {
|
|
14
|
+
page: number;
|
|
15
|
+
active: boolean;
|
|
16
|
+
}[];
|
|
17
|
+
allowNext: boolean;
|
|
18
|
+
allowPrevious: boolean;
|
|
19
|
+
label: string;
|
|
20
|
+
}>;
|
|
21
|
+
cache$: BehaviorSubject<Partial<CollectionData<unknown>>>;
|
|
22
|
+
private _label;
|
|
23
|
+
private _collection;
|
|
24
|
+
private _subscription;
|
|
25
|
+
ngOnInit(): void;
|
|
26
|
+
ngOnDestroy(): void;
|
|
27
|
+
setPage(pageNumber: number, totalPages: number): void;
|
|
28
|
+
private observeCollectionChanges;
|
|
29
|
+
private calculateLabel;
|
|
30
|
+
private calculatePages;
|
|
31
|
+
private filterActivePages;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsPager, never>;
|
|
33
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BbCollectionsPager, "bb-collections-pager", never, { "label": "label"; "collection": "collection"; }, {}, never, never>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TemplateRef } from '@angular/core';
|
|
2
|
+
import { Collection } from '../../collection';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BbCollectionsViewer<T = unknown> {
|
|
5
|
+
dataTemplate?: TemplateRef<any>;
|
|
6
|
+
emptyTemplate?: TemplateRef<any>;
|
|
7
|
+
errorTemplate?: TemplateRef<any>;
|
|
8
|
+
initialTemplate?: TemplateRef<any>;
|
|
9
|
+
collection: Collection<T> | null;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsViewer<any>, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BbCollectionsViewer<any>, "[bb-collections-viewer]", never, { "collection": "collection"; }, {}, ["dataTemplate", "emptyTemplate", "errorTemplate", "initialTemplate"], never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class BbCollectionsData<T> {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsData<any>, never>;
|
|
4
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BbCollectionsData<any>, "[bbCollectionsData]", never, {}, {}, never>;
|
|
5
|
+
}
|
|
6
|
+
export declare class BbCollectionsEmpty {
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsEmpty, never>;
|
|
8
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BbCollectionsEmpty, "[bbCollectionsEmpty]", never, {}, {}, never>;
|
|
9
|
+
}
|
|
10
|
+
export declare class BbCollectionsError {
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsError, never>;
|
|
12
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BbCollectionsError, "[bbCollectionsError]", never, {}, {}, never>;
|
|
13
|
+
}
|
|
14
|
+
export declare class BbCollectionsInitial {
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BbCollectionsInitial, never>;
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<BbCollectionsInitial, "[bbCollectionsInitial]", never, {}, {}, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface CollectionRequest {
|
|
2
|
+
pageNumber: number;
|
|
3
|
+
pageSize: number;
|
|
4
|
+
query: string | null;
|
|
5
|
+
queryFields: string[];
|
|
6
|
+
sort: CollectionRequestSort | CollectionRequestSort[];
|
|
7
|
+
}
|
|
8
|
+
export interface CollectionRequestSort {
|
|
9
|
+
name: string;
|
|
10
|
+
direction: 'asc' | 'desc';
|
|
11
|
+
}
|
|
12
|
+
export interface CollectionData<T> {
|
|
13
|
+
pageNumber: number;
|
|
14
|
+
pageSize: number;
|
|
15
|
+
totalPages: number;
|
|
16
|
+
totalEntries: number;
|
|
17
|
+
data: T[];
|
|
18
|
+
}
|
|
19
|
+
export interface CollectionApiResponse<T> {
|
|
20
|
+
page_number: number;
|
|
21
|
+
page_size: number;
|
|
22
|
+
total_pages: number;
|
|
23
|
+
total_entries: number;
|
|
24
|
+
data: T[];
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
}
|