@bravobit/bb-foundation 0.45.3 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/lib/auth.config.d.ts +0 -2
- package/auth/lib/auth.service.d.ts +1 -1
- package/auth/lib/directives/authenticated.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data.directive.d.ts +1 -1
- package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
- package/collections/lib/directives/collections-error.directive.d.ts +1 -1
- package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
- package/collections/lib/directives/collections-item.directive.d.ts +1 -1
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
- package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-select.mjs +33 -36
- package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +21 -21
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/localize/lib/localize.config.d.ts +0 -1
- package/localize/lib/localize.service.d.ts +1 -1
- package/localize/lib/views/localize-template.directive.d.ts +1 -1
- package/masking/lib/masking.service.d.ts +2 -2
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
- package/package.json +7 -45
- package/permissions/lib/directives/permission.directive.d.ts +1 -1
- package/select/lib/select/select.component.d.ts +1 -0
- package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
- package/table/lib/components/table/table.component.d.ts +2 -2
- package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
- package/esm2022/auth/lib/auth.config.mjs +0 -16
- package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
- package/esm2022/auth/lib/auth.module.mjs +0 -25
- package/esm2022/auth/lib/auth.service.mjs +0 -261
- package/esm2022/auth/lib/auth.session.mjs +0 -142
- package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
- package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
- package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
- package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
- package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
- package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
- package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
- package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
- package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
- package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
- package/esm2022/auth/public_api.mjs +0 -15
- package/esm2022/bravobit-bb-foundation.mjs +0 -5
- package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
- package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
- package/esm2022/collections/lib/collection.mjs +0 -98
- package/esm2022/collections/lib/collections.module.mjs +0 -84
- package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
- package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
- package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
- package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
- package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
- package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
- package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
- package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
- package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
- package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
- package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
- package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
- package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
- package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
- package/esm2022/collections/public_api.mjs +0 -22
- package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
- package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
- package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
- package/esm2022/combobox/combobox-label.directive.mjs +0 -14
- package/esm2022/combobox/combobox-option.directive.mjs +0 -17
- package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
- package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
- package/esm2022/combobox/combobox.interface.mjs +0 -2
- package/esm2022/combobox/public_api.mjs +0 -4
- package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
- package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
- package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
- package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
- package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
- package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
- package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
- package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
- package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
- package/esm2022/dashboard/public_api.mjs +0 -9
- package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
- package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
- package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
- package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
- package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
- package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
- package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
- package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
- package/esm2022/dialog/lib/dialog.config.mjs +0 -8
- package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
- package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
- package/esm2022/dialog/lib/dialog.module.mjs +0 -64
- package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
- package/esm2022/dialog/lib/dialog.service.mjs +0 -75
- package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
- package/esm2022/dialog/public_api.mjs +0 -12
- package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
- package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
- package/esm2022/elements/lib/button/button.component.mjs +0 -68
- package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
- package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
- package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
- package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
- package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
- package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
- package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
- package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
- package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
- package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
- package/esm2022/elements/lib/elements.config.mjs +0 -54
- package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
- package/esm2022/elements/lib/elements.module.mjs +0 -146
- package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
- package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
- package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
- package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
- package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
- package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
- package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
- package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
- package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
- package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
- package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
- package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
- package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
- package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
- package/esm2022/elements/public_api.mjs +0 -30
- package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
- package/esm2022/http/lib/classes/http.config.mjs +0 -32
- package/esm2022/http/lib/classes/http.error.mjs +0 -20
- package/esm2022/http/lib/http.config.mjs +0 -18
- package/esm2022/http/lib/http.interfaces.mjs +0 -4
- package/esm2022/http/lib/http.module.mjs +0 -31
- package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
- package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
- package/esm2022/http/public_api.mjs +0 -8
- package/esm2022/lib/core/functions/array.utils.mjs +0 -7
- package/esm2022/lib/core/functions/date.utils.mjs +0 -31
- package/esm2022/lib/core/functions/password.utils.mjs +0 -17
- package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
- package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
- package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
- package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
- package/esm2022/lib/core/services/exif.service.mjs +0 -165
- package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
- package/esm2022/lib/core/services/files.service.mjs +0 -78
- package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
- package/esm2022/lib/core/services/languages.service.mjs +0 -75
- package/esm2022/lib/core/services/network.service.mjs +0 -58
- package/esm2022/lib/core/services/patch.service.mjs +0 -66
- package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
- package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
- package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
- package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
- package/esm2022/lib/core/tokens/location.token.mjs +0 -6
- package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
- package/esm2022/lib/core/tokens/window.token.mjs +0 -12
- package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
- package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
- package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
- package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
- package/esm2022/localize/lib/functions/date.function.mjs +0 -18
- package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
- package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
- package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
- package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
- package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
- package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
- package/esm2022/localize/lib/localize.config.mjs +0 -43
- package/esm2022/localize/lib/localize.module.mjs +0 -39
- package/esm2022/localize/lib/localize.pipe.mjs +0 -48
- package/esm2022/localize/lib/localize.service.mjs +0 -172
- package/esm2022/localize/lib/localize.tokens.mjs +0 -18
- package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
- package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
- package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
- package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
- package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
- package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
- package/esm2022/localize/public_api.mjs +0 -27
- package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
- package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
- package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
- package/esm2022/masking/lib/masking.module.mjs +0 -30
- package/esm2022/masking/lib/masking.service.mjs +0 -104
- package/esm2022/masking/public_api.mjs +0 -7
- package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
- package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
- package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
- package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
- package/esm2022/notifications/lib/notifications.config.mjs +0 -8
- package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
- package/esm2022/notifications/lib/notifications.module.mjs +0 -20
- package/esm2022/notifications/lib/notifications.service.mjs +0 -161
- package/esm2022/notifications/public_api.mjs +0 -5
- package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
- package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
- package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
- package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
- package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
- package/esm2022/permissions/lib/permissions.config.mjs +0 -20
- package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
- package/esm2022/permissions/lib/permissions.module.mjs +0 -25
- package/esm2022/permissions/lib/permissions.service.mjs +0 -100
- package/esm2022/permissions/public_api.mjs +0 -9
- package/esm2022/public_api.mjs +0 -25
- package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
- package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
- package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
- package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
- package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
- package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
- package/esm2022/recaptcha/public_api.mjs +0 -6
- package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
- package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
- package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
- package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
- package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
- package/esm2022/rxjs/public_api.mjs +0 -5
- package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
- package/esm2022/select/lib/select/select.component.mjs +0 -288
- package/esm2022/select/lib/select-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
- package/esm2022/select/lib/select-option.directive.mjs +0 -18
- package/esm2022/select/lib/select.config.mjs +0 -8
- package/esm2022/select/lib/select.module.mjs +0 -46
- package/esm2022/select/public_api.mjs +0 -8
- package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
- package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
- package/esm2022/storage/lib/storage.service.mjs +0 -113
- package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
- package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
- package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
- package/esm2022/storage/public_api.mjs +0 -8
- package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
- package/esm2022/table/lib/components/table/table.component.mjs +0 -200
- package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
- package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
- package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
- package/esm2022/table/lib/data/datasource.data.mjs +0 -30
- package/esm2022/table/lib/data/generic.data.mjs +0 -84
- package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
- package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
- package/esm2022/table/lib/table.module.mjs +0 -44
- package/esm2022/table/public_api.mjs +0 -10
- package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
- package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
- package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
- package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
- package/esm2022/tooltip/public_api.mjs +0 -5
- package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
- package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
- package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
- package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
- package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
- package/esm2022/utils/lib/utils.module.mjs +0 -35
- package/esm2022/utils/public_api.mjs +0 -6
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { BbLocalize, BbLocalizeTemplate, BbLocalizeString } from '@bravobit/bb-foundation/localize';
|
|
4
|
-
import { BbFormError } from '../form-error/form-error.component';
|
|
5
|
-
import { BbFileDrop } from '../directives/file-drop.directive';
|
|
6
|
-
import { BbTemplate } from '@bravobit/bb-foundation/utils';
|
|
7
|
-
import { BbButton } from '../button/button.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@bravobit/bb-foundation";
|
|
10
|
-
let nextUniqueId = 0;
|
|
11
|
-
export class BbMultiFileControl {
|
|
12
|
-
_files;
|
|
13
|
-
_changeDetectorRef;
|
|
14
|
-
// Readonly data.
|
|
15
|
-
labelId = `bb-multi-file-control-${nextUniqueId++}`;
|
|
16
|
-
// Views.
|
|
17
|
-
fileInput;
|
|
18
|
-
// Inputs.
|
|
19
|
-
label = null;
|
|
20
|
-
hint = null;
|
|
21
|
-
accept = null;
|
|
22
|
-
grouped = false;
|
|
23
|
-
required = false;
|
|
24
|
-
disabled = false;
|
|
25
|
-
hideErrors = false;
|
|
26
|
-
items = [];
|
|
27
|
-
// Outputs.
|
|
28
|
-
delete = new EventEmitter();
|
|
29
|
-
// State.
|
|
30
|
-
value = [];
|
|
31
|
-
error = false;
|
|
32
|
-
// Callbacks.
|
|
33
|
-
onTouchedCallback = () => ({});
|
|
34
|
-
onChangeCallback = () => ({});
|
|
35
|
-
constructor(_files, _changeDetectorRef) {
|
|
36
|
-
this._files = _files;
|
|
37
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
38
|
-
}
|
|
39
|
-
get showList() {
|
|
40
|
-
return this.value?.length > 0 || this.items?.length > 0;
|
|
41
|
-
}
|
|
42
|
-
downloadFile(file) {
|
|
43
|
-
return this._files.download(file, file?.name);
|
|
44
|
-
}
|
|
45
|
-
openFileDialog() {
|
|
46
|
-
const element = this.fileInput?.nativeElement;
|
|
47
|
-
element?.click();
|
|
48
|
-
}
|
|
49
|
-
onFileChange(event) {
|
|
50
|
-
const files = Array.from(event.target?.['files']);
|
|
51
|
-
this.addFiles(files);
|
|
52
|
-
this.fileInput.nativeElement.value = null;
|
|
53
|
-
}
|
|
54
|
-
deleteFile(index) {
|
|
55
|
-
this.value = this.value?.filter((_, i) => i !== index) ?? [];
|
|
56
|
-
this.onChangeCallback?.(this.value);
|
|
57
|
-
}
|
|
58
|
-
writeValue(value) {
|
|
59
|
-
this.value = value ?? [];
|
|
60
|
-
}
|
|
61
|
-
registerOnChange(method) {
|
|
62
|
-
this.onChangeCallback = method;
|
|
63
|
-
}
|
|
64
|
-
registerOnTouched(method) {
|
|
65
|
-
this.onTouchedCallback = method;
|
|
66
|
-
}
|
|
67
|
-
setDisabledState(isDisabled) {
|
|
68
|
-
this.disabled = isDisabled;
|
|
69
|
-
this._changeDetectorRef.markForCheck();
|
|
70
|
-
}
|
|
71
|
-
onErrorChange(error) {
|
|
72
|
-
this.error = !!error;
|
|
73
|
-
}
|
|
74
|
-
validate({ value }) {
|
|
75
|
-
const regexString = (this.accept || '*')
|
|
76
|
-
.replace(/\*/g, '.\*')
|
|
77
|
-
.replace(/,/g, '|');
|
|
78
|
-
const mimeTypeRegex = new RegExp(regexString);
|
|
79
|
-
const errors = (value ?? []).reduce((previous, current, index) => {
|
|
80
|
-
const isValid = this.isFileLike(current) && mimeTypeRegex.test(current?.type);
|
|
81
|
-
if (isValid) {
|
|
82
|
-
return previous;
|
|
83
|
-
}
|
|
84
|
-
return { ...previous, [index]: true };
|
|
85
|
-
}, {});
|
|
86
|
-
return Object.keys(errors)?.length > 0 ? { invalidFiles: errors } : null;
|
|
87
|
-
}
|
|
88
|
-
addFiles(files) {
|
|
89
|
-
if (this.disabled) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
for (let index = 0; index < files?.length; index++) {
|
|
93
|
-
const file = files?.[index] ?? null;
|
|
94
|
-
if (!this.isFileLike(file)) {
|
|
95
|
-
continue;
|
|
96
|
-
}
|
|
97
|
-
this.value.push(file);
|
|
98
|
-
}
|
|
99
|
-
this.onChangeCallback?.(this.value);
|
|
100
|
-
}
|
|
101
|
-
isFileLike(input) {
|
|
102
|
-
return 'File' in window && input instanceof File
|
|
103
|
-
|| 'Blob' in window && input instanceof Blob;
|
|
104
|
-
}
|
|
105
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbMultiFileControl, deps: [{ token: i1.Files }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbMultiFileControl, isStandalone: true, selector: "bb-multi-file-control", inputs: { label: "label", hint: "hint", accept: "accept", grouped: ["grouped", "grouped", booleanAttribute], required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], hideErrors: ["hideErrors", "hideErrors", booleanAttribute], items: "items" }, outputs: { delete: "delete" }, host: { properties: { "class.required": "required", "class.disabled": "disabled", "class.grouped": "grouped", "class.error": "error" }, classAttribute: "bb-multi-file-control" }, providers: [
|
|
107
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbMultiFileControl), multi: true },
|
|
108
|
-
{ provide: NG_VALIDATORS, useExisting: BbMultiFileControl, multi: true }
|
|
109
|
-
], viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<!-- The label of the input. -->\n@if (label; as labelContent) {\n <label [for]=\"labelId\"\n class=\"bb-multi-file-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<input #fileInput\n [id]=\"labelId\"\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-multi-file-control-input\"\n type=\"file\"\n tabindex=\"-1\"\n multiple>\n\n<div [bbFileDropDisabled]=\"disabled\"\n (bbFileDrop)=\"addFiles($event)\"\n class=\"bb-multi-file-control-container\">\n @if (showList) {\n <ul class=\"bb-multi-file-control-list\">\n @for (item of items; track item?.id) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <a [href]=\"item?.url\"\n target=\"_blank\"\n rel=\"noopener\"\n class=\"bb-multi-file-control-item-content\">{{ item?.label }}</a>\n @if (!disabled && delete?.observed) {\n <button (click)=\"delete?.emit(item)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n @for (file of value; track $index) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <button (click)=\"downloadFile(file)\"\n class=\"bb-multi-file-control-item-content\"\n type=\"button\">\n {{ file?.name }}\n </button>\n @if (!disabled) {\n <button (click)=\"deleteFile($index)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n </ul>\n } @else if (!disabled) {\n <i class=\"bb-multi-file-control-icon attach-vertical\"></i>\n <p [bb-localize-string]=\"'multi-file-control.choose_file_text' | bbLocalize\"\n class=\"bb-multi-file-control-empty\">\n <label *bbLocalizeTemplate=\"'label'\"\n [for]=\"labelId\">{{ 'multi-file-control.choose_file' | bbLocalize }}</label>\n </p>\n }\n @if (!disabled) {\n <button (click)=\"openFileDialog()\"\n type=\"button\"\n class=\"primary small bb-multi-file-control-button\"\n bb-button>\n <i class=\"bb-multi-file-control-icon add\" suffix></i>\n {{ 'multi-file-control.choose_file' | bbLocalize }}\n </button>\n }\n</div>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The file picker hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-multi-file-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-multi-file-control{display:block}.bb-multi-file-control.grouped{margin-bottom:1.5rem}.bb-multi-file-control.required>.bb-multi-file-control-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-multi-file-control-container.is-hovered{border-color:#757e8a;box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--bb-multi-file-control-box-shadow)}.bb-multi-file-control.disabled>.bb-multi-file-control-container{cursor:default;color:gray;background-color:#e6e6e6}.bb-multi-file-control-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-multi-file-control-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-multi-file-control-container{width:100%;display:flex;color:#111;padding:.5rem;overflow:hidden;min-height:7.5rem;align-items:center;border-radius:.5rem;flex-direction:column;justify-content:center;background-color:#fff;border:1px solid hsl(213,8%,74%);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-multi-file-control-button{margin-top:.5rem}.bb-multi-file-control-list{flex:1;width:100%;overflow:hidden}.bb-multi-file-control-empty{flex:1;width:100%;color:#758795;display:block;font-weight:400;line-height:1.5;text-align:center;font-size:.875rem}.bb-multi-file-control-empty>label{cursor:pointer;display:inline;font-size:inherit;font-weight:inherit;text-decoration:underline;color:var(--bb-multi-file-control-color)}.bb-multi-file-control-item{height:2rem;display:flex;max-width:100%;overflow:hidden;align-items:center;white-space:nowrap;border-radius:.5rem;text-overflow:ellipsis;padding:0 .25rem 0 .5rem;border:1px solid hsl(213,8%,74%);background-color:#edf4fd}.bb-multi-file-control-item:not(:last-child){margin-bottom:.25rem}.bb-multi-file-control-item-content{flex:1;padding:0;border:none;max-width:100%;margin:0 .5rem;overflow:hidden;appearance:none;text-align:left;font-weight:400;font-size:.875rem;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;background-color:transparent}.bb-multi-file-control-item-content,.bb-multi-file-control-item-content:visited{color:#0a305c}.bb-multi-file-control-item-content:hover,.bb-multi-file-control-item-content:focus{text-decoration:underline}.bb-multi-file-control-item-button{padding:0;width:1.5rem;display:flex;height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;border:1px solid hsl(0,73%,25%);background-color:#b51c1c}.bb-multi-file-control-item-button:hover,.bb-multi-file-control-item-button:focus{background-color:#a81a1a}.bb-multi-file-control-item-button:active{background-color:#9a1818}.bb-multi-file-control-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.bb-multi-file-control-icon{width:1.25rem;height:1.25rem;display:inline-flex;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-multi-file-control-icon.add{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-vertical{width:1.5rem;height:1.5rem;margin-bottom:.5rem;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23758795\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-horizontal{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.clear{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/%3E%3C/svg%3E')}\n"], dependencies: [{ kind: "component", type: BbFormError, selector: "bb-form-error", inputs: ["control"], outputs: ["errorChange"] }, { kind: "directive", type: BbTemplate, selector: "[bbTemplate]", inputs: ["bbTemplate"] }, { kind: "component", type: BbButton, selector: "button[bb-button]", inputs: ["disabled", "loading"], exportAs: ["bbButton"] }, { kind: "pipe", type: BbLocalize, name: "bbLocalize" }, { kind: "directive", type: BbLocalizeTemplate, selector: "[bbLocalizeTemplate]", inputs: ["bbLocalizeTemplate"] }, { kind: "component", type: BbLocalizeString, selector: "[bb-localize-string]", inputs: ["substitutions", "bb-localize-string"] }, { kind: "directive", type: BbFileDrop, selector: "[bbFileDrop]", inputs: ["bbFileDropDisabled"], outputs: ["bbFileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
110
|
-
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbMultiFileControl, decorators: [{
|
|
112
|
-
type: Component,
|
|
113
|
-
args: [{ selector: 'bb-multi-file-control', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
|
|
114
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbMultiFileControl), multi: true },
|
|
115
|
-
{ provide: NG_VALIDATORS, useExisting: BbMultiFileControl, multi: true }
|
|
116
|
-
], host: {
|
|
117
|
-
'class': 'bb-multi-file-control',
|
|
118
|
-
'[class.required]': 'required',
|
|
119
|
-
'[class.disabled]': 'disabled',
|
|
120
|
-
'[class.grouped]': 'grouped',
|
|
121
|
-
'[class.error]': 'error'
|
|
122
|
-
}, preserveWhitespaces: false, standalone: true, imports: [BbFormError, BbTemplate, BbButton, BbLocalize, BbLocalizeTemplate, BbLocalizeString, BbFileDrop], template: "<!-- The label of the input. -->\n@if (label; as labelContent) {\n <label [for]=\"labelId\"\n class=\"bb-multi-file-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">{{ labelContent }}</ng-template>\n </label>\n}\n\n<input #fileInput\n [id]=\"labelId\"\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-multi-file-control-input\"\n type=\"file\"\n tabindex=\"-1\"\n multiple>\n\n<div [bbFileDropDisabled]=\"disabled\"\n (bbFileDrop)=\"addFiles($event)\"\n class=\"bb-multi-file-control-container\">\n @if (showList) {\n <ul class=\"bb-multi-file-control-list\">\n @for (item of items; track item?.id) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <a [href]=\"item?.url\"\n target=\"_blank\"\n rel=\"noopener\"\n class=\"bb-multi-file-control-item-content\">{{ item?.label }}</a>\n @if (!disabled && delete?.observed) {\n <button (click)=\"delete?.emit(item)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n @for (file of value; track $index) {\n <li class=\"bb-multi-file-control-item\">\n <i class=\"bb-multi-file-control-icon attach-horizontal\"></i>\n <button (click)=\"downloadFile(file)\"\n class=\"bb-multi-file-control-item-content\"\n type=\"button\">\n {{ file?.name }}\n </button>\n @if (!disabled) {\n <button (click)=\"deleteFile($index)\"\n type=\"button\"\n class=\"bb-multi-file-control-item-button\">\n <i class=\"bb-multi-file-control-icon clear\"></i>\n </button>\n }\n </li>\n }\n </ul>\n } @else if (!disabled) {\n <i class=\"bb-multi-file-control-icon attach-vertical\"></i>\n <p [bb-localize-string]=\"'multi-file-control.choose_file_text' | bbLocalize\"\n class=\"bb-multi-file-control-empty\">\n <label *bbLocalizeTemplate=\"'label'\"\n [for]=\"labelId\">{{ 'multi-file-control.choose_file' | bbLocalize }}</label>\n </p>\n }\n @if (!disabled) {\n <button (click)=\"openFileDialog()\"\n type=\"button\"\n class=\"primary small bb-multi-file-control-button\"\n bb-button>\n <i class=\"bb-multi-file-control-icon add\" suffix></i>\n {{ 'multi-file-control.choose_file' | bbLocalize }}\n </button>\n }\n</div>\n\n@if (!hideErrors) {\n <bb-form-error (errorChange)=\"onErrorChange($event)\"></bb-form-error>\n}\n\n<!-- The file picker hint. -->\n@if (hint; as hintContent) {\n <p class=\"bb-multi-file-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">{{ hintContent }}</ng-template>\n </p>\n}\n", styles: [".bb-multi-file-control{display:block}.bb-multi-file-control.grouped{margin-bottom:1.5rem}.bb-multi-file-control.required>.bb-multi-file-control-label:after{content:\"*\";font-size:.75rem;vertical-align:top;color:var(--bb-form-label-required-color)}.bb-multi-file-control-container.is-hovered{border-color:#757e8a;box-shadow:0 .375rem .375rem -.375rem #0000001a,var(--bb-multi-file-control-box-shadow)}.bb-multi-file-control.disabled>.bb-multi-file-control-container{cursor:default;color:gray;background-color:#e6e6e6}.bb-multi-file-control-label{display:block;margin-bottom:.25rem;color:var(--bb-form-label-color);font-size:var(--bb-form-label-font-size);font-weight:var(--bb-form-label-font-weight)}.bb-multi-file-control-input{opacity:0;z-index:-1;width:.1px;height:.1px;overflow:hidden;position:absolute}.bb-multi-file-control-container{width:100%;display:flex;color:#111;padding:.5rem;overflow:hidden;min-height:7.5rem;align-items:center;border-radius:.5rem;flex-direction:column;justify-content:center;background-color:#fff;border:1px solid hsl(213,8%,74%);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-multi-file-control-button{margin-top:.5rem}.bb-multi-file-control-list{flex:1;width:100%;overflow:hidden}.bb-multi-file-control-empty{flex:1;width:100%;color:#758795;display:block;font-weight:400;line-height:1.5;text-align:center;font-size:.875rem}.bb-multi-file-control-empty>label{cursor:pointer;display:inline;font-size:inherit;font-weight:inherit;text-decoration:underline;color:var(--bb-multi-file-control-color)}.bb-multi-file-control-item{height:2rem;display:flex;max-width:100%;overflow:hidden;align-items:center;white-space:nowrap;border-radius:.5rem;text-overflow:ellipsis;padding:0 .25rem 0 .5rem;border:1px solid hsl(213,8%,74%);background-color:#edf4fd}.bb-multi-file-control-item:not(:last-child){margin-bottom:.25rem}.bb-multi-file-control-item-content{flex:1;padding:0;border:none;max-width:100%;margin:0 .5rem;overflow:hidden;appearance:none;text-align:left;font-weight:400;font-size:.875rem;white-space:nowrap;text-decoration:none;text-overflow:ellipsis;background-color:transparent}.bb-multi-file-control-item-content,.bb-multi-file-control-item-content:visited{color:#0a305c}.bb-multi-file-control-item-content:hover,.bb-multi-file-control-item-content:focus{text-decoration:underline}.bb-multi-file-control-item-button{padding:0;width:1.5rem;display:flex;height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;border:1px solid hsl(0,73%,25%);background-color:#b51c1c}.bb-multi-file-control-item-button:hover,.bb-multi-file-control-item-button:focus{background-color:#a81a1a}.bb-multi-file-control-item-button:active{background-color:#9a1818}.bb-multi-file-control-hint{display:block;line-height:1.5;margin-top:.25rem;font-size:.8125rem;color:#758795}.bb-multi-file-control-icon{width:1.25rem;height:1.25rem;display:inline-flex;background-size:contain;background-repeat:no-repeat;background-position:center center}.bb-multi-file-control-icon.add{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-vertical{width:1.5rem;height:1.5rem;margin-bottom:.5rem;background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23758795\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.attach-horizontal{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z\"/%3E%3C/svg%3E')}.bb-multi-file-control-icon.clear{background-image:url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" fill=\"%23fff\" viewBox=\"0 0 24 24\"%3E%3Cpath d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/%3E%3C/svg%3E')}\n"] }]
|
|
123
|
-
}], ctorParameters: () => [{ type: i1.Files }, { type: i0.ChangeDetectorRef }], propDecorators: { fileInput: [{
|
|
124
|
-
type: ViewChild,
|
|
125
|
-
args: ['fileInput', { static: true }]
|
|
126
|
-
}], label: [{
|
|
127
|
-
type: Input
|
|
128
|
-
}], hint: [{
|
|
129
|
-
type: Input
|
|
130
|
-
}], accept: [{
|
|
131
|
-
type: Input
|
|
132
|
-
}], grouped: [{
|
|
133
|
-
type: Input,
|
|
134
|
-
args: [{ transform: booleanAttribute }]
|
|
135
|
-
}], required: [{
|
|
136
|
-
type: Input,
|
|
137
|
-
args: [{ transform: booleanAttribute }]
|
|
138
|
-
}], disabled: [{
|
|
139
|
-
type: Input,
|
|
140
|
-
args: [{ transform: booleanAttribute }]
|
|
141
|
-
}], hideErrors: [{
|
|
142
|
-
type: Input,
|
|
143
|
-
args: [{ transform: booleanAttribute }]
|
|
144
|
-
}], items: [{
|
|
145
|
-
type: Input
|
|
146
|
-
}], delete: [{
|
|
147
|
-
type: Output
|
|
148
|
-
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9tdWx0aS1maWxlLWNvbnRyb2wvbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9tdWx0aS1maWxlLWNvbnRyb2wvbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW9DLGFBQWEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUdwRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUF1QnJCLE1BQU0sT0FBTyxrQkFBa0I7SUE2QlA7SUFDQTtJQTVCcEIsaUJBQWlCO0lBQ1IsT0FBTyxHQUFXLHlCQUF5QixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBRXJFLFNBQVM7SUFDK0IsU0FBUyxD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RUFBRSxJQUFJLEVBQUM7cUJBQ3pFLFFBQ0s7d0JBQ0YsT0FBTyxFQUFFLHVCQUF1Qjt3QkFDaEMsa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsaUJBQWlCLEVBQUUsU0FBUzt3QkFDNUIsZUFBZSxFQUFFLE9BQU87cUJBQzNCLHVCQUNvQixLQUFLLGNBQ2QsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLFVBQVUsQ0FBQzswR0FRbEUsU0FBUztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUc3QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDZ0MsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUNFLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBQ0UsVUFBVTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQztnQkFDM0IsS0FBSztzQkFBYixLQUFLO2dCQUdJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0JiTG9jYWxpemUsIEJiTG9jYWxpemVUZW1wbGF0ZSwgQmJMb2NhbGl6ZVN0cmluZ30gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtCYkZvcm1FcnJvcn0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0JiRmlsZURyb3B9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZmlsZS1kcm9wLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiVGVtcGxhdGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL3V0aWxzJztcbmltcG9ydCB7QmJCdXR0b259IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7RmlsZXN9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcblxubGV0IG5leHRVbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYmItbXVsdGktZmlsZS1jb250cm9sJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktZmlsZS1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tdWx0aS1maWxlLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJiTXVsdGlGaWxlQ29udHJvbCksIG11bHRpOiB0cnVlfSxcbiAgICAgICAge3Byb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBCYk11bHRpRmlsZUNvbnRyb2wsIG11bHRpOiB0cnVlfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItbXVsdGktZmlsZS1jb250cm9sJyxcbiAgICAgICAgJ1tjbGFzcy5yZXF1aXJlZF0nOiAncmVxdWlyZWQnLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbY2xhc3MuZ3JvdXBlZF0nOiAnZ3JvdXBlZCcsXG4gICAgICAgICdbY2xhc3MuZXJyb3JdJzogJ2Vycm9yJ1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQmJGb3JtRXJyb3IsIEJiVGVtcGxhdGUsIEJiQnV0dG9uLCBCYkxvY2FsaXplLCBCYkxvY2FsaXplVGVtcGxhdGUsIEJiTG9jYWxpemVTdHJpbmcsIEJiRmlsZURyb3BdXG59KVxuZXhwb3J0IGNsYXNzIEJiTXVsdGlGaWxlQ29udHJvbCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgbGFiZWxJZDogc3RyaW5nID0gYGJiLW11bHRpLWZpbGUtY29udHJvbC0ke25leHRVbmlxdWVJZCsrfWA7XG5cbiAgICAvLyBWaWV3cy5cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnLCB7c3RhdGljOiB0cnVlfSkgZmlsZUlucHV0OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgaGludDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGFjY2VwdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSBncm91cGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoe3RyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pIGhpZGVFcnJvcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpdGVtczogeyBpZDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB1cmw6IHN0cmluZyB9W10gPSBbXTtcblxuICAgIC8vIE91dHB1dHMuXG4gICAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpZDogbnVtYmVyLCBsYWJlbDogc3RyaW5nLCB1cmw6IHN0cmluZyB9PigpO1xuXG4gICAgLy8gU3RhdGUuXG4gICAgdmFsdWU6IEZpbGVbXSA9IFtdO1xuICAgIGVycm9yOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyBDYWxsYmFja3MuXG4gICAgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICAgIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBGaWxlW10gfCBudWxsKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2ZpbGVzOiBGaWxlcyxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0xpc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5sZW5ndGggPiAwIHx8IHRoaXMuaXRlbXM/Lmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZG93bmxvYWRGaWxlKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVzLmRvd25sb2FkKGZpbGUsIGZpbGU/Lm5hbWUpO1xuICAgIH1cblxuICAgIG9wZW5GaWxlRGlhbG9nKCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgZWxlbWVudD8uY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBBcnJheS5mcm9tKGV2ZW50LnRhcmdldD8uWydmaWxlcyddKTtcbiAgICAgICAgdGhpcy5hZGRGaWxlcyhmaWxlcyk7XG4gICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xuICAgIH1cblxuICAgIGRlbGV0ZUZpbGUoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZT8uZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCkgPz8gW107XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjaz8uKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IEZpbGVbXSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlID8/IFtdO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UobWV0aG9kOiAoXzogRmlsZVtdIHwgbnVsbCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQobWV0aG9kOiAoKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkVycm9yQ2hhbmdlKGVycm9yOiB7IHRva2VuOiBzdHJpbmcsIGRhdGE/OiBhbnkgfSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5lcnJvciA9ICEhZXJyb3I7XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoe3ZhbHVlfTogRm9ybUNvbnRyb2w8RmlsZVtdPikge1xuICAgICAgICBjb25zdCByZWdleFN0cmluZyA9ICh0aGlzLmFjY2VwdCB8fCAnKicpXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwqL2csICcuXFwqJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8sL2csICd8Jyk7XG4gICAgICAgIGNvbnN0IG1pbWVUeXBlUmVnZXggPSBuZXcgUmVnRXhwKHJlZ2V4U3RyaW5nKTtcblxuICAgICAgICBjb25zdCBlcnJvcnMgPSAodmFsdWUgPz8gW10pLnJlZHVjZSgocHJldmlvdXMsIGN1cnJlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gdGhpcy5pc0ZpbGVMaWtlKGN1cnJlbnQpICYmIG1pbWVUeXBlUmVnZXgudGVzdChjdXJyZW50Py50eXBlKTtcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gey4uLnByZXZpb3VzLCBbaW5kZXhdOiB0cnVlfTtcbiAgICAgICAgfSwgPFJlY29yZDxudW1iZXIsIGJvb2xlYW4+Pnt9KTtcblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoZXJyb3JzKT8ubGVuZ3RoID4gMCA/IHtpbnZhbGlkRmlsZXM6IGVycm9yc30gOiBudWxsO1xuICAgIH1cblxuICAgIGFkZEZpbGVzKGZpbGVzOiBGaWxlW10pIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBmaWxlcz8ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBjb25zdCBmaWxlID0gZmlsZXM/LltpbmRleF0gPz8gbnVsbDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0ZpbGVMaWtlKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnZhbHVlLnB1c2goZmlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrPy4odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ZpbGVMaWtlKGlucHV0OiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiAnRmlsZScgaW4gd2luZG93ICYmIGlucHV0IGluc3RhbmNlb2YgRmlsZVxuICAgICAgICAgICAgfHwgJ0Jsb2InIGluIHdpbmRvdyAmJiBpbnB1dCBpbnN0YW5jZW9mIEJsb2I7XG5cbiAgICB9XG5cbn1cbiIsIjwhLS0gVGhlIGxhYmVsIG9mIHRoZSBpbnB1dC4gLS0+XG5AaWYgKGxhYmVsOyBhcyBsYWJlbENvbnRlbnQpIHtcbiAgICA8bGFiZWwgW2Zvcl09XCJsYWJlbElkXCJcbiAgICAgICAgICAgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtbGFiZWxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtiYlRlbXBsYXRlXT1cImxhYmVsQ29udGVudFwiPnt7IGxhYmVsQ29udGVudCB9fTwvbmctdGVtcGxhdGU+XG4gICAgPC9sYWJlbD5cbn1cblxuPGlucHV0ICNmaWxlSW5wdXRcbiAgICAgICBbaWRdPVwibGFiZWxJZFwiXG4gICAgICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgKGNoYW5nZSk9XCJvbkZpbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaW5wdXRcIlxuICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgICBtdWx0aXBsZT5cblxuPGRpdiBbYmJGaWxlRHJvcERpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgKGJiRmlsZURyb3ApPVwiYWRkRmlsZXMoJGV2ZW50KVwiXG4gICAgIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWNvbnRhaW5lclwiPlxuICAgIEBpZiAoc2hvd0xpc3QpIHtcbiAgICAgICAgPHVsIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW0/LmlkKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBhdHRhY2gtaG9yaXpvbnRhbFwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwiaXRlbT8udXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pdGVtLWNvbnRlbnRcIj57eyBpdGVtPy5sYWJlbCB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghZGlzYWJsZWQgJiYgZGVsZXRlPy5vYnNlcnZlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlPy5lbWl0KGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBjbGVhclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBmb3IgKGZpbGUgb2YgdmFsdWU7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWljb24gYXR0YWNoLWhvcml6b250YWxcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkRmlsZShmaWxlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaXRlbS1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWxlPy5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZGVsZXRlRmlsZSgkaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmItbXVsdGktZmlsZS1jb250cm9sLWl0ZW0tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBjbGVhclwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC91bD5cbiAgICB9IEBlbHNlIGlmICghZGlzYWJsZWQpIHtcbiAgICAgICAgPGkgY2xhc3M9XCJiYi1tdWx0aS1maWxlLWNvbnRyb2wtaWNvbiBhdHRhY2gtdmVydGljYWxcIj48L2k+XG4gICAgICAgIDxwIFtiYi1sb2NhbGl6ZS1zdHJpbmddPVwiJ211bHRpLWZpbGUtY29udHJvbC5jaG9vc2VfZmlsZV90ZXh0JyB8IGJiTG9jYWxpemVcIlxuICAgICAgICAgICBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1lbXB0eVwiPlxuICAgICAgICAgICAgPGxhYmVsICpiYkxvY2FsaXplVGVtcGxhdGU9XCInbGFiZWwnXCJcbiAgICAgICAgICAgICAgICAgICBbZm9yXT1cImxhYmVsSWRcIj57eyAnbXVsdGktZmlsZS1jb250cm9sLmNob29zZV9maWxlJyB8IGJiTG9jYWxpemUgfX08L2xhYmVsPlxuICAgICAgICA8L3A+XG4gICAgfVxuICAgIEBpZiAoIWRpc2FibGVkKSB7XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9wZW5GaWxlRGlhbG9nKClcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwicHJpbWFyeSBzbWFsbCBiYi1tdWx0aS1maWxlLWNvbnRyb2wtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBiYi1idXR0b24+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1pY29uIGFkZFwiIHN1ZmZpeD48L2k+XG4gICAgICAgICAgICB7eyAnbXVsdGktZmlsZS1jb250cm9sLmNob29zZV9maWxlJyB8IGJiTG9jYWxpemUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgfVxuPC9kaXY+XG5cbkBpZiAoIWhpZGVFcnJvcnMpIHtcbiAgICA8YmItZm9ybS1lcnJvciAoZXJyb3JDaGFuZ2UpPVwib25FcnJvckNoYW5nZSgkZXZlbnQpXCI+PC9iYi1mb3JtLWVycm9yPlxufVxuXG48IS0tIFRoZSBmaWxlIHBpY2tlciBoaW50LiAtLT5cbkBpZiAoaGludDsgYXMgaGludENvbnRlbnQpIHtcbiAgICA8cCBjbGFzcz1cImJiLW11bHRpLWZpbGUtY29udHJvbC1oaW50XCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbYmJUZW1wbGF0ZV09XCJoaW50Q29udGVudFwiPnt7IGhpbnRDb250ZW50IH19PC9uZy10ZW1wbGF0ZT5cbiAgICA8L3A+XG59XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { inject, LOCALE_ID, Pipe } from '@angular/core';
|
|
2
|
-
import { Localize } from '@bravobit/bb-foundation/localize';
|
|
3
|
-
import { parseDate } from '@bravobit/bb-foundation';
|
|
4
|
-
import { formatDate } from '@angular/common';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BbDate {
|
|
7
|
-
// Dependencies.
|
|
8
|
-
_localize = inject(Localize, { optional: true });
|
|
9
|
-
_localeId = inject(LOCALE_ID);
|
|
10
|
-
transform(value, format) {
|
|
11
|
-
const date = parseDate(value);
|
|
12
|
-
if (date === null) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const locale = this._localize?.current?.locale ?? this._localeId ?? 'en-US';
|
|
16
|
-
return formatDate(date, format ?? 'mediumDate', locale);
|
|
17
|
-
}
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDate, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
19
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: BbDate, isStandalone: true, name: "bbDate" });
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDate, decorators: [{
|
|
22
|
-
type: Pipe,
|
|
23
|
-
args: [{
|
|
24
|
-
name: 'bbDate',
|
|
25
|
-
standalone: true
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2RhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQU0zQyxNQUFNLE9BQU8sTUFBTTtJQUVmLGdCQUFnQjtJQUNDLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDL0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQyxTQUFTLENBQUMsS0FBNkIsRUFBRSxNQUFlO1FBQ3BELE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQzVFLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBZFEsTUFBTTtzR0FBTixNQUFNOzs0RkFBTixNQUFNO2tCQUpsQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxRQUFRO29CQUNkLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBMT0NBTEVfSUQsIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2NhbGl6ZX0gZnJvbSAnQGJyYXZvYml0L2JiLWZvdW5kYXRpb24vbG9jYWxpemUnO1xuaW1wb3J0IHtwYXJzZURhdGV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdiYkRhdGUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJEYXRlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICAvLyBEZXBlbmRlbmNpZXMuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxpemUgPSBpbmplY3QoTG9jYWxpemUsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsZUlkID0gaW5qZWN0KExPQ0FMRV9JRCk7XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUsIGZvcm1hdD86IHN0cmluZykge1xuICAgICAgICBjb25zdCBkYXRlID0gcGFyc2VEYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKGRhdGUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbG9jYWxlID0gdGhpcy5fbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSA/PyB0aGlzLl9sb2NhbGVJZCA/PyAnZW4tVVMnO1xuICAgICAgICByZXR1cm4gZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQgPz8gJ21lZGl1bURhdGUnLCBsb2NhbGUpO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/cdk/platform";
|
|
4
|
-
import * as i2 from "@bravobit/bb-foundation";
|
|
5
|
-
import * as i3 from "@angular/platform-browser";
|
|
6
|
-
export class BbFileImage {
|
|
7
|
-
_platform;
|
|
8
|
-
_image;
|
|
9
|
-
_sanitizer;
|
|
10
|
-
constructor(_platform, _image, _sanitizer) {
|
|
11
|
-
this._platform = _platform;
|
|
12
|
-
this._image = _image;
|
|
13
|
-
this._sanitizer = _sanitizer;
|
|
14
|
-
}
|
|
15
|
-
async transform(file) {
|
|
16
|
-
// If the file is not a file return.
|
|
17
|
-
if (!this._platform.isBrowser || !(file instanceof File)) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
return this._image.fileToImage(file, [
|
|
21
|
-
'image/png',
|
|
22
|
-
'image/jpeg',
|
|
23
|
-
'image/webp',
|
|
24
|
-
'image/gif',
|
|
25
|
-
'image/svg+xml'
|
|
26
|
-
]).then(image => {
|
|
27
|
-
if (!image) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
background: this._sanitizer.bypassSecurityTrustStyle(`url(${image.src})`),
|
|
32
|
-
aspectRatio: image.height / image.width
|
|
33
|
-
};
|
|
34
|
-
}).catch(() => {
|
|
35
|
-
return null;
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbFileImage, deps: [{ token: i1.Platform }, { token: i2.ImageConverter }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
39
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: BbFileImage, isStandalone: true, name: "bbFileImage" });
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbFileImage, decorators: [{
|
|
42
|
-
type: Pipe,
|
|
43
|
-
args: [{
|
|
44
|
-
name: 'bbFileImage',
|
|
45
|
-
standalone: true
|
|
46
|
-
}]
|
|
47
|
-
}], ctorParameters: () => [{ type: i1.Platform }, { type: i2.ImageConverter }, { type: i3.DomSanitizer }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1pbWFnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL2ZpbGUtaW1hZ2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbEQsTUFBTSxPQUFPLFdBQVc7SUFFQTtJQUNBO0lBQ0E7SUFGcEIsWUFBb0IsU0FBbUIsRUFDbkIsTUFBc0IsRUFDdEIsVUFBd0I7UUFGeEIsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFjO0lBQzVDLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQVU7UUFDdEIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdkQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ2pDLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1NBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztZQUVELE9BQU87Z0JBQ0gsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsT0FBTyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3pFLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLO2FBQzFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQS9CUSxXQUFXO3NHQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW1hZ2VDb252ZXJ0ZXJ9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7RG9tU2FuaXRpemVyfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BsYXRmb3JtfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuXG5AUGlwZSh7XG4gICAgbmFtZTogJ2JiRmlsZUltYWdlJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZUltYWdlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfaW1hZ2U6IEltYWdlQ29udmVydGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgfVxuXG4gICAgYXN5bmMgdHJhbnNmb3JtKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgLy8gSWYgdGhlIGZpbGUgaXMgbm90IGEgZmlsZSByZXR1cm4uXG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyIHx8ICEoZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9pbWFnZS5maWxlVG9JbWFnZShmaWxlLCBbXG4gICAgICAgICAgICAnaW1hZ2UvcG5nJyxcbiAgICAgICAgICAgICdpbWFnZS9qcGVnJyxcbiAgICAgICAgICAgICdpbWFnZS93ZWJwJyxcbiAgICAgICAgICAgICdpbWFnZS9naWYnLFxuICAgICAgICAgICAgJ2ltYWdlL3N2Zyt4bWwnXG4gICAgICAgIF0pLnRoZW4oaW1hZ2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFpbWFnZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYHVybCgke2ltYWdlLnNyY30pYCksXG4gICAgICAgICAgICAgICAgYXNwZWN0UmF0aW86IGltYWdlLmhlaWdodCAvIGltYWdlLndpZHRoXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbFileSize {
|
|
4
|
-
transform(value) {
|
|
5
|
-
return this.format(value);
|
|
6
|
-
}
|
|
7
|
-
format = (value, decimals = 2) => {
|
|
8
|
-
if (value === 0) {
|
|
9
|
-
return '0 Bytes';
|
|
10
|
-
}
|
|
11
|
-
const k = 1024;
|
|
12
|
-
const dm = decimals < 0 ? 0 : decimals;
|
|
13
|
-
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
14
|
-
const index = Math.floor(Math.log(value) / Math.log(k));
|
|
15
|
-
return parseFloat((value / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];
|
|
16
|
-
};
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbFileSize, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: BbFileSize, isStandalone: true, name: "bbFileSize" });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbFileSize, decorators: [{
|
|
21
|
-
type: Pipe,
|
|
22
|
-
args: [{
|
|
23
|
-
name: 'bbFileSize',
|
|
24
|
-
standalone: true
|
|
25
|
-
}]
|
|
26
|
-
}] });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2VsZW1lbnRzL3NyYy9saWIvcGlwZXMvZmlsZS1zaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBTWxELE1BQU0sT0FBTyxVQUFVO0lBRW5CLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sTUFBTSxHQUFHLENBQUMsS0FBYSxFQUFFLFdBQW1CLENBQUMsRUFBRSxFQUFFO1FBQ3JELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNmLE1BQU0sRUFBRSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELE9BQU8sVUFBVSxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRixDQUFDLENBQUM7d0dBbEJPLFVBQVU7c0dBQVYsVUFBVTs7NEZBQVYsVUFBVTtrQkFKdEIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdiYkZpbGVTaXplJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRmlsZVNpemUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXQgPSAodmFsdWU6IG51bWJlciwgZGVjaW1hbHM6IG51bWJlciA9IDIpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAgQnl0ZXMnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgayA9IDEwMjQ7XG4gICAgICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPCAwID8gMCA6IGRlY2ltYWxzO1xuICAgICAgICBjb25zdCBzaXplcyA9IFsnQnl0ZXMnLCAnS0InLCAnTUInLCAnR0InLCAnVEInLCAnUEInLCAnRUInLCAnWkInLCAnWUInXTtcblxuICAgICAgICBjb25zdCBpbmRleCA9IE1hdGguZmxvb3IoTWF0aC5sb2codmFsdWUpIC8gTWF0aC5sb2coaykpO1xuXG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KCh2YWx1ZSAvIE1hdGgucG93KGssIGluZGV4KSkudG9GaXhlZChkbSkpICsgJyAnICsgc2l6ZXNbaW5kZXhdO1xuICAgIH07XG5cbn1cbiJdfQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Inject, LOCALE_ID, Optional, Pipe } from '@angular/core';
|
|
2
|
-
import { formatDate } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@bravobit/bb-foundation/localize";
|
|
5
|
-
export class BbRelativeTime {
|
|
6
|
-
_localeId;
|
|
7
|
-
_localize;
|
|
8
|
-
constructor(_localeId, _localize) {
|
|
9
|
-
this._localeId = _localeId;
|
|
10
|
-
this._localize = _localize;
|
|
11
|
-
}
|
|
12
|
-
transform(value) {
|
|
13
|
-
// Parse the value to a date object.
|
|
14
|
-
const date = this.parseAsDate(value);
|
|
15
|
-
// Check if the date is valid.
|
|
16
|
-
if (!this.isValidDate(date)) {
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
// Return the formatted date.
|
|
20
|
-
return this.format(date);
|
|
21
|
-
}
|
|
22
|
-
format(date) {
|
|
23
|
-
// It happens tomorrow.
|
|
24
|
-
if (this.isTomorrow(date)) {
|
|
25
|
-
return this.formatString(date, 'times.tomorrow_at', 'shortTime');
|
|
26
|
-
}
|
|
27
|
-
// It happened today.
|
|
28
|
-
if (this.isToday(date)) {
|
|
29
|
-
return this.formatString(date, 'times.today_at', 'shortTime');
|
|
30
|
-
}
|
|
31
|
-
// It happened yesterday.
|
|
32
|
-
if (this.isYesterday(date)) {
|
|
33
|
-
return this.formatString(date, 'times.yesterday_at', 'shortTime');
|
|
34
|
-
}
|
|
35
|
-
// Just return the date.
|
|
36
|
-
return this.formatString(date);
|
|
37
|
-
}
|
|
38
|
-
formatString(date, token, format) {
|
|
39
|
-
// Just return the parsed date.
|
|
40
|
-
if (!this._localize || !token || !format) {
|
|
41
|
-
return formatDate(date, 'mediumDate', this.locale);
|
|
42
|
-
}
|
|
43
|
-
// Return the translated formatting.
|
|
44
|
-
return this._localize.translate({
|
|
45
|
-
token: token,
|
|
46
|
-
data: { date: formatDate(date, format, this.locale) }
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
get locale() {
|
|
50
|
-
return this._localize?.current?.locale ?? this._localeId;
|
|
51
|
-
}
|
|
52
|
-
isValidDate = (date) => {
|
|
53
|
-
return typeof date === 'object' &&
|
|
54
|
-
typeof date.getTime === 'function' &&
|
|
55
|
-
!isNaN(date.getTime());
|
|
56
|
-
};
|
|
57
|
-
parseAsDate = (value) => {
|
|
58
|
-
// Add a Z after the date so
|
|
59
|
-
// it is treated as a UTC date.
|
|
60
|
-
if (typeof value === 'string' && /^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/.test(value)) {
|
|
61
|
-
return new Date(`${value}Z`);
|
|
62
|
-
}
|
|
63
|
-
// Return the regular parsed date.
|
|
64
|
-
return new Date(value);
|
|
65
|
-
};
|
|
66
|
-
isToday = (date) => {
|
|
67
|
-
const today = new Date();
|
|
68
|
-
return date?.getDate() === today?.getDate() &&
|
|
69
|
-
date?.getMonth() === today?.getMonth() &&
|
|
70
|
-
date?.getFullYear() === today?.getFullYear();
|
|
71
|
-
};
|
|
72
|
-
isYesterday = (date) => {
|
|
73
|
-
const yesterday = new Date(new Date()?.setDate(new Date()?.getDate() - 1));
|
|
74
|
-
return date?.getDate() === yesterday?.getDate() &&
|
|
75
|
-
date?.getMonth() === yesterday?.getMonth() &&
|
|
76
|
-
date?.getFullYear() === yesterday?.getFullYear();
|
|
77
|
-
};
|
|
78
|
-
isTomorrow = (date) => {
|
|
79
|
-
const tomorrow = new Date(new Date()?.setDate(new Date()?.getDate() + 1));
|
|
80
|
-
return date?.getDate() === tomorrow?.getDate() &&
|
|
81
|
-
date?.getMonth() === tomorrow?.getMonth() &&
|
|
82
|
-
date?.getFullYear() === tomorrow?.getFullYear();
|
|
83
|
-
};
|
|
84
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbRelativeTime, deps: [{ token: LOCALE_ID }, { token: i1.Localize, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
85
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: BbRelativeTime, isStandalone: true, name: "bbRelativeTime" });
|
|
86
|
-
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbRelativeTime, decorators: [{
|
|
88
|
-
type: Pipe,
|
|
89
|
-
args: [{
|
|
90
|
-
name: 'bbRelativeTime',
|
|
91
|
-
standalone: true
|
|
92
|
-
}]
|
|
93
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
94
|
-
type: Inject,
|
|
95
|
-
args: [LOCALE_ID]
|
|
96
|
-
}] }, { type: i1.Localize, decorators: [{
|
|
97
|
-
type: Optional
|
|
98
|
-
}] }] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9lbGVtZW50cy9zcmMvbGliL3BpcGVzL3JlbGF0aXZlLXRpbWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sY0FBYztJQUVnQjtJQUNQO0lBRGhDLFlBQXVDLFNBQWlCLEVBQ3hCLFNBQW9CO1FBRGIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUN4QixjQUFTLEdBQVQsU0FBUyxDQUFXO0lBQ3BELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBNkI7UUFDbkMsb0NBQW9DO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckMsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDMUIsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELDZCQUE2QjtRQUM3QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFVO1FBQ3JCLHVCQUF1QjtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxF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LENBQUMsQ0FBQztJQUVNLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUUsT0FBTyxFQUFFO1lBQzFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ3pDLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEQsQ0FBQyxDQUFDO3dHQTVGTyxjQUFjLGtCQUVILFNBQVM7c0dBRnBCLGNBQWM7OzRGQUFkLGNBQWM7a0JBSjFCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFHZ0IsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0LCBMT0NBTEVfSUQsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TG9jYWxpemV9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uL2xvY2FsaXplJztcbmltcG9ydCB7Zm9ybWF0RGF0ZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdiYlJlbGF0aXZlVGltZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlJlbGF0aXZlVGltZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTEVfSUQpIHByaXZhdGUgX2xvY2FsZUlkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbG9jYWxpemU/OiBMb2NhbGl6ZSkge1xuICAgIH1cblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkge1xuICAgICAgICAvLyBQYXJzZSB0aGUgdmFsdWUgdG8gYSBkYXRlIG9iamVjdC5cbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMucGFyc2VBc0RhdGUodmFsdWUpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBkYXRlIGlzIHZhbGlkLlxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGUoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJldHVybiB0aGUgZm9ybWF0dGVkIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdChkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdChkYXRlOiBEYXRlKSB7XG4gICAgICAgIC8vIEl0IGhhcHBlbnMgdG9tb3Jyb3cuXG4gICAgICAgIGlmICh0aGlzLmlzVG9tb3Jyb3coZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMudG9tb3Jyb3dfYXQnLCAnc2hvcnRUaW1lJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJdCBoYXBwZW5lZCB0b2RheS5cbiAgICAgICAgaWYgKHRoaXMuaXNUb2RheShkYXRlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0U3RyaW5nKGRhdGUsICd0aW1lcy50b2RheV9hdCcsICdzaG9ydFRpbWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEl0IGhhcHBlbmVkIHllc3RlcmRheS5cbiAgICAgICAgaWYgKHRoaXMuaXNZZXN0ZXJkYXkoZGF0ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlLCAndGltZXMueWVzdGVyZGF5X2F0JywgJ3Nob3J0VGltZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSnVzdCByZXR1cm4gdGhlIGRhdGUuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdFN0cmluZyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhkYXRlOiBEYXRlLCB0b2tlbj86IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nKSB7XG4gICAgICAgIC8vIEp1c3QgcmV0dXJuIHRoZSBwYXJzZWQgZGF0ZS5cbiAgICAgICAgaWYgKCF0aGlzLl9sb2NhbGl6ZSB8fCAhdG9rZW4gfHwgIWZvcm1hdCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgJ21lZGl1bURhdGUnLCB0aGlzLmxvY2FsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gdGhlIHRyYW5zbGF0ZWQgZm9ybWF0dGluZy5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsaXplLnRyYW5zbGF0ZSh7XG4gICAgICAgICAgICB0b2tlbjogdG9rZW4sXG4gICAgICAgICAgICBkYXRhOiB7ZGF0ZTogZm9ybWF0RGF0ZShkYXRlLCBmb3JtYXQsIHRoaXMubG9jYWxlKX1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxpemU/LmN1cnJlbnQ/LmxvY2FsZSA/PyB0aGlzLl9sb2NhbGVJZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzVmFsaWREYXRlID0gKGRhdGU6IERhdGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBkYXRlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgdHlwZW9mIGRhdGUuZ2V0VGltZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICAgICAgIWlzTmFOKGRhdGUuZ2V0VGltZSgpKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBwYXJzZUFzRGF0ZSA9ICh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSkgPT4ge1xuICAgICAgICAvLyBBZGQgYSBaIGFmdGVyIHRoZSBkYXRlIHNvXG4gICAgICAgIC8vIGl0IGlzIHRyZWF0ZWQgYXMgYSBVVEMgZGF0ZS5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgL15bMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsyfTpbMC05XXsyfTpbMC05XXsyfSQvLnRlc3QodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoYCR7dmFsdWV9WmApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSByZWd1bGFyIHBhcnNlZCBkYXRlLlxuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGlzVG9kYXkgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvZGF5Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b2RheT8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG4gICAgcHJpdmF0ZSBpc1llc3RlcmRheSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHllc3RlcmRheSA9IG5ldyBEYXRlKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpIC0gMSkpO1xuICAgICAgICByZXR1cm4gZGF0ZT8uZ2V0RGF0ZSgpID09PSB5ZXN0ZXJkYXk/LmdldERhdGUoKSAmJlxuICAgICAgICAgICAgZGF0ZT8uZ2V0TW9udGgoKSA9PT0geWVzdGVyZGF5Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB5ZXN0ZXJkYXk/LmdldEZ1bGxZZWFyKCk7XG4gICAgfTtcblxuICAgIHByaXZhdGUgaXNUb21vcnJvdyA9IChkYXRlOiBEYXRlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gbmV3IERhdGUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSk7XG4gICAgICAgIHJldHVybiBkYXRlPy5nZXREYXRlKCkgPT09IHRvbW9ycm93Py5nZXREYXRlKCkgJiZcbiAgICAgICAgICAgIGRhdGU/LmdldE1vbnRoKCkgPT09IHRvbW9ycm93Py5nZXRNb250aCgpICYmXG4gICAgICAgICAgICBkYXRlPy5nZXRGdWxsWWVhcigpID09PSB0b21vcnJvdz8uZ2V0RnVsbFllYXIoKTtcbiAgICB9O1xuXG59XG4iXX0=
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, HostBinding, HostListener, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../radio-group/radio-group.component";
|
|
4
|
-
export class BbRadioButton {
|
|
5
|
-
_radioGroup;
|
|
6
|
-
// Inputs.
|
|
7
|
-
value = null;
|
|
8
|
-
hideText = false;
|
|
9
|
-
// Disabled.
|
|
10
|
-
set disabled(value) {
|
|
11
|
-
this._disabled = value;
|
|
12
|
-
}
|
|
13
|
-
get disabled() {
|
|
14
|
-
return this._radioGroup?.disabled || this._disabled;
|
|
15
|
-
}
|
|
16
|
-
_disabled = false;
|
|
17
|
-
onClick() {
|
|
18
|
-
if (this.disabled) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
this._radioGroup.select(this.value);
|
|
22
|
-
}
|
|
23
|
-
onSpacePressed() {
|
|
24
|
-
return this.onClick();
|
|
25
|
-
}
|
|
26
|
-
get selected() {
|
|
27
|
-
return this._radioGroup?.value === this.value;
|
|
28
|
-
}
|
|
29
|
-
constructor(_radioGroup) {
|
|
30
|
-
this._radioGroup = _radioGroup;
|
|
31
|
-
}
|
|
32
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbRadioButton, deps: [{ token: i1.BbRadioGroup }], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbRadioButton, isStandalone: true, selector: "bb-radio-button", inputs: { value: "value", hideText: ["hideText", "hideText", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "onClick()", "keydown.space": "onSpacePressed()" }, properties: { "class.disabled": "disabled", "tabindex": "disabled ? -1 : 0", "class.selected": "this.selected" }, classAttribute: "bb-radio-button" }, ngImport: i0, template: "<div class=\"bb-radio-button-indicator\"></div>\n@if (!hideText) {\n <span class=\"bb-radio-button-text\"><ng-content></ng-content></span>\n}\n\n", styles: [".bb-radio-button{display:flex;cursor:pointer;align-items:center}.bb-radio-button:not(.disabled):focus>.bb-radio-button-indicator{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem var(--bb-radio-outline-color)}.bb-radio-button.selected>.bb-radio-button-indicator{border-color:var(--bb-radio-border-color)}.bb-radio-button.selected>.bb-radio-button-indicator:after{opacity:1;transform:none}.bb-radio-button.disabled{-webkit-user-select:none;user-select:none}.bb-radio-button.disabled>.bb-radio-button-indicator{border-color:gray}.bb-radio-button.disabled>.bb-radio-button-indicator:after{background-color:gray}.bb-radio-button.disabled>.bb-radio-button-text{color:gray}.bb-radio-button-indicator{display:flex;width:1.25rem;height:1.25rem;min-width:1.25rem;border-radius:50%;min-height:1.25rem;align-items:center;justify-content:center;border:1px solid hsl(213,8%,74%);transition:box-shadow .25s cubic-bezier(0,0,.2,1),border-color .25s cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-radio-button-indicator:after{opacity:0;content:\"\";display:block;border-radius:50%;transform:scale(0);width:.625rem;height:.625rem;background-color:var(--bb-radio-indicator-color);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}.bb-radio-button-text{color:#111;font-size:1rem;font-weight:400;padding-left:.5rem}.bb-radio-button-text>small{display:block;line-height:1.5;font-size:.8125rem;margin-top:.125rem;color:#758795}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbRadioButton, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'bb-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
38
|
-
'class': 'bb-radio-button',
|
|
39
|
-
'[class.disabled]': 'disabled',
|
|
40
|
-
'[tabindex]': 'disabled ? -1 : 0'
|
|
41
|
-
}, preserveWhitespaces: false, standalone: true, template: "<div class=\"bb-radio-button-indicator\"></div>\n@if (!hideText) {\n <span class=\"bb-radio-button-text\"><ng-content></ng-content></span>\n}\n\n", styles: [".bb-radio-button{display:flex;cursor:pointer;align-items:center}.bb-radio-button:not(.disabled):focus>.bb-radio-button-indicator{box-shadow:0 .375rem .375rem -.375rem #0000001a,0 0 0 .1875rem var(--bb-radio-outline-color)}.bb-radio-button.selected>.bb-radio-button-indicator{border-color:var(--bb-radio-border-color)}.bb-radio-button.selected>.bb-radio-button-indicator:after{opacity:1;transform:none}.bb-radio-button.disabled{-webkit-user-select:none;user-select:none}.bb-radio-button.disabled>.bb-radio-button-indicator{border-color:gray}.bb-radio-button.disabled>.bb-radio-button-indicator:after{background-color:gray}.bb-radio-button.disabled>.bb-radio-button-text{color:gray}.bb-radio-button-indicator{display:flex;width:1.25rem;height:1.25rem;min-width:1.25rem;border-radius:50%;min-height:1.25rem;align-items:center;justify-content:center;border:1px solid hsl(213,8%,74%);transition:box-shadow .25s cubic-bezier(0,0,.2,1),border-color .25s cubic-bezier(0,0,.2,1);box-shadow:0 .375rem .375rem -.375rem #0000001a}.bb-radio-button-indicator:after{opacity:0;content:\"\";display:block;border-radius:50%;transform:scale(0);width:.625rem;height:.625rem;background-color:var(--bb-radio-indicator-color);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}.bb-radio-button-text{color:#111;font-size:1rem;font-weight:400;padding-left:.5rem}.bb-radio-button-text>small{display:block;line-height:1.5;font-size:.8125rem;margin-top:.125rem;color:#758795}\n"] }]
|
|
42
|
-
}], ctorParameters: () => [{ type: i1.BbRadioGroup }], propDecorators: { value: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], hideText: [{
|
|
45
|
-
type: Input,
|
|
46
|
-
args: [{ transform: booleanAttribute }]
|
|
47
|
-
}], disabled: [{
|
|
48
|
-
type: Input,
|
|
49
|
-
args: [{ transform: booleanAttribute }]
|
|
50
|
-
}], onClick: [{
|
|
51
|
-
type: HostListener,
|
|
52
|
-
args: ['click']
|
|
53
|
-
}], onSpacePressed: [{
|
|
54
|
-
type: HostListener,
|
|
55
|
-
args: ['keydown.space']
|
|
56
|
-
}], selected: [{
|
|
57
|
-
type: HostBinding,
|
|
58
|
-
args: ['class.selected']
|
|
59
|
-
}] } });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZWxlbWVudHMvc3JjL2xpYi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7OztBQWlCeEksTUFBTSxPQUFPLGFBQWE7SUFvQ0Y7SUFsQ3BCLFVBQVU7SUFDRCxLQUFLLEdBQWEsSUFBSSxDQUFDO0lBQ00sUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVoRSxZQUFZO0lBQ1osSUFDSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFTyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBR25DLE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBR0QsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELFlBQW9CLFdBQTRCO1FBQTVCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtJQUNoRCxDQUFDO3dHQXJDUSxhQUFhOzRGQUFiLGFBQWEsZ0hBSUgsZ0JBQWdCLHNDQUdoQixnQkFBZ0Isc1FDeEJ2QyxzSkFLQTs7NEZEWWEsYUFBYTtrQkFkekIsU0FBUzsrQkFDSSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixrQkFBa0IsRUFBRSxVQUFVO3dCQUM5QixZQUFZLEVBQUUsbUJBQW1CO3FCQUNwQyx1QkFDb0IsS0FBSyxjQUNkLElBQUk7aUZBS1AsS0FBSztzQkFBYixLQUFLO2dCQUNnQyxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFDO2dCQUloQyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBWXBDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQVNyQixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZTtnQkFNekIsUUFBUTtzQkFEWCxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Ym9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmJSYWRpb0dyb3VwfSBmcm9tICcuLi9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLXJhZGlvLWJ1dHRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1yYWRpby1idXR0b24nLFxuICAgICAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG4gICAgICAgICdbdGFiaW5kZXhdJzogJ2Rpc2FibGVkID8gLTEgOiAwJ1xuICAgIH0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYlJhZGlvQnV0dG9uPFQ+IHtcblxuICAgIC8vIElucHV0cy5cbiAgICBASW5wdXQoKSB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgaGlkZVRleHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIERpc2FibGVkLlxuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSlcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYWRpb0dyb3VwPy5kaXNhYmxlZCB8fCB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fcmFkaW9Hcm91cC5zZWxlY3QodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScpXG4gICAgb25TcGFjZVByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uQ2xpY2soKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJylcbiAgICBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yYWRpb0dyb3VwPy52YWx1ZSA9PT0gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9yYWRpb0dyb3VwOiBCYlJhZGlvR3JvdXA8VD4pIHtcbiAgICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYi1yYWRpby1idXR0b24taW5kaWNhdG9yXCI+PC9kaXY+XG5AaWYgKCFoaWRlVGV4dCkge1xuICAgIDxzcGFuIGNsYXNzPVwiYmItcmFkaW8tYnV0dG9uLXRleHRcIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxufVxuXG4iXX0=
|