@bravobit/bb-foundation 0.15.6 → 0.16.3
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.interceptor.d.ts +1 -1
- package/auth/lib/auth.service.d.ts +1 -1
- package/auth/package.json +5 -5
- package/collections/lib/collection.d.ts +1 -1
- package/collections/package.json +5 -5
- package/controls/bravobit-bb-foundation-controls.d.ts +5 -0
- package/controls/lib/checkbox/checkbox/checkbox.component.d.ts +47 -0
- package/controls/lib/checkbox/checkbox-group/checkbox-group.component.d.ts +18 -0
- package/controls/lib/checkbox/checkbox.module.d.ts +9 -0
- package/controls/lib/controls.module.d.ts +7 -0
- package/controls/package.json +10 -0
- package/controls/public_api.d.ts +4 -0
- package/dashboard/package.json +5 -5
- package/dialog/package.json +5 -5
- package/elements/package.json +5 -5
- package/{esm2015/auth/bravobit-bb-foundation-auth.js → esm2020/auth/bravobit-bb-foundation-auth.mjs} +0 -0
- package/esm2020/auth/lib/auth.interceptor.mjs +94 -0
- package/{esm2015/auth/lib/auth.module.js → esm2020/auth/lib/auth.module.mjs} +5 -5
- package/esm2020/auth/lib/auth.service.mjs +276 -0
- package/esm2020/auth/lib/auth.session.mjs +131 -0
- package/{esm2015/auth/lib/directives/authenticated.directive.js → esm2020/auth/lib/directives/authenticated.directive.mjs} +5 -6
- package/esm2020/auth/lib/directives/permission.directive.mjs +80 -0
- package/esm2020/auth/lib/directives/role.directive.mjs +37 -0
- package/esm2020/auth/lib/guards/anonymous.guard.mjs +34 -0
- package/esm2020/auth/lib/guards/authenticated.guard.mjs +35 -0
- package/{esm2015/auth/lib/helpers/jwt.helper.js → esm2020/auth/lib/helpers/jwt.helper.mjs} +3 -3
- package/{esm2015/auth/lib/helpers/mapper.helper.js → esm2020/auth/lib/helpers/mapper.helper.mjs} +4 -4
- package/{esm2015/auth/lib/interfaces/config.interface.js → esm2020/auth/lib/interfaces/config.interface.mjs} +0 -0
- package/{esm2015/auth/lib/interfaces/mapper.interface.js → esm2020/auth/lib/interfaces/mapper.interface.mjs} +0 -0
- package/{esm2015/auth/lib/interfaces/provider.interface.js → esm2020/auth/lib/interfaces/provider.interface.mjs} +0 -0
- package/{esm2015/auth/lib/interfaces/token.interface.js → esm2020/auth/lib/interfaces/token.interface.mjs} +0 -0
- package/esm2020/auth/lib/permissions.service.mjs +56 -0
- package/esm2020/auth/lib/providers/email.provider.mjs +25 -0
- package/esm2020/auth/lib/providers/verify.provider.mjs +19 -0
- package/{esm2015/auth/lib/tokens/use-authorization.token.js → esm2020/auth/lib/tokens/use-authorization.token.mjs} +0 -0
- package/{esm2015/auth/public_api.js → esm2020/auth/public_api.mjs} +0 -0
- package/{esm2015/bravobit-bb-foundation.js → esm2020/bravobit-bb-foundation.mjs} +0 -0
- package/{esm2015/collections/bravobit-bb-foundation-collections.js → esm2020/collections/bravobit-bb-foundation-collections.mjs} +0 -0
- package/esm2020/collections/lib/collection.mjs +102 -0
- package/{esm2015/collections/lib/collections.module.js → esm2020/collections/lib/collections.module.mjs} +5 -5
- package/esm2020/collections/lib/components/collections-pager/collections-pager.component.mjs +123 -0
- package/esm2020/collections/lib/components/collections-viewer/collections-viewer.component.mjs +31 -0
- package/{esm2015/collections/lib/components/collections.directive.js → esm2020/collections/lib/components/collections.directive.mjs} +13 -13
- package/{esm2015/collections/lib/interfaces/collection.interface.js → esm2020/collections/lib/interfaces/collection.interface.mjs} +0 -0
- package/esm2020/collections/lib/providers/api-collection.provider.mjs +71 -0
- package/esm2020/collections/lib/providers/collection.provider.mjs +13 -0
- package/{esm2015/collections/lib/providers/local-collection.provider.js → esm2020/collections/lib/providers/local-collection.provider.mjs} +0 -0
- package/{esm2015/collections/public_api.js → esm2020/collections/public_api.mjs} +0 -0
- package/esm2020/controls/bravobit-bb-foundation-controls.mjs +5 -0
- package/esm2020/controls/lib/checkbox/checkbox/checkbox.component.mjs +153 -0
- package/esm2020/controls/lib/checkbox/checkbox-group/checkbox-group.component.mjs +48 -0
- package/esm2020/controls/lib/checkbox/checkbox.module.mjs +19 -0
- package/esm2020/controls/lib/controls.module.mjs +16 -0
- package/esm2020/controls/public_api.mjs +5 -0
- package/{esm2015/dashboard/bravobit-bb-foundation-dashboard.js → esm2020/dashboard/bravobit-bb-foundation-dashboard.mjs} +0 -0
- package/esm2020/dashboard/lib/dashboard/dashboard.component.mjs +56 -0
- package/esm2020/dashboard/lib/dashboard-header/dashboard-header.component.mjs +30 -0
- package/esm2020/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +31 -0
- package/esm2020/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +29 -0
- package/esm2020/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +75 -0
- package/esm2020/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +99 -0
- package/esm2020/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +62 -0
- package/{esm2015/dashboard/lib/dashboard.module.js → esm2020/dashboard/lib/dashboard.module.mjs} +5 -5
- package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
- package/{esm2015/dialog/bravobit-bb-foundation-dialog.js → esm2020/dialog/bravobit-bb-foundation-dialog.mjs} +0 -0
- package/esm2020/dialog/lib/dialog-actions/dialog-actions.component.mjs +12 -0
- package/esm2020/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +37 -0
- package/{esm2015/dialog/lib/dialog-container/dialog-container.component.js → esm2020/dialog/lib/dialog-container/dialog-container.component.mjs} +6 -15
- package/esm2020/dialog/lib/dialog-header/dialog-header.component.mjs +25 -0
- package/esm2020/dialog/lib/dialog-link/dialog-link.component.mjs +11 -0
- package/esm2020/dialog/lib/dialog-modal/dialog-modal.component.mjs +46 -0
- package/esm2020/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +134 -0
- package/{esm2015/dialog/lib/dialog.injector.js → esm2020/dialog/lib/dialog.injector.mjs} +0 -0
- package/{esm2015/dialog/lib/dialog.insertion.js → esm2020/dialog/lib/dialog.insertion.mjs} +4 -4
- package/{esm2015/dialog/lib/dialog.interfaces.js → esm2020/dialog/lib/dialog.interfaces.mjs} +0 -0
- package/{esm2015/dialog/lib/dialog.module.js → esm2020/dialog/lib/dialog.module.mjs} +5 -9
- package/{esm2015/dialog/lib/dialog.ref.js → esm2020/dialog/lib/dialog.ref.mjs} +0 -0
- package/{esm2015/dialog/lib/dialog.service.js → esm2020/dialog/lib/dialog.service.mjs} +5 -5
- package/{esm2015/dialog/public_api.js → esm2020/dialog/public_api.mjs} +0 -0
- package/{esm2015/elements/bravobit-bb-foundation-elements.js → esm2020/elements/bravobit-bb-foundation-elements.mjs} +0 -0
- package/esm2020/elements/lib/avatar/avatar.component.mjs +142 -0
- package/esm2020/elements/lib/button/button.component.mjs +61 -0
- package/esm2020/elements/lib/checkbox/checkbox.component.mjs +73 -0
- package/esm2020/elements/lib/date-picker/date-picker.component.mjs +304 -0
- package/{esm2015/elements/lib/directives/addon.directive.js → esm2020/elements/lib/directives/addon.directive.mjs} +7 -7
- package/esm2020/elements/lib/directives/autosize.directive.mjs +72 -0
- package/{esm2015/elements/lib/directives/focus-trap.directive.js → esm2020/elements/lib/directives/focus-trap.directive.mjs} +4 -4
- package/{esm2015/elements/lib/directives/focus.directive.js → esm2020/elements/lib/directives/focus.directive.mjs} +4 -4
- package/esm2020/elements/lib/directives/form-submit.directive.mjs +50 -0
- package/esm2020/elements/lib/directives/input.directive.mjs +136 -0
- package/{esm2015/elements/lib/directives/template.directive.js → esm2020/elements/lib/directives/template.directive.mjs} +4 -4
- package/esm2020/elements/lib/dropdown/dropdown.component.mjs +100 -0
- package/{esm2015/elements/lib/elements.interfaces.js → esm2020/elements/lib/elements.interfaces.mjs} +0 -0
- package/{esm2015/elements/lib/elements.module.js → esm2020/elements/lib/elements.module.mjs} +5 -5
- package/esm2020/elements/lib/file-picker/file-picker.component.mjs +236 -0
- package/esm2020/elements/lib/form-control/form-control.component.mjs +49 -0
- package/esm2020/elements/lib/form-error/form-error.component.mjs +108 -0
- package/esm2020/elements/lib/form-group/form-group.component.mjs +18 -0
- package/esm2020/elements/lib/icon/icon.component.mjs +102 -0
- package/esm2020/elements/lib/image-picker/image-picker.component.mjs +106 -0
- package/esm2020/elements/lib/pipes/file-image.pipe.mjs +42 -0
- package/{esm2015/elements/lib/pipes/file-size.pipe.js → esm2020/elements/lib/pipes/file-size.pipe.mjs} +4 -4
- package/esm2020/elements/lib/pipes/relative-time.pipe.mjs +94 -0
- package/esm2020/elements/lib/spinner/spinner.component.mjs +25 -0
- package/esm2020/elements/lib/tag/tag.component.mjs +18 -0
- package/{esm2015/elements/public_api.js → esm2020/elements/public_api.mjs} +0 -0
- package/{esm2015/http/bravobit-bb-foundation-http.js → esm2020/http/bravobit-bb-foundation-http.mjs} +0 -0
- package/esm2020/http/lib/classes/http.config.mjs +29 -0
- package/esm2020/http/lib/classes/http.error.mjs +20 -0
- package/{esm2015/http/lib/http.interfaces.js → esm2020/http/lib/http.interfaces.mjs} +0 -0
- package/{esm2015/http/lib/http.module.js → esm2020/http/lib/http.module.mjs} +5 -5
- package/esm2020/http/lib/interceptors/base-url.interceptor.mjs +50 -0
- package/esm2020/http/lib/interceptors/error.interceptor.mjs +32 -0
- package/{esm2015/http/public_api.js → esm2020/http/public_api.mjs} +0 -0
- package/{esm2015/lib/core/miscellaneous/regex.js → esm2020/lib/core/miscellaneous/regex.mjs} +0 -0
- package/esm2020/lib/core/miscellaneous/validator.mjs +85 -0
- package/esm2020/lib/core/mixins/can-disable.mjs +16 -0
- package/{esm2015/lib/core/mixins/can-hide-errors.js → esm2020/lib/core/mixins/can-hide-errors.mjs} +2 -2
- package/esm2020/lib/core/mixins/can-load.mjs +16 -0
- package/{esm2015/lib/core/mixins/constructor.js → esm2020/lib/core/mixins/constructor.mjs} +0 -0
- package/esm2020/lib/core/mixins/has-error.mjs +16 -0
- package/esm2020/lib/core/mixins/is-focused.mjs +16 -0
- package/esm2020/lib/core/mixins/is-grouped.mjs +16 -0
- package/esm2020/lib/core/mixins/is-readonly.mjs +16 -0
- package/esm2020/lib/core/mixins/is-required.mjs +16 -0
- package/esm2020/lib/core/services/clipboard.service.mjs +70 -0
- package/esm2020/lib/core/services/exif.service.mjs +163 -0
- package/esm2020/lib/core/services/file-loader.service.mjs +87 -0
- package/esm2020/lib/core/services/image-converter.service.mjs +123 -0
- package/{esm2015/lib/core/services/languages.service.js → esm2020/lib/core/services/languages.service.mjs} +4 -4
- package/{esm2015/lib/core/services/network.service.js → esm2020/lib/core/services/network.service.mjs} +5 -6
- package/esm2020/lib/core/services/patch.service.mjs +63 -0
- package/{esm2015/lib/core/services/platform.service.js → esm2020/lib/core/services/platform.service.mjs} +5 -5
- package/{esm2015/lib/core/tokens/accept-language.token.js → esm2020/lib/core/tokens/accept-language.token.mjs} +0 -0
- package/{esm2015/lib/core/tokens/base-url.token.js → esm2020/lib/core/tokens/base-url.token.mjs} +0 -0
- package/{esm2015/lib/core/tokens/cookie.token.js → esm2020/lib/core/tokens/cookie.token.mjs} +0 -0
- package/{esm2015/lib/core/tokens/location.token.js → esm2020/lib/core/tokens/location.token.mjs} +0 -0
- package/{esm2015/lib/core/tokens/navigator.token.js → esm2020/lib/core/tokens/navigator.token.mjs} +0 -0
- package/{esm2015/lib/core/tokens/window.token.js → esm2020/lib/core/tokens/window.token.mjs} +0 -0
- package/{esm2015/localize/bravobit-bb-foundation-localize.js → esm2020/localize/bravobit-bb-foundation-localize.mjs} +0 -0
- package/{esm2015/localize/lib/functions/date.function.js → esm2020/localize/lib/functions/date.function.mjs} +0 -0
- package/{esm2015/localize/lib/functions/lowercase.function.js → esm2020/localize/lib/functions/lowercase.function.mjs} +0 -0
- package/{esm2015/localize/lib/functions/uppercase.function.js → esm2020/localize/lib/functions/uppercase.function.mjs} +0 -0
- package/{esm2015/localize/lib/handlers/missing.handler.js → esm2020/localize/lib/handlers/missing.handler.mjs} +0 -0
- package/{esm2015/localize/lib/interfaces/config.interfaces.js → esm2020/localize/lib/interfaces/config.interfaces.mjs} +0 -0
- package/{esm2015/localize/lib/interfaces/dictionary.interfaces.js → esm2020/localize/lib/interfaces/dictionary.interfaces.mjs} +0 -0
- package/{esm2015/localize/lib/interfaces/functions.interfaces.js → esm2020/localize/lib/interfaces/functions.interfaces.mjs} +0 -0
- package/{esm2015/localize/lib/interfaces/handlers.interfaces.js → esm2020/localize/lib/interfaces/handlers.interfaces.mjs} +0 -0
- package/{esm2015/localize/lib/interfaces/options.interfaces.js → esm2020/localize/lib/interfaces/options.interfaces.mjs} +0 -0
- package/{esm2015/localize/lib/localizations/dutch.localization.js → esm2020/localize/lib/localizations/dutch.localization.mjs} +0 -0
- package/{esm2015/localize/lib/localizations/english.localization.js → esm2020/localize/lib/localizations/english.localization.mjs} +0 -0
- package/esm2020/localize/lib/localize.dictionary.mjs +135 -0
- package/{esm2015/localize/lib/localize.module.js → esm2020/localize/lib/localize.module.mjs} +5 -5
- package/{esm2015/localize/lib/localize.pipe.js → esm2020/localize/lib/localize.pipe.mjs} +5 -5
- package/esm2020/localize/lib/localize.service.mjs +277 -0
- package/esm2020/localize/lib/views/localize-string/localize-string.component.mjs +88 -0
- package/{esm2015/localize/lib/views/localize-template-or-string.directive.js → esm2020/localize/lib/views/localize-template-or-string.directive.mjs} +4 -4
- package/{esm2015/localize/lib/views/localize-template.directive.js → esm2020/localize/lib/views/localize-template.directive.mjs} +4 -4
- package/{esm2015/localize/public_api.js → esm2020/localize/public_api.mjs} +0 -0
- package/{esm2015/notifications/bravobit-bb-foundation-notifications.js → esm2020/notifications/bravobit-bb-foundation-notifications.mjs} +0 -0
- package/esm2020/notifications/lib/notifications-item/notifications-item.component.mjs +100 -0
- package/esm2020/notifications/lib/notifications-list/notifications-list.component.mjs +47 -0
- package/{esm2015/notifications/lib/notifications.animations.js → esm2020/notifications/lib/notifications.animations.mjs} +0 -0
- package/{esm2015/notifications/lib/notifications.injector.js → esm2020/notifications/lib/notifications.injector.mjs} +0 -0
- package/{esm2015/notifications/lib/notifications.interfaces.js → esm2020/notifications/lib/notifications.interfaces.mjs} +0 -0
- package/{esm2015/notifications/lib/notifications.module.js → esm2020/notifications/lib/notifications.module.mjs} +6 -7
- package/{esm2015/notifications/lib/notifications.service.js → esm2020/notifications/lib/notifications.service.mjs} +5 -5
- package/{esm2015/notifications/public_api.js → esm2020/notifications/public_api.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +1 -2
- package/{esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js → esm2020/recaptcha/bravobit-bb-foundation-recaptcha.mjs} +0 -0
- package/esm2020/recaptcha/lib/recaptcha/recaptcha.component.mjs +185 -0
- package/esm2020/recaptcha/lib/recaptcha-loader.service.mjs +90 -0
- package/{esm2015/recaptcha/lib/recaptcha.interface.js → esm2020/recaptcha/lib/recaptcha.interface.mjs} +0 -0
- package/{esm2015/recaptcha/lib/recaptcha.module.js → esm2020/recaptcha/lib/recaptcha.module.mjs} +5 -5
- package/{esm2015/recaptcha/public_api.js → esm2020/recaptcha/public_api.mjs} +0 -0
- package/{esm2015/rxjs/bravobit-bb-foundation-rxjs.js → esm2020/rxjs/bravobit-bb-foundation-rxjs.mjs} +0 -0
- package/esm2020/rxjs/lib/operators/combine-latest-map.operator.mjs +10 -0
- package/{esm2015/rxjs/lib/operators/filter-nil.operator.js → esm2020/rxjs/lib/operators/filter-nil.operator.mjs} +0 -0
- package/{esm2015/rxjs/public_api.js → esm2020/rxjs/public_api.mjs} +0 -0
- package/{esm2015/storage/bravobit-bb-foundation-storage.js → esm2020/storage/bravobit-bb-foundation-storage.mjs} +0 -0
- package/{esm2015/storage/lib/interfaces/attributes.interface.js → esm2020/storage/lib/interfaces/attributes.interface.mjs} +0 -0
- package/{esm2015/storage/lib/interfaces/memory.interface.js → esm2020/storage/lib/interfaces/memory.interface.mjs} +0 -0
- package/{esm2015/storage/lib/interfaces/strategy.interface.js → esm2020/storage/lib/interfaces/strategy.interface.mjs} +0 -0
- package/esm2020/storage/lib/storage.service.mjs +109 -0
- package/esm2020/storage/lib/strategies/cookie-storage.strategy.mjs +142 -0
- package/{esm2015/storage/lib/strategies/memory-storage.strategy.js → esm2020/storage/lib/strategies/memory-storage.strategy.mjs} +2 -2
- package/esm2020/storage/lib/strategies/polyfill-storage.strategy.mjs +102 -0
- package/{esm2015/storage/public_api.js → esm2020/storage/public_api.mjs} +0 -0
- package/{esm2015/table/bravobit-bb-foundation-table.js → esm2020/table/bravobit-bb-foundation-table.mjs} +0 -0
- package/esm2020/table/lib/components/table/table.component.mjs +191 -0
- package/esm2020/table/lib/components/table-cell/table-cell.component.mjs +11 -0
- package/esm2020/table/lib/components/table-header-cell/table-header-cell.component.mjs +131 -0
- package/esm2020/table/lib/components/table-pager/table-pager.component.mjs +136 -0
- package/esm2020/table/lib/data/datasource.data.mjs +32 -0
- package/esm2020/table/lib/data/generic.data.mjs +72 -0
- package/{esm2015/table/lib/interfaces/datasource.interface.js → esm2020/table/lib/interfaces/datasource.interface.mjs} +0 -0
- package/{esm2015/table/lib/interfaces/table.interfaces.js → esm2020/table/lib/interfaces/table.interfaces.mjs} +0 -0
- package/{esm2015/table/lib/table.module.js → esm2020/table/lib/table.module.mjs} +5 -5
- package/{esm2015/table/public_api.js → esm2020/table/public_api.mjs} +0 -0
- package/fesm2015/{bravobit-bb-foundation-auth.js → bravobit-bb-foundation-auth.mjs} +79 -68
- package/fesm2015/bravobit-bb-foundation-auth.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-collections.js → bravobit-bb-foundation-collections.mjs} +45 -57
- package/fesm2015/bravobit-bb-foundation-collections.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation-controls.mjs +235 -0
- package/fesm2015/bravobit-bb-foundation-controls.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs +416 -0
- package/fesm2015/bravobit-bb-foundation-dashboard.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-dialog.js → bravobit-bb-foundation-dialog.mjs} +45 -106
- package/fesm2015/bravobit-bb-foundation-dialog.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-elements.js → bravobit-bb-foundation-elements.mjs} +195 -303
- package/fesm2015/bravobit-bb-foundation-elements.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-http.js → bravobit-bb-foundation-http.mjs} +18 -16
- package/fesm2015/bravobit-bb-foundation-http.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-localize.js → bravobit-bb-foundation-localize.mjs} +63 -69
- package/fesm2015/bravobit-bb-foundation-localize.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation-notifications.mjs +377 -0
- package/fesm2015/bravobit-bb-foundation-notifications.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-recaptcha.js → bravobit-bb-foundation-recaptcha.mjs} +40 -47
- package/fesm2015/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-rxjs.js → bravobit-bb-foundation-rxjs.mjs} +1 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation-storage.js → bravobit-bb-foundation-storage.mjs} +12 -10
- package/fesm2015/bravobit-bb-foundation-storage.mjs.map +1 -0
- package/fesm2015/bravobit-bb-foundation-table.mjs +603 -0
- package/fesm2015/bravobit-bb-foundation-table.mjs.map +1 -0
- package/fesm2015/{bravobit-bb-foundation.js → bravobit-bb-foundation.mjs} +76 -69
- package/fesm2015/bravobit-bb-foundation.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-auth.mjs +928 -0
- package/fesm2020/bravobit-bb-foundation-auth.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-collections.mjs +441 -0
- package/fesm2020/bravobit-bb-foundation-collections.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-controls.mjs +233 -0
- package/fesm2020/bravobit-bb-foundation-controls.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs +404 -0
- package/fesm2020/bravobit-bb-foundation-dashboard.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-dialog.mjs +584 -0
- package/fesm2020/bravobit-bb-foundation-dialog.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-elements.mjs +1994 -0
- package/fesm2020/bravobit-bb-foundation-elements.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-http.mjs +168 -0
- package/fesm2020/bravobit-bb-foundation-http.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-localize.mjs +832 -0
- package/fesm2020/bravobit-bb-foundation-localize.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-notifications.mjs +375 -0
- package/fesm2020/bravobit-bb-foundation-notifications.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs +300 -0
- package/fesm2020/bravobit-bb-foundation-recaptcha.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs +21 -0
- package/fesm2020/bravobit-bb-foundation-rxjs.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-storage.mjs +413 -0
- package/fesm2020/bravobit-bb-foundation-storage.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation-table.mjs +592 -0
- package/fesm2020/bravobit-bb-foundation-table.mjs.map +1 -0
- package/fesm2020/bravobit-bb-foundation.mjs +892 -0
- package/fesm2020/bravobit-bb-foundation.mjs.map +1 -0
- package/http/package.json +5 -5
- package/localize/package.json +5 -5
- package/notifications/package.json +5 -5
- package/package.json +126 -8
- package/public_api.d.ts +0 -1
- package/recaptcha/package.json +5 -5
- package/rxjs/package.json +5 -5
- package/storage/package.json +5 -5
- package/table/package.json +5 -5
- package/bundles/bravobit-bb-foundation-auth.umd.js +0 -1483
- package/bundles/bravobit-bb-foundation-auth.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-collections.umd.js +0 -868
- package/bundles/bravobit-bb-foundation-collections.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-dashboard.umd.js +0 -876
- package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-dialog.umd.js +0 -716
- package/bundles/bravobit-bb-foundation-dialog.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-elements.umd.js +0 -2768
- package/bundles/bravobit-bb-foundation-elements.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-http.umd.js +0 -535
- package/bundles/bravobit-bb-foundation-http.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-localize.umd.js +0 -1292
- package/bundles/bravobit-bb-foundation-localize.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-notifications.umd.js +0 -794
- package/bundles/bravobit-bb-foundation-notifications.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js +0 -683
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-rxjs.umd.js +0 -29
- package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-storage.umd.js +0 -799
- package/bundles/bravobit-bb-foundation-storage.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation-table.umd.js +0 -1084
- package/bundles/bravobit-bb-foundation-table.umd.js.map +0 -1
- package/bundles/bravobit-bb-foundation.umd.js +0 -1440
- package/bundles/bravobit-bb-foundation.umd.js.map +0 -1
- package/esm2015/auth/lib/auth.interceptor.js +0 -95
- package/esm2015/auth/lib/auth.service.js +0 -299
- package/esm2015/auth/lib/auth.session.js +0 -136
- package/esm2015/auth/lib/directives/permission.directive.js +0 -81
- package/esm2015/auth/lib/directives/role.directive.js +0 -38
- package/esm2015/auth/lib/guards/anonymous.guard.js +0 -35
- package/esm2015/auth/lib/guards/authenticated.guard.js +0 -36
- package/esm2015/auth/lib/permissions.service.js +0 -58
- package/esm2015/auth/lib/providers/email.provider.js +0 -26
- package/esm2015/auth/lib/providers/verify.provider.js +0 -20
- package/esm2015/collections/lib/collection.js +0 -104
- package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +0 -136
- package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +0 -39
- package/esm2015/collections/lib/providers/api-collection.provider.js +0 -69
- package/esm2015/collections/lib/providers/collection.provider.js +0 -14
- package/esm2015/dashboard/lib/dashboard/dashboard.component.js +0 -64
- package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +0 -41
- package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +0 -39
- package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +0 -38
- package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +0 -83
- package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +0 -110
- package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +0 -71
- package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +0 -20
- package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +0 -45
- package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +0 -33
- package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +0 -19
- package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +0 -54
- package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +0 -143
- package/esm2015/elements/lib/avatar/avatar.component.js +0 -151
- package/esm2015/elements/lib/button/button.component.js +0 -79
- package/esm2015/elements/lib/checkbox/checkbox.component.js +0 -83
- package/esm2015/elements/lib/date-picker/date-picker.component.js +0 -322
- package/esm2015/elements/lib/directives/autosize.directive.js +0 -74
- package/esm2015/elements/lib/directives/form-submit.directive.js +0 -53
- package/esm2015/elements/lib/directives/input.directive.js +0 -139
- package/esm2015/elements/lib/dropdown/dropdown.component.js +0 -111
- package/esm2015/elements/lib/file-picker/file-picker.component.js +0 -247
- package/esm2015/elements/lib/form-control/form-control.component.js +0 -58
- package/esm2015/elements/lib/form-error/form-error.component.js +0 -116
- package/esm2015/elements/lib/form-group/form-group.component.js +0 -27
- package/esm2015/elements/lib/icon/icon.component.js +0 -110
- package/esm2015/elements/lib/image-picker/image-picker.component.js +0 -119
- package/esm2015/elements/lib/pipes/file-image.pipe.js +0 -45
- package/esm2015/elements/lib/pipes/relative-time.pipe.js +0 -96
- package/esm2015/elements/lib/spinner/spinner.component.js +0 -34
- package/esm2015/elements/lib/tag/tag.component.js +0 -26
- package/esm2015/http/lib/classes/http.config.js +0 -31
- package/esm2015/http/lib/classes/http.error.js +0 -21
- package/esm2015/http/lib/interceptors/base-url.interceptor.js +0 -52
- package/esm2015/http/lib/interceptors/error.interceptor.js +0 -33
- package/esm2015/lib/core/coercions/boolean-coercion.js +0 -4
- package/esm2015/lib/core/miscellaneous/validator.js +0 -86
- package/esm2015/lib/core/mixins/can-disable.js +0 -16
- package/esm2015/lib/core/mixins/can-load.js +0 -16
- package/esm2015/lib/core/mixins/has-error.js +0 -16
- package/esm2015/lib/core/mixins/is-focused.js +0 -16
- package/esm2015/lib/core/mixins/is-grouped.js +0 -16
- package/esm2015/lib/core/mixins/is-readonly.js +0 -16
- package/esm2015/lib/core/mixins/is-required.js +0 -16
- package/esm2015/lib/core/services/clipboard.service.js +0 -72
- package/esm2015/lib/core/services/exif.service.js +0 -168
- package/esm2015/lib/core/services/file-loader.service.js +0 -90
- package/esm2015/lib/core/services/image-converter.service.js +0 -130
- package/esm2015/lib/core/services/patch.service.js +0 -65
- package/esm2015/localize/lib/localize.dictionary.js +0 -137
- package/esm2015/localize/lib/localize.service.js +0 -282
- package/esm2015/localize/lib/views/localize-string/localize-string.component.js +0 -99
- package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +0 -108
- package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +0 -56
- package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +0 -199
- package/esm2015/recaptcha/lib/recaptcha-loader.service.js +0 -93
- package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +0 -7
- package/esm2015/storage/lib/storage.service.js +0 -111
- package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +0 -143
- package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +0 -102
- package/esm2015/table/lib/components/table/table.component.js +0 -204
- package/esm2015/table/lib/components/table-cell/table-cell.component.js +0 -19
- package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +0 -143
- package/esm2015/table/lib/components/table-pager/table-pager.component.js +0 -146
- package/esm2015/table/lib/data/datasource.data.js +0 -32
- package/esm2015/table/lib/data/generic.data.js +0 -73
- package/fesm2015/bravobit-bb-foundation-auth.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-collections.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-dashboard.js +0 -468
- package/fesm2015/bravobit-bb-foundation-dashboard.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-dialog.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-elements.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-http.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-localize.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-notifications.js +0 -393
- package/fesm2015/bravobit-bb-foundation-notifications.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-storage.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation-table.js +0 -636
- package/fesm2015/bravobit-bb-foundation-table.js.map +0 -1
- package/fesm2015/bravobit-bb-foundation.js.map +0 -1
- package/lib/core/coercions/boolean-coercion.d.ts +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-elements.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/bb-foundation/elements/src/lib/dropdown/dropdown.component.ts","../../../projects/bb-foundation/elements/src/lib/dropdown/dropdown.component.html","../../../projects/bb-foundation/elements/src/lib/elements.interfaces.ts","../../../projects/bb-foundation/elements/src/lib/spinner/spinner.component.ts","../../../projects/bb-foundation/elements/src/lib/spinner/spinner.component.html","../../../projects/bb-foundation/elements/src/lib/button/button.component.ts","../../../projects/bb-foundation/elements/src/lib/button/button.component.html","../../../projects/bb-foundation/elements/src/lib/image-picker/image-picker.component.ts","../../../projects/bb-foundation/elements/src/lib/image-picker/image-picker.component.html","../../../projects/bb-foundation/elements/src/lib/directives/form-submit.directive.ts","../../../projects/bb-foundation/elements/src/lib/form-error/form-error.component.ts","../../../projects/bb-foundation/elements/src/lib/form-error/form-error.component.html","../../../projects/bb-foundation/elements/src/lib/directives/template.directive.ts","../../../projects/bb-foundation/elements/src/lib/form-control/form-control.component.ts","../../../projects/bb-foundation/elements/src/lib/form-control/form-control.component.html","../../../projects/bb-foundation/elements/src/lib/pipes/file-image.pipe.ts","../../../projects/bb-foundation/elements/src/lib/pipes/file-size.pipe.ts","../../../projects/bb-foundation/elements/src/lib/file-picker/file-picker.component.ts","../../../projects/bb-foundation/elements/src/lib/file-picker/file-picker.component.html","../../../projects/bb-foundation/elements/src/lib/directives/input.directive.ts","../../../projects/bb-foundation/elements/src/lib/date-picker/date-picker.component.ts","../../../projects/bb-foundation/elements/src/lib/date-picker/date-picker.component.html","../../../projects/bb-foundation/elements/src/lib/directives/addon.directive.ts","../../../projects/bb-foundation/elements/src/lib/form-group/form-group.component.ts","../../../projects/bb-foundation/elements/src/lib/form-group/form-group.component.html","../../../projects/bb-foundation/elements/src/lib/directives/focus-trap.directive.ts","../../../projects/bb-foundation/elements/src/lib/directives/autosize.directive.ts","../../../projects/bb-foundation/elements/src/lib/pipes/relative-time.pipe.ts","../../../projects/bb-foundation/elements/src/lib/checkbox/checkbox.component.ts","../../../projects/bb-foundation/elements/src/lib/checkbox/checkbox.component.html","../../../projects/bb-foundation/elements/src/lib/directives/focus.directive.ts","../../../projects/bb-foundation/elements/src/lib/avatar/avatar.component.ts","../../../projects/bb-foundation/elements/src/lib/avatar/avatar.component.html","../../../projects/bb-foundation/elements/src/lib/icon/icon.component.ts","../../../projects/bb-foundation/elements/src/lib/icon/icon.component.html","../../../projects/bb-foundation/elements/src/lib/tag/tag.component.ts","../../../projects/bb-foundation/elements/src/lib/tag/tag.component.html","../../../projects/bb-foundation/elements/src/lib/elements.module.ts","../../../projects/bb-foundation/elements/src/bravobit-bb-foundation-elements.ts"],"sourcesContent":["/*! *****************************************************************************\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 {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n Host,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport {animate, style, transition, trigger} from '@angular/animations';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'bb-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dropdown'},\n preserveWhitespaces: false,\n animations: [\n trigger('dropdownMenuAnimation', [\n transition(':enter', [\n // 1. Set the initial state.\n style({opacity: 0, transform: 'scale(0.9)'}),\n // 2. Start the animation to show the item.\n animate('80ms cubic-bezier(0, 0, .2, 1)', style({opacity: 1, transform: 'scale(1)'}))\n ]),\n transition(':leave', [\n // 1. Set the initial state.\n style({opacity: 1, transform: 'scale(1)'}),\n // 2. Start the animation to hide the item.\n animate('80ms cubic-bezier(0, 0, .2, 1)', style({opacity: 0, transform: 'scale(0.9)'}))\n ])\n ])\n ]\n\n})\nexport class BbDropdown {\n\n // State.\n visible$ = new BehaviorSubject<boolean>(false);\n\n constructor(private _elementRef: ElementRef) {\n }\n\n toggle() {\n return this.visible$.next(!this.visible$.getValue());\n }\n\n close() {\n return this.visible$.next(false);\n }\n\n @HostListener('document:click', ['$event.target'])\n onDocumentClick(target: HTMLElement) {\n if (!target) {\n return;\n }\n\n if (this._elementRef?.nativeElement?.contains(target)) {\n return;\n }\n\n return this.close();\n }\n\n}\n\n@Directive({\n selector: '[bbDropdownItem]',\n host: {\n 'class': 'bb-dropdown-item'\n }\n})\nexport class BbDropdownItem {\n\n // Inputs.\n @Input() closeOnClick: boolean = true;\n\n constructor(@Optional() @Host() private _parent?: BbDropdown) {\n }\n\n @HostListener('click')\n onClick() {\n if (!this.closeOnClick) {\n return;\n }\n\n this._parent?.close();\n }\n\n}\n","<button (click)=\"toggle()\"\n [class.opened]=\"visible$ | async\"\n type=\"button\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"visible$ | async\"\n [@dropdownMenuAnimation]=\"true\"\n class=\"bb-dropdown-menu\"\n role=\"list\">\n <ng-content select=\"[bbDropdownItem], hr\"></ng-content>\n</div>\n","import {InjectionToken} from '@angular/core';\n\nexport const ELEMENTS_ICONS: InjectionToken<ElementsIcon[]> = new InjectionToken('elements_icons');\nexport const ELEMENTS_ERRORS: InjectionToken<ElementsError[]> = new InjectionToken('elements_errors');\n\nexport type ElementsIcon = ElementsIconFont | ElementsIconImage | ElementsIconUnknown;\nexport type ElementsError = { [error: string]: (data?: any) => string | { token: string, data?: any }; };\n\nexport interface ElementsIconFont {\n namespace: string;\n className: string;\n uses: 'content' | 'data-attribute';\n type: 'font';\n}\n\nexport interface ElementsIconImage {\n namespace: string;\n name: string;\n src: string;\n type: 'image';\n}\n\nexport interface ElementsIconUnknown {\n type: 'unknown';\n}\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {CanDisable, CanDisableConstructor, mixinDisabled} from '@bravobit/bb-foundation';\n\nclass BbSpinnerBase {\n}\n\nconst BbSpinnerMixinBase: CanDisableConstructor\n & typeof BbSpinnerBase\n = mixinDisabled(BbSpinnerBase);\n\n@Component({\n selector: 'bb-spinner',\n templateUrl: './spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-spinner'},\n inputs: ['color', 'alt', 'disabled'],\n preserveWhitespaces: false\n})\nexport class BbSpinner extends BbSpinnerMixinBase implements CanDisable {\n\n // Inputs.\n @Input() color: string = '#303f9f';\n @Input() alt: string = 'Loading...';\n\n}\n","<!--\n The spinner element.\n\n This element contains a circle with a 25% bar that spins\n indefinitely. The border color can be set via the \"color\"\n property.\n-->\n<div class=\"bb-spinner-container\">\n <div [style.border-left-color]=\"color\"\n [class.disabled]=\"disabled\"\n class=\"bb-spinner-loader\"\n aria-live=\"assertive\"\n role=\"alert\">\n {{ alt }}\n </div>\n <ng-content select=\"img\"></ng-content>\n</div>\n\n<!--\n The content of the spinner.\n\n This element contains the content of the spinner. The user\n can set the content inside the tag.\n-->\n<span class=\"bb-spinner-content\">\n <ng-content></ng-content>\n</span>\n","import {\n CanLoad,\n CanLoadConstructor,\n mixinLoad,\n CanDisable,\n CanDisableConstructor,\n mixinDisabled\n} from '@bravobit/bb-foundation';\nimport {ChangeDetectionStrategy, Component, ElementRef, Input, ViewEncapsulation} from '@angular/core';\n\nclass BbButtonBase {\n constructor(public _elementRef: ElementRef) {\n }\n}\n\nconst BbButtonMixinBase: CanDisableConstructor & CanLoadConstructor\n & typeof BbButtonBase = mixinDisabled(mixinLoad(BbButtonBase));\n\n@Component({\n selector: 'button[bb-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'bbButton',\n host: {\n 'class': 'bb-button',\n '[class.loading]': 'loading',\n '[attr.disabled]': 'disabled || loading || null'\n },\n inputs: ['disabled', 'loading'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BbButton extends BbButtonMixinBase implements CanDisable, CanLoad {\n\n get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n constructor(_elementRef: ElementRef<HTMLButtonElement>) {\n super(_elementRef);\n }\n\n focus() {\n this.nativeElement && this.nativeElement.focus();\n }\n\n}\n\n@Component({\n selector: 'a[bb-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n exportAs: 'bbButton, bbAnchor',\n host: {\n 'class': 'bb-button',\n '[attr.tabindex]': '(disabled || loading) ? -1 : (tabIndex || 0)',\n '[attr.disabled]': 'disabled || loading || null',\n '[attr.aria-disabled]': '(disabled || loading).toString()',\n '(click)': 'stopDisabledEvents($event)'\n },\n inputs: ['disabled', 'loading'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BbAnchor extends BbButton {\n\n // Inputs.\n @Input() tabIndex: number;\n\n constructor(_elementRef: ElementRef) {\n super(_elementRef);\n }\n\n stopDisabledEvents(event: Event) {\n // If the button is not disabled (and not loading) let all events pass.\n if (!this.disabled && !this.loading) {\n return;\n }\n\n // If the button is disabled and/or loading stop\n // the event from bubbling up.\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n}\n","<bb-spinner [class.visible]=\"loading\"\n class=\"bb-button-spinner small\">\n</bb-spinner>\n\n<ng-content></ng-content>\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ImageConverter,\n CanDisableConstructor,\n mixinDisabled,\n IsGroupedConstructor,\n mixinGrouped\n} from '@bravobit/bb-foundation';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {BehaviorSubject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nclass BbImagePickerBase {\n}\n\nconst BbImagePickerMixinBase: IsGroupedConstructor\n & CanDisableConstructor\n & typeof BbImagePickerBase\n = mixinDisabled(mixinGrouped(BbImagePickerBase));\n\n@Component({\n selector: 'bb-image-picker',\n templateUrl: './image-picker.component.html',\n styleUrls: ['./image-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-image-picker',\n '[class.disabled]': 'disabled',\n '[class.grouped]': 'grouped'\n },\n inputs: ['grouped', 'disabled'],\n providers: [{provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbImagePicker), multi: true}],\n preserveWhitespaces: false\n})\nexport class BbImagePicker extends BbImagePickerMixinBase implements ControlValueAccessor {\n\n // Views.\n @ViewChild('fileInput', {static: true}) fileInput: ElementRef<HTMLInputElement>;\n\n // Inputs.\n @Input() label: string | null = null;\n @Input() placeholder: string | null = null;\n @Input() styleDimensions: { width: string, height: string } | null = null;\n @Input() cropDimensions: { width: number, height: number } | null = null;\n\n // Form.\n private _value$ = new BehaviorSubject<string | null>(null);\n\n constructor(private _converter: ImageConverter) {\n super();\n }\n\n @Input()\n get value() {\n return this._value$.getValue();\n }\n\n @Output() valueChange = new EventEmitter<string | null>();\n\n set value(value: string | null) {\n this._value$.next(value);\n this.valueChange.emit(value);\n }\n\n get image() {\n return this._value$.pipe(\n map(value => value || this.placeholder),\n map(value => value ? `url(${value})` : null)\n );\n }\n\n async onFileChange(event) {\n // Grab the file from the event.\n const file: File = event.target.files[0];\n\n // Check if the file exists.\n if (!file || this.disabled) {\n return;\n }\n\n try {\n this.value = await this._converter.toDataUri(file, this.cropDimensions);\n } catch (error) {\n this.value = null;\n }\n\n this.onChangeCallback(this.value);\n\n if (this.fileInput && this.fileInput.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n }\n\n openFilePicker() {\n if (this.disabled) {\n return;\n }\n\n // Execute a click on the file input.\n this.fileInput\n && this.fileInput.nativeElement\n && this.fileInput.nativeElement.click\n && this.fileInput.nativeElement.click();\n }\n\n onTouchedCallback: () => void = () => {\n };\n\n onChangeCallback: (_: string | null) => void = () => {\n };\n\n writeValue(value: string | null) {\n this.value = value;\n }\n\n registerOnChange(method: (_: string | null) => void) {\n this.onChangeCallback = method;\n }\n\n registerOnTouched(method: () => void) {\n this.onTouchedCallback = method;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n}\n","<!-- The input that can open the file picker. -->\n<input #fileInput\n (change)=\"onFileChange($event)\"\n class=\"bb-image-picker-input\"\n type=\"file\"\n tabindex=\"-1\"\n accept=\"image/*\">\n\n<span [style.width]=\"styleDimensions?.width || '100%'\"\n [style.height]=\"styleDimensions?.height || '215px'\"\n [style.background-image]=\"image | async\"\n class=\"bb-image-input-image\">\n </span>\n\n<button *ngIf=\"label as labelText\"\n (click)=\"openFilePicker()\"\n bb-button\n class=\"bb-image-input-button\"\n type=\"button\">\n {{ labelText }}\n</button>\n","import {distinctUntilChanged, mapTo, shareReplay, startWith} from 'rxjs/operators';\nimport {Directive, ElementRef, OnInit, Optional, Self} from '@angular/core';\nimport {EMPTY, fromEvent, merge, Observable} from 'rxjs';\nimport {FormGroupDirective} from '@angular/forms';\n\n@Directive({\n selector: 'form',\n exportAs: 'bbForm'\n})\nexport class BbFormSubmit implements OnInit {\n\n submitStatus$: Observable<boolean>;\n\n constructor(private _host: ElementRef<HTMLFormElement>,\n @Optional() @Self() private _formDirective: FormGroupDirective) {\n }\n\n ngOnInit() {\n // Submit changes.\n const regularSubmitChanges$ = fromEvent(this.nativeElement, 'submit').pipe(\n mapTo(true)\n );\n\n // Reactive form submit changes.\n const reactiveSubmitChanges$ = this.reactiveSubmitChanges();\n\n // Reset changes.\n const resetChanges$ = fromEvent(this.nativeElement, 'reset').pipe(\n mapTo(false)\n );\n\n // Listen to the submit status.\n this.submitStatus$ = merge(regularSubmitChanges$, reactiveSubmitChanges$, resetChanges$).pipe(\n startWith(false),\n distinctUntilChanged(),\n shareReplay(1)\n );\n }\n\n submit() {\n this._formDirective?.ngSubmit?.emit();\n }\n\n reset() {\n return this.nativeElement?.reset();\n }\n\n private get nativeElement() {\n return this._host?.nativeElement;\n }\n\n private reactiveSubmitChanges() {\n if (!this._formDirective) {\n return EMPTY;\n }\n\n return this._formDirective.ngSubmit.pipe(\n mapTo(true)\n );\n }\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {delay, distinctUntilChanged, map, startWith, tap} from 'rxjs/operators';\nimport {ELEMENTS_ERRORS, ElementsError} from '../elements.interfaces';\nimport {BbFormSubmit} from '../directives/form-submit.directive';\nimport {NgControl, ValidationErrors} from '@angular/forms';\nimport {combineLatest, EMPTY, Observable, of} from 'rxjs';\n\n@Component({\n selector: 'bb-form-error',\n templateUrl: './form-error.component.html',\n styleUrls: ['./form-error.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-form-error'\n },\n preserveWhitespaces: false\n})\nexport class BbFormError implements OnInit {\n\n // Inputs.\n @Input()\n set control(value: NgControl) {\n this._ngControl = value;\n }\n\n get control() {\n return this._ngControl;\n }\n\n // Outputs.\n @Output() errorChange = new EventEmitter<{ token: string, data?: any } | null>();\n\n // State.\n error$: Observable<{ token: string, data?: any } | null>;\n\n // Subscriptions.\n private _ngControl: NgControl | null = null;\n\n constructor(@Optional() private _form: BbFormSubmit,\n @Optional() private _control: NgControl,\n @Optional() @Inject(ELEMENTS_ERRORS) private _errors: ElementsError[]) {\n }\n\n ngOnInit() {\n // Set the control if it was not set before.\n if (!this.control) {\n this.control = this._control;\n }\n\n // Listen for the submit changes\n const submitStatus$ = this.submitStatusChanges();\n\n // An observable that emits error changes.\n const errorChanges$ = this.statusChanges().pipe(\n map(() => this.getError(this.control.errors)),\n distinctUntilChanged(),\n map(error => typeof error === 'string' ? {token: error} : error)\n );\n\n // Whenever the user submitted the form we want to\n // listen for any error changes.\n this.error$ = combineLatest([submitStatus$, errorChanges$]).pipe(\n map(([submitted, error]) => {\n // If not submitted return null.\n if (!submitted) {\n return null;\n }\n\n // Return the error if submitted.\n return error;\n }),\n tap(value => this.errorChange.emit(value))\n );\n }\n\n private getError(errors?: ValidationErrors) {\n // Validate the errors exist.\n if (!errors) {\n return null;\n }\n\n // Get the first error in the errors.\n const [errorName] = Object.keys(errors);\n const error = errors[errorName];\n\n // Validate the error exists.\n if (!error) {\n return null;\n }\n\n // Map the arrays into a object so we can\n // access the functions by a key-lookup.\n const errorFunctions = this._errors.reduce((previous, current) => ({...previous, ...current}), {});\n\n // Get the error function.\n const errorFunction = errorFunctions[errorName] || errorFunctions['unknown'];\n\n // Validate the error function exists.\n if (!errorFunction) {\n return null;\n }\n\n // Return the parsed error.\n return errorFunction(error);\n }\n\n private submitStatusChanges() {\n if (!this._form) {\n return of(true);\n }\n\n return this._form.submitStatus$;\n }\n\n private statusChanges() {\n if (!this.control) {\n return EMPTY;\n }\n\n if (!this.control.statusChanges) {\n return EMPTY;\n }\n\n return this.control.statusChanges.pipe(\n startWith(this.control.status as unknown),\n delay(0)\n );\n }\n\n}\n","<ng-container *ngIf=\"error$ | async as error\">\n <p *ngIf=\"error?.token | bbLocalize:{optional: true, data: error?.data} as message\"\n class=\"bb-form-error-message\">\n {{ message }}\n </p>\n</ng-container>","import {Directive, Input, TemplateRef, ViewContainerRef} from '@angular/core';\n\n@Directive({\n selector: '[bbTemplate]'\n})\nexport class BbTemplate {\n\n @Input() set bbTemplate(content: string | TemplateRef<any>) {\n // Get the template.\n const template = content instanceof TemplateRef\n ? content\n : this._templateRef;\n\n // Clear the view container ref and create the view.\n this._viewContainerRef.clear();\n this._viewContainerRef.createEmbeddedView(template);\n }\n\n constructor(private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef) {\n }\n\n}\n","import {\n IsRequired,\n IsRequiredConstructor,\n mixinRequired,\n CanDisable,\n CanDisableConstructor,\n mixinDisabled,\n IsReadonly,\n IsReadonlyConstructor,\n mixinReadonly,\n IsGrouped,\n IsGroupedConstructor,\n mixinGrouped,\n IsFocused,\n IsFocusedConstructor,\n mixinFocused,\n HasError,\n HasErrorConstructor,\n mixinError,\n CanHideErrors,\n CanHideErrorsConstructor,\n mixinHideErrors\n} from '@bravobit/bb-foundation';\nimport {ChangeDetectionStrategy, Component, ContentChild, Input, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {NgControl} from '@angular/forms';\n\nlet nextUniqueId = 0;\n\nclass BbFormControlBase {\n}\n\nconst BbFormControlMixinBase: IsRequiredConstructor\n & IsGroupedConstructor\n & IsFocusedConstructor\n & IsReadonlyConstructor\n & CanDisableConstructor\n & HasErrorConstructor\n & CanHideErrorsConstructor\n & typeof BbFormControlBase\n = mixinDisabled(mixinFocused(mixinReadonly(mixinGrouped(mixinRequired(mixinError(mixinHideErrors(BbFormControlBase)))))));\n\n@Component({\n selector: 'bb-form-control',\n templateUrl: './form-control.component.html',\n styleUrls: ['./form-control.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-form-control',\n '[class.readonly]': 'readonly',\n '[class.required]': 'required',\n '[class.disabled]': 'disabled',\n '[class.focused]': 'focused',\n '[class.grouped]': 'grouped',\n '[class.arrow]': 'arrow',\n '[class.error]': 'error'\n },\n inputs: ['grouped', 'hideErrors'],\n preserveWhitespaces: false\n})\nexport class BbFormControl extends BbFormControlMixinBase implements IsRequired, IsFocused, IsReadonly, IsGrouped, CanDisable, HasError, CanHideErrors {\n\n // Views.\n @ContentChild(NgControl) ngControl: NgControl;\n\n // Inputs.\n @Input() label: string | TemplateRef<any> | null = null;\n @Input() hint: string | TemplateRef<any> | null = null;\n\n // Data.\n arrow: boolean = false;\n\n // Data.\n labelId = `bb-form-control-${nextUniqueId++}`;\n\n onErrorChange(error: { token: string, data?: any } | null) {\n this.error = !!error;\n }\n\n}\n","<!-- Label of the form control. -->\n<label *ngIf=\"label as labelContent\"\n [attr.for]=\"labelId\"\n class=\"bb-form-control-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input with the addons. -->\n<div class=\"bb-form-control-container\">\n <ng-content select=\"[bbPrefix]\"></ng-content>\n <ng-content select=\"[bbInput]\"></ng-content>\n <ng-content select=\"[bbSuffix]\"></ng-content>\n</div>\n\n<!-- The error component. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n [control]=\"ngControl\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The form control hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-form-control-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n","import {ImageConverter, Platform} from '@bravobit/bb-foundation';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'bbFileImage'\n})\nexport class BbFileImage implements PipeTransform {\n\n constructor(private _platform: Platform,\n private _image: ImageConverter,\n private _sanitizer: DomSanitizer) {\n }\n\n async transform(file: File) {\n // If the file is not a file return.\n if (!this._platform.isBrowser || !(file instanceof File)) {\n return null;\n }\n\n return this._image.fileToImage(file, [\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/svg+xml'\n ]).then(image => {\n if (!image) {\n return null;\n }\n\n return {\n background: this._sanitizer.bypassSecurityTrustStyle(`url(${image.src})`),\n aspectRatio: image.height / image.width\n };\n }).catch(() => {\n return null;\n });\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({\n name: 'bbFileSize'\n})\nexport class BbFileSize implements PipeTransform {\n\n transform(value: number) {\n return this.format(value);\n }\n\n private format = (value: number, decimals: number = 2) => {\n if (value === 0) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const index = Math.floor(Math.log(value) / Math.log(k));\n\n return parseFloat((value / Math.pow(k, index)).toFixed(dm)) + ' ' + sizes[index];\n };\n\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n CanDisable,\n CanDisableConstructor,\n IsGrouped,\n IsGroupedConstructor,\n IsRequired,\n IsRequiredConstructor,\n CanHideErrors,\n CanHideErrorsConstructor,\n HasError,\n HasErrorConstructor,\n mixinDisabled,\n mixinGrouped,\n mixinRequired,\n mixinError,\n mixinHideErrors\n} from '@bravobit/bb-foundation';\nimport {ControlValueAccessor, FormControl, NG_VALIDATORS, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {animate, style, transition, trigger} from '@angular/animations';\nimport {BehaviorSubject} from 'rxjs';\n\nlet nextUniqueId = 0;\n\nclass BbFilePickerBase {\n}\n\nconst BbFilePickerMixinBase: IsRequiredConstructor\n & CanDisableConstructor\n & IsGroupedConstructor\n & HasErrorConstructor\n & CanHideErrorsConstructor\n & typeof BbFilePickerBase\n = mixinRequired(mixinDisabled(mixinGrouped(mixinError(mixinHideErrors(BbFilePickerBase)))));\n\n@Component({\n selector: 'bb-file-picker',\n templateUrl: './file-picker.component.html',\n styleUrls: ['./file-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BbFilePicker),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: BbFilePicker,\n multi: true\n }\n ],\n host: {\n 'class': 'bb-file-picker',\n '[class.required]': 'required',\n '[class.disabled]': 'disabled',\n '[class.grouped]': 'grouped',\n '[class.hovered]': 'hovered',\n '[class.error]': 'error'\n },\n animations: [\n trigger('bbFilePickerImageAnimation', [\n transition(':enter', [\n style({opacity: 0}),\n animate('200ms', style({opacity: 1}))\n ]),\n transition(':leave', [\n animate('200ms', style({opacity: 0}))\n ])\n ])\n ],\n inputs: ['disabled', 'hideErrors', 'grouped', 'required'],\n preserveWhitespaces: false\n})\nexport class BbFilePicker extends BbFilePickerMixinBase implements ControlValueAccessor, IsRequired, CanDisable, IsGrouped, HasError, CanHideErrors {\n\n // Views.\n @ViewChild('fileInput', {static: true}) fileInput: ElementRef<HTMLInputElement>;\n @ContentChild('extra') extraTemplate: TemplateRef<ElementRef>;\n\n // Inputs.\n @Input() label: string | TemplateRef<any> | null = null;\n @Input() hint: string | TemplateRef<any> | null = null;\n @Input() accept: string | null = null;\n @Input() showImages: boolean = true;\n @Input() allowDragging: boolean = true;\n\n // State.\n labelId = `bb-file-picker-${nextUniqueId++}`;\n hovered: boolean = false;\n value$ = new BehaviorSubject<{ file?: File }>({});\n\n @Input()\n get value() {\n const {file} = this.value$.getValue();\n return file;\n }\n\n @Output() valueChange = new EventEmitter<File | null>();\n\n set value(value: File | null) {\n this.value$.next({file: value});\n this.valueChange.emit(value);\n }\n\n @HostListener('dragover', ['$event', 'true'])\n @HostListener('dragleave', ['$event', 'false'])\n onDrag(event: Event, isHovered: boolean) {\n // Validate the input can support drag.\n if (!this.allowDragging || this.disabled) {\n return;\n }\n\n // Prevent the default event action\n // and start the hovering.\n this.preventDefault(event);\n this.hovered = isHovered;\n }\n\n @HostListener('drop', ['$event'])\n onDrop(event: Event) {\n // Validate the input can support drag.\n if (!this.allowDragging || this.disabled) {\n return;\n }\n\n // Prevent the default event action\n // and stop the hovering.\n this.preventDefault(event);\n this.hovered = false;\n\n // Save the file.\n this.saveFile(event['dataTransfer'].files);\n\n // Run the on change callback.\n this.onChangeCallback(this.value);\n }\n\n onButtonPressed(file?: File) {\n if (file) {\n this.value = null;\n this.onChangeCallback(this.value);\n return;\n }\n\n return this.openFilePicker();\n }\n\n openFilePicker() {\n return this.fileInput\n && this.fileInput.nativeElement\n && this.fileInput.nativeElement.click\n && this.fileInput.nativeElement.click();\n }\n\n onFileChange(event: Event) {\n // Validate the input is not disabled.\n if (this.disabled) {\n return;\n }\n\n // Extract the file from the event.\n const fileList = this.getFileListFromEvent(event);\n\n // Save the file.\n this.saveFile(fileList);\n\n // Run the on change callback.\n this.onChangeCallback(this.value);\n\n // Clear the file input.\n if (this.fileInput && this.fileInput.nativeElement) {\n this.fileInput.nativeElement.value = '';\n }\n }\n\n onTouchedCallback: () => void = () => {\n };\n\n onChangeCallback: (_: File | null) => void = () => {\n };\n\n writeValue(value: File | null) {\n this.value = value;\n }\n\n registerOnChange(method: (_: File | null) => void) {\n this.onChangeCallback = method;\n }\n\n registerOnTouched(method: () => void) {\n this.onTouchedCallback = method;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n onErrorChange(error: { token: string, data?: any } | null) {\n this.error = !!error;\n }\n\n validate({value}: FormControl) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const regexString = (this.accept || '*')\n .replace(/\\*/g, '.\\*')\n .replace(/,/g, '|');\n const mimeTypeRegex = new RegExp(regexString);\n\n const isNotValid = (typeof File === 'undefined') || !(value instanceof File) || !mimeTypeRegex.test(value?.type);\n return isNotValid && {\n invalidFileType: true\n };\n }\n\n private saveFile = (files?: FileList) => {\n // Validate the files exist.\n if (!files) {\n return;\n }\n\n // Retrieve the first file.\n const file = files[0];\n\n // Validate the first file exists.\n if (!file) {\n return;\n }\n\n // Save the file.\n this.value = file;\n };\n\n private getFileListFromEvent = (event: Event) => {\n const element = event.target as HTMLInputElement;\n\n if (!element) {\n return null;\n }\n\n return element.files;\n };\n\n private preventDefault = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n };\n\n}\n","<!-- The label of the input. -->\n<label *ngIf=\"label as labelContent\"\n [for]=\"labelId\"\n class=\"bb-file-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The input that can open the file picker. -->\n<input #fileInput\n [accept]=\"accept\"\n [disabled]=\"disabled\"\n (change)=\"onFileChange($event)\"\n class=\"bb-file-picker-input\"\n type=\"file\"\n tabindex=\"-1\">\n\n<div *ngIf=\"value$ | async as data\"\n class=\"bb-file-picker-wrapper\">\n <!-- The button that accepts files. -->\n <div class=\"bb-file-picker-container\">\n <button [class.destructive]=\"!!data?.file\"\n [class.standalone]=\"!allowDragging\"\n [disabled]=\"disabled\"\n [id]=\"labelId\"\n (click)=\"onButtonPressed(data?.file)\"\n type=\"button\"\n class=\"bb-file-picker-button\">\n <ng-container *ngTemplateOutlet=\"data?.file ? closeIcon : uploadIcon\"></ng-container>\n {{ (data?.file ? 'file-picker.remove' : 'file-picker.choose') | bbLocalize }}\n </button>\n <div *ngIf=\"allowDragging\"\n class=\"bb-file-picker-zone\">\n {{ 'file-picker.drop' | bbLocalize }}\n </div>\n </div>\n\n <ng-container *ngIf=\"!!extraTemplate\">\n <ng-container *ngTemplateOutlet=\"extraTemplate; context: {$implicit: data?.file}\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"showImages\">\n <div *ngIf=\"data?.file | bbFileImage | async as image\"\n class=\"bb-file-picker-image-container\">\n <div class=\"bb-file-picker-image-wrapper\">\n <div [@bbFilePickerImageAnimation]=\"true\"\n [style.padding-top.%]=\"image?.aspectRatio * 100\"\n [style.background-image]=\"image?.background\"\n class=\"bb-file-picker-image\">\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Extra information of the file. -->\n <div [class.visible]=\"!!data?.file\"\n class=\"bb-file-picker-info\">\n <span *ngIf=\"data?.file?.name as name\">{{ name }}</span>\n <span *ngIf=\"data?.file?.size as size\">{{ size | bbFileSize }}</span>\n </div>\n</div>\n\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The file picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-file-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n\n<!-- Upload icon. -->\n<ng-template #uploadIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M2 12.5C2 9.46 4.46 7 7.5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5a2.5 2.5 0 010-5H17v2H9.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\"></path>\n <path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path>\n </svg>\n</ng-template>\n\n<!-- Close icon. -->\n<ng-template #closeIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bb-file-picker-icon\"\n width=\"24\"\n height=\"24\">\n <path fill=\"currentColor\"\n d=\"M19 6.41L17.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\"></path>\n <path d=\"M0 0h24v24H0z\" fill=\"none\"></path>\n </svg>\n</ng-template>\n","import {\n Directive,\n DoCheck,\n ElementRef,\n Host,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Self\n} from '@angular/core';\nimport {BbFormControl} from '../form-control/form-control.component';\nimport {coerceBooleanProperty} from '@bravobit/bb-foundation';\nimport {NgControl} from '@angular/forms';\nimport {Subscription} from 'rxjs';\n\n@Directive({\n selector: 'select[bbInput]',\n host: {\n '[disabled]': 'disabled',\n '(focus)': 'setFocus(true)',\n '(blur)': 'setFocus(false)'\n }\n})\nexport class BbSelect implements OnInit, DoCheck, OnDestroy {\n\n protected hasArrow: boolean = true;\n\n private _subscription: Subscription;\n\n constructor(protected _elementRef: ElementRef,\n @Optional() @Self() protected _ngControl: NgControl,\n @Optional() @Host() protected _formControl: BbFormControl) {\n }\n\n ngOnInit() {\n // Set an arrow on the form control if\n // it requires one.\n this._formControl.arrow = this.hasArrow;\n }\n\n ngDoCheck() {\n if (this._ngControl) {\n this.disabled = this._ngControl.disabled;\n }\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n focus() {\n return this._elementRef?.nativeElement?.focus();\n }\n\n setFocus(hasFocus: boolean) {\n if (!this._formControl) {\n return;\n }\n\n this._formControl.focused = hasFocus;\n }\n\n @HostBinding('attr.id')\n get id() {\n return this._formControl?.labelId ?? null;\n }\n\n get disabled() {\n if (this._ngControl && this._ngControl.disabled !== null) {\n return this._ngControl.disabled;\n }\n\n return this._disabled;\n }\n\n @Input()\n set disabled(newValue: boolean) {\n this._disabled = coerceBooleanProperty(newValue);\n\n if (!this._formControl) {\n return;\n }\n\n this._formControl.disabled = this._disabled;\n }\n\n private _disabled = false;\n\n get required() {\n return this._required;\n }\n\n @Input()\n set required(newValue: boolean) {\n this._required = coerceBooleanProperty(newValue);\n\n if (!this._formControl) {\n return;\n }\n\n this._formControl.required = this._required;\n }\n\n private _required = false;\n\n}\n\n@Directive({\n selector: 'input[bbInput], textarea[bbInput]',\n host: {\n '[disabled]': 'disabled',\n '[readonly]': 'readonly',\n '(focus)': 'setFocus(true)',\n '(blur)': 'setFocus(false)'\n }\n})\nexport class BbInput extends BbSelect {\n\n protected hasArrow: boolean = false;\n\n constructor(protected _elementRef: ElementRef,\n @Optional() @Self() protected _ngControl: NgControl,\n @Optional() @Host() protected _formControl: BbFormControl) {\n super(_elementRef, _ngControl, _formControl);\n }\n\n get readonly() {\n return this._readonly;\n }\n\n @Input()\n set readonly(newValue: boolean) {\n this._readonly = coerceBooleanProperty(newValue);\n\n if (!this._formControl) {\n return;\n }\n\n this._formControl.readonly = this._readonly;\n }\n\n private _readonly = false;\n\n}\n","import {\n CanDisable,\n CanDisableConstructor,\n CanHideErrors,\n CanHideErrorsConstructor,\n HasError,\n HasErrorConstructor,\n IsGrouped,\n IsGroupedConstructor,\n IsReadonly,\n IsReadonlyConstructor,\n IsRequired,\n IsRequiredConstructor,\n mixinDisabled,\n mixinError,\n mixinGrouped,\n mixinHideErrors,\n mixinReadonly,\n mixinRequired\n} from '@bravobit/bb-foundation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n LOCALE_ID,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n FormGroup,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n Validators\n} from '@angular/forms';\nimport {BehaviorSubject, combineLatest, Observable, of, Subscription} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, tap} from 'rxjs/operators';\nimport {formatDate} from '@angular/common';\n\nclass BbDatePickerBase {\n}\n\nconst BbFilePickerMixinBase: IsRequiredConstructor\n & IsReadonlyConstructor\n & CanDisableConstructor\n & IsGroupedConstructor\n & HasErrorConstructor\n & CanHideErrorsConstructor\n & typeof BbDatePickerBase\n = mixinRequired(mixinReadonly(mixinDisabled(mixinGrouped(mixinError(mixinHideErrors(BbDatePickerBase))))));\n\n@Component({\n selector: 'bb-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BbDatePicker),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: BbDatePicker,\n multi: true\n }\n ],\n host: {\n 'class': 'bb-date-picker',\n '[class.required]': 'required',\n '[class.readonly]': 'readonly',\n '[class.disabled]': 'disabled',\n '[class.grouped]': 'grouped',\n '[class.error]': 'error'\n },\n inputs: ['required', 'readonly', 'disabled', 'grouped', 'hideErrors'],\n preserveWhitespaces: false\n})\nexport class BbDatePicker extends BbFilePickerMixinBase implements ControlValueAccessor, OnInit, OnDestroy, IsRequired, IsReadonly, CanDisable, IsGrouped, HasError, CanHideErrors {\n\n // Readonly data.\n readonly _yearRegex = /^(10|[1-9][0-9])\\d{2}$/; // Note: 1000 - 9999\n\n // Inputs.\n @Input() label: string | TemplateRef<any> | null = null;\n @Input() hint: string | TemplateRef<any> | null = null;\n @Input() dayPlaceholder: string | null = 'dd';\n @Input() monthPlaceholder: string | null = 'mm';\n @Input() yearPlaceholder: string | null = 'yyyy';\n\n @Input()\n set years(value: [string | number, string | number] | null) {\n this.parseYears(value);\n }\n\n // Forms.\n form: FormGroup;\n trackByValue = (_, item) => item?.value;\n\n // Data.\n data$: Observable<{\n days?: { label: string, value: number }[],\n months?: { label: string, value: number }[],\n years?: number[] | null\n }>;\n years$ = new BehaviorSubject<number[] | null>(null);\n\n get value() {\n return this.formToDateString(this.form?.value);\n }\n\n @Input()\n set value(value: string | null) {\n this.parseDateStringInForm(value);\n this.valueChange.emit(this.value);\n }\n\n @Output() valueChange = new EventEmitter<string | null>();\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(@Inject(LOCALE_ID) private _localeId: string) {\n super();\n }\n\n ngOnInit() {\n this.composeForm();\n this.getData();\n this.handleChanges();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n writeValue(value: string | null) {\n this.parseDateStringInForm(value);\n }\n\n registerOnChange(method: (_: string | null) => void) {\n this.onChangeCallback = method;\n }\n\n registerOnTouched(method: () => void) {\n this.onTouchedCallback = method;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n\n if (this.disabled) {\n this.form?.disable();\n } else {\n this.form?.enable();\n }\n }\n\n onTouchedCallback: () => void = () => {\n };\n\n onChangeCallback: (_: string | null) => void = () => {\n };\n\n onErrorChange(error: { token: string, data?: any } | null) {\n this.error = !!error;\n }\n\n validate({value}: FormControl) {\n if (value === null || value === undefined) {\n return null;\n }\n\n const data = this.parseDateString(value);\n const date = new Date(data?.year, data?.month - 1, data?.day);\n\n const maxDays = this.getDaysInMonth(data?.month, `${data?.year}`);\n\n const isInvalidDate = date.toString() === 'Invalid Date';\n const exceededMaxDays = data?.day > maxDays;\n\n return (isInvalidDate || exceededMaxDays) && {\n invalidDate: true\n };\n }\n\n private handleChanges() {\n const dateOrNull$ = this.form.valueChanges.pipe(\n map(value => this.formToDateString(value)),\n distinctUntilChanged()\n );\n\n const subscription = dateOrNull$.subscribe(() => {\n this.valueChange.emit(this.value);\n this.onChangeCallback(this.value);\n });\n this._subscription.add(subscription);\n }\n\n private getData() {\n const years$ = this.years$.asObservable();\n const months$ = this.getMonthData();\n const days$ = this.getDayData();\n\n this.data$ = combineLatest([years$, months$, days$]).pipe(\n map(([years, months, days]) => ({years, months, days})),\n tap(data => this.verifyListData(data?.days?.length, data?.years))\n );\n }\n\n private verifyListData(maxDays: number, years: number[] | null) {\n const dayControl = this.form.get('day');\n if (dayControl?.value !== null && dayControl?.value > maxDays) {\n dayControl.patchValue(maxDays);\n }\n\n const yearControl = this.form.get('year');\n if (years !== null && yearControl?.value !== null && this._yearRegex.test(yearControl?.value)) {\n const selectedYear = Number(yearControl?.value);\n\n const firstYear = Math.min(...years);\n const lastYear = Math.max(...years);\n\n if (selectedYear < firstYear || selectedYear > lastYear) {\n Promise.resolve().then(() => yearControl.patchValue(null));\n }\n }\n }\n\n private getDayData() {\n const count$ = this.form.valueChanges.pipe(\n startWith(this.form?.value as object),\n map(({month, year}) => this.getDaysInMonth(month, year)),\n distinctUntilChanged()\n );\n\n return count$.pipe(\n map(count => Array(count).fill(0).map((_, index) => ({\n label: `${index + 1}`,\n value: index + 1\n })))\n );\n }\n\n private getMonthData() {\n const array = Array(12).fill(0).map((_, month) => {\n const date = new Date(2000, month, 1);\n const label = formatDate(date, 'LLLL', this._localeId);\n return {label, value: month + 1};\n });\n return of(array);\n }\n\n private composeForm() {\n const {required, pattern, minLength, maxLength} = Validators;\n const yearPattern = pattern(this._yearRegex);\n const yearValidators = [required, yearPattern, minLength(4), maxLength(4)];\n\n this.form = new FormGroup({\n day: new FormControl(null, required),\n month: new FormControl(null, required),\n year: new FormControl(null, yearValidators)\n });\n }\n\n private parseDateStringInForm(value: string | null) {\n // If the date string was not a valid format, reset the form.\n if (!this.isValidDateString(value)) {\n if (value !== null) {\n this.form?.reset({year: null, month: null, day: null}, {emitEvent: false});\n }\n return;\n }\n\n // Parse the date string and save in the form.\n const data = this.parseDateString(value);\n const year = data?.year !== null && data?.year !== undefined\n ? this.padString(`${data?.year}`, 4, '0')\n : null;\n const formData = {...(data ?? {}), year};\n\n this.form?.patchValue(formData, {emitEvent: false});\n }\n\n private parseDateString(value: string) {\n if (!this.isValidDateString(value)) {\n return null;\n }\n\n // Parse the date string.\n const [year, month, day] = value?.split('-');\n\n return {\n day: day ? parseInt(day, 10) : null,\n month: month ? parseInt(month, 10) : null,\n year: year ? parseInt(year, 10) : null\n };\n }\n\n private parseYears(values: [string | number, string | number] | null) {\n if (!values) {\n return this.years$.next(null);\n }\n\n // Parse the values to years (in numbers).\n const [first, last] = values;\n const firstYear = this.parseYearFormat(first);\n const lastYear = this.parseYearFormat(last);\n\n // Check cases in where we cannot parse.\n if (firstYear === null || lastYear === null) {\n return this.years$.next(null);\n }\n\n const difference = firstYear - lastYear;\n const absoluteDifference = Math.abs(difference) + 1;\n\n // Create an array with years.\n const years = Array(absoluteDifference)\n .fill(0)\n .map((_, index) => difference < 0 ? (firstYear + index) : (firstYear - index));\n\n // Validate we have one or more years.\n if (years?.length <= 0) {\n return this.years$.next(null);\n }\n\n // Push the years.\n return this.years$.next(years);\n }\n\n private formToDateString = ({year, month, day}) => {\n if (this.form?.invalid) {\n return null;\n }\n\n const prefixedMonth = this.padString(`${month}`, 2, '0');\n const prefixedDay = this.padString(`${day}`, 2, '0');\n\n return [year, prefixedMonth, prefixedDay].join('-');\n };\n\n private parseYearFormat = (value: string | number) => {\n // Transform the value to a definitive string.\n const yearString = `${value}`;\n const currentFullYear = new Date().getFullYear();\n\n // Handle default \"current\" syntax.\n if (yearString === 'current') {\n return currentFullYear;\n }\n\n // Handle \"current + {amount}\" syntax.\n if (/^current\\s?\\+\\s?\\d+$/.test(yearString)) {\n const amount = Number(yearString?.split('+')?.[1]?.trim()) ?? 0;\n return currentFullYear + amount;\n }\n\n // Handle \"current - {amount}\" syntax.\n if (/^current\\s?-\\s?\\d+$/.test(yearString)) {\n const amount = Number(yearString?.split('-')?.[1]?.trim()) ?? 0;\n return currentFullYear - amount;\n }\n\n // Handling the default number case.\n if (/^[0-9]{4}$/.test(yearString)) {\n return Number(yearString);\n }\n\n // We could not parse it.\n return null;\n };\n\n private getDaysInMonth = (month: number | null = null, year: string | null = null) => {\n if (this.form?.invalid || month === null || year === null) {\n return 31;\n }\n\n const parsedYear = parseInt(year, 10);\n return new Date(parsedYear, month, 0).getDate();\n };\n\n private isValidDateString = (value: unknown) => {\n return typeof value === 'string' && /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test(value);\n };\n\n private padString = (value: string, maxLength: number, fillString: string = '0') => {\n const count = maxLength - value.length;\n for (let index = 0; index < count; index++) {\n value = `${fillString}${value}`;\n }\n\n return value;\n };\n\n}\n","<!-- Label of the date picker. -->\n<label *ngIf=\"label as labelContent\"\n class=\"bb-date-picker-label\">\n <ng-template [bbTemplate]=\"labelContent\">\n {{ labelContent }}\n </ng-template>\n</label>\n\n<!-- The form containing the year/month/day fields. -->\n<form *ngIf=\"data$ | async as data\"\n [formGroup]=\"form\"\n class=\"bb-date-picker-container\"\n novalidate>\n <div class=\"bb-date-picker-item\">\n <bb-form-control hideErrors>\n <select [class.has-value]=\"!!form?.get('day')?.value\"\n bbInput\n autocomplete=\"off\"\n formControlName=\"day\">\n <option [ngValue]=\"null\">{{ dayPlaceholder }}</option>\n <option *ngFor=\"let day of data?.days; trackBy: trackByValue\"\n [ngValue]=\"day?.value\">\n {{ day?.label }}\n </option>\n </select>\n </bb-form-control>\n </div>\n <div class=\"bb-date-picker-item\">\n <bb-form-control hideErrors>\n <select [class.has-value]=\"!!form?.get('month')?.value\"\n bbInput\n autocomplete=\"off\"\n formControlName=\"month\">\n <option [ngValue]=\"null\">{{ monthPlaceholder }}</option>\n <option *ngFor=\"let month of data?.months; trackBy: trackByValue\"\n [ngValue]=\"month?.value\">\n {{ month?.label }}\n </option>\n </select>\n </bb-form-control>\n </div>\n <div class=\"bb-date-picker-item\">\n <bb-form-control hideErrors>\n <select *ngIf=\"data?.years?.length > 0; else defaultYearInputTemplate\"\n [class.has-value]=\"!!form?.get('year')?.value\"\n bbInput\n autocomplete=\"off\"\n formControlName=\"year\">\n <option [ngValue]=\"null\">{{ yearPlaceholder }}</option>\n <option *ngFor=\"let year of data?.years\"\n [value]=\"year\">\n {{ year }}\n </option>\n </select>\n\n <ng-template #defaultYearInputTemplate>\n <input [placeholder]=\"yearPlaceholder\"\n bbInput\n type=\"text\"\n inputmode=\"numeric\"\n minlength=\"4\"\n maxlength=\"4\"\n pattern=\"^[0-9]{4}$\"\n formControlName=\"year\"\n autocomplete=\"off\">\n </ng-template>\n </bb-form-control>\n </div>\n</form>\n\n<!-- The date picker error. -->\n<bb-form-error *ngIf=\"!hideErrors\"\n (errorChange)=\"onErrorChange($event)\">\n</bb-form-error>\n\n<!-- The date picker hint. -->\n<p *ngIf=\"hint as hintContent\"\n class=\"bb-date-picker-hint\">\n <ng-template [bbTemplate]=\"hintContent\">\n {{ hintContent }}\n </ng-template>\n</p>\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[bbSuffix]',\n host: {\n 'class': 'bb-suffix'\n }\n})\nexport class BbSuffix {\n}\n\n@Directive({\n selector: '[bbPrefix]',\n host: {\n 'class': 'bb-prefix'\n }\n})\nexport class BbPrefix {\n}\n","import {IsGrouped, IsGroupedConstructor, mixinGrouped} from '@bravobit/bb-foundation';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\n\nclass BbFormGroupBase {\n}\n\nconst BbFormGroupMixinBase: IsGroupedConstructor\n & typeof BbFormGroupBase\n = mixinGrouped(BbFormGroupBase);\n\n@Component({\n selector: 'bb-form-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-form-group',\n '[class.grouped]': 'grouped'\n },\n inputs: ['grouped'],\n preserveWhitespaces: false\n})\nexport class BbFormGroup extends BbFormGroupMixinBase implements IsGrouped {\n}\n","<ng-content></ng-content>\n","import {Directive, ElementRef, HostListener} from '@angular/core';\nimport {Platform} from '@bravobit/bb-foundation';\n\n@Directive({\n selector: '[bbFocusTrap]'\n})\nexport class BbFocusTrap {\n\n private readonly _focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n ];\n\n constructor(private _platform: Platform,\n private _elementRef: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeydown(event: KeyboardEvent) {\n // Validate it is a tab event.\n if (!this.isTabEvent(event)) {\n return;\n }\n\n // Trap the focus inside the element.\n return this.trapFocus(event);\n }\n\n trapFocus(event: KeyboardEvent) {\n // Validate that the DOM is available.\n if (!this._platform.isBrowser) {\n return;\n }\n\n // Get all focusable nodes.\n const focusableNodes = this.getFocusableNodes();\n\n // Focus the first available element if the focus\n // is not in the modal.\n if (!this.element.contains(document.activeElement)) {\n return this.focus(focusableNodes[0]);\n }\n\n const focusedItemIndex = focusableNodes.indexOf(document.activeElement);\n\n if (event.shiftKey && focusedItemIndex === 0) {\n this.focus(focusableNodes[focusableNodes.length - 1]);\n return event.preventDefault();\n }\n\n if (!event.shiftKey && focusedItemIndex === focusableNodes.length - 1) {\n this.focus(focusableNodes[0]);\n return event.preventDefault();\n }\n }\n\n private get element() {\n return this._elementRef.nativeElement;\n }\n\n private getFocusableNodes() {\n const nodes = this.element.querySelectorAll(this._focusableElements);\n return Array(...nodes);\n }\n\n private focus = (element: HTMLElement) => {\n return element && element.focus && element.focus();\n };\n\n private isTabEvent = (event: KeyboardEvent) => {\n return event.key === 'Tab' || event.keyCode === 9;\n };\n\n}\n","import {AfterViewInit, Directive, ElementRef, HostBinding, HostListener, Input, Renderer2} from '@angular/core';\n\n@Directive({\n selector: 'textarea[bbAutosize]'\n})\nexport class BbAutosize implements AfterViewInit {\n\n // Min/max heights for the textarea.\n @Input() @HostBinding('style.min-height') minHeight: string | null = null;\n @Input() @HostBinding('style.max-height') maxHeight: string | null = null;\n @Input() @HostBinding('rows') rows: number = 1;\n\n constructor(private _renderer: Renderer2,\n private _elementRef: ElementRef) {\n }\n\n get element() {\n return this._elementRef?.nativeElement as HTMLTextAreaElement;\n }\n\n ngAfterViewInit() {\n // Update the styles after the DOM has loaded.\n this.updateStyles();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n // Update the styles when the window is resized.\n this.updateStyles();\n }\n\n @HostListener('input')\n onInputReceived() {\n // Update the styles after the textarea received input.\n this.updateStyles();\n }\n\n private updateStyles() {\n // Validate the element exists.\n if (!this.element) {\n return;\n }\n\n // Calculate border height which is not included in the scroll height.\n const borderHeight = this.element?.offsetHeight - this.element?.clientHeight;\n\n // Reset textarea height to auto that correctly calculate the new height.\n this.setHeight('auto');\n\n // Set new height.\n this.setHeight(`${this.element?.scrollHeight + borderHeight}px`);\n }\n\n private setHeight(value: string) {\n this._renderer.setStyle(this.element, 'height', value);\n }\n\n}\n","import {Inject, LOCALE_ID, Optional, Pipe, PipeTransform} from '@angular/core';\nimport {Localize} from '@bravobit/bb-foundation/localize';\nimport {DatePipe} from '@angular/common';\n\n@Pipe({\n name: 'bbRelativeTime'\n})\nexport class BbRelativeTime implements PipeTransform {\n\n private readonly _datePipe: DatePipe;\n\n constructor(@Optional() private _localize: Localize,\n @Inject(LOCALE_ID) private _localeId: string) {\n this._datePipe = new DatePipe(this._localeId);\n }\n\n transform(value: string | number | Date) {\n // Parse the value to a date object.\n const date = this.parseAsDate(value);\n\n // Check if the date is valid.\n if (!this.isValidDate(date)) {\n return value;\n }\n\n // Return the formatted date.\n return this.format(date);\n }\n\n private format(date: Date) {\n // It happens tomorrow.\n if (this.isTomorrow(date)) {\n return this.formatString(date, 'times.tomorrow_at', 'shortTime');\n }\n\n // It happened today.\n if (this.isToday(date)) {\n return this.formatString(date, 'times.today_at', 'shortTime');\n }\n\n // It happened yesterday.\n if (this.isYesterday(date)) {\n return this.formatString(date, 'times.yesterday_at', 'shortTime');\n }\n\n // Just return the date.\n return this.formatString(date);\n }\n\n private formatString(date: Date, token?: string, format?: string) {\n // Just return the parsed date.\n if (!this._localize || !token || !format) {\n return this._datePipe.transform(date, 'mediumDate');\n }\n\n // Return the translated formatting.\n return this._localize.translate({\n token: token,\n data: {date: this._datePipe.transform(date, format)}\n });\n }\n\n private isValidDate = (date: Date) => {\n return typeof date === 'object' &&\n typeof date.getTime === 'function' &&\n !isNaN(date.getTime());\n };\n\n private parseAsDate = (value: string | number | Date) => {\n // Add a Z after the date so\n // it is treated as a UTC date.\n 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)) {\n return new Date(`${value}Z`);\n }\n\n // Return the regular parsed date.\n return new Date(value);\n };\n\n private isToday = (date: Date) => {\n const today = new Date();\n return date?.getDate() === today?.getDate() &&\n date?.getMonth() === today?.getMonth() &&\n date?.getFullYear() === today?.getFullYear();\n };\n\n private isYesterday = (date: Date) => {\n const yesterday = new Date(new Date()?.setDate(new Date()?.getDate() - 1));\n return date?.getDate() === yesterday?.getDate() &&\n date?.getMonth() === yesterday?.getMonth() &&\n date?.getFullYear() === yesterday?.getFullYear();\n };\n\n private isTomorrow = (date: Date) => {\n const tomorrow = new Date(new Date()?.setDate(new Date()?.getDate() + 1));\n return date?.getDate() === tomorrow?.getDate() &&\n date?.getMonth() === tomorrow?.getMonth() &&\n date?.getFullYear() === tomorrow?.getFullYear();\n };\n\n}\n","import {\n CanDisable,\n CanDisableConstructor,\n mixinDisabled,\n IsGrouped,\n IsGroupedConstructor,\n mixinGrouped\n} from '@bravobit/bb-foundation';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Input,\n ViewEncapsulation\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {coerceBooleanProperty} from '@bravobit/bb-foundation';\n\nlet nextUniqueId = 0;\n\nclass BbCheckboxBase {\n}\n\nconst BbCheckboxMixinBase: IsGroupedConstructor\n & CanDisableConstructor\n & typeof BbCheckboxBase\n = mixinDisabled(mixinGrouped(BbCheckboxBase));\n\n@Component({\n selector: 'bb-checkbox',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCheckbox), multi: true}\n ],\n host: {\n 'class': 'bb-checkbox',\n '[class.grouped]': 'grouped'\n },\n inputs: ['grouped', 'disabled'],\n preserveWhitespaces: false\n})\nexport class BbCheckbox extends BbCheckboxMixinBase implements ControlValueAccessor, IsGrouped, CanDisable {\n\n // Data.\n labelId = `bb-checkbox-${nextUniqueId++}`;\n\n // Inputs.\n @Input() tabIndex: number;\n\n get checked() {\n return this._checked;\n }\n\n @Input()\n set checked(value: any) {\n this._checked = coerceBooleanProperty(value);\n this._changeDetection.markForCheck();\n }\n\n private _checked: boolean = false;\n\n constructor(private _changeDetection: ChangeDetectorRef) {\n super();\n }\n\n // Methods.\n onChange: (newValue: boolean) => void = () => {\n };\n\n onTouched: () => void = () => {\n };\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n this._changeDetection.markForCheck();\n }\n\n writeValue(newValue: boolean) {\n this.checked = newValue;\n }\n\n onInteractionEvent(event: Event) {\n // Stop the propagation to prevent it from bubbling up.\n event.stopPropagation();\n }\n\n onInputClick(event: Event) {\n // Stop the propagation to prevent it from bubbling up.\n event.stopPropagation();\n\n // Toggle the value.\n this.checked = !this.checked;\n\n // Emit the change event.\n this.onChange && this.onChange(this.checked);\n }\n\n}\n","<input [id]=\"labelId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n class=\"bb-checkbox-input\"\n tabindex=\"-1\"\n type=\"checkbox\">\n\n<label [for]=\"labelId\"\n [attr.tabindex]=\"disabled ? -1 : (tabIndex || 0)\"\n (keyup.space)=\"onInputClick($event)\"\n class=\"bb-checkbox-label\">\n <span>\n <svg width=\"12px\"\n height=\"10px\"\n viewbox=\"0 0 12 10\">\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\n </svg>\n </span>\n <span>\n <ng-content></ng-content>\n </span>\n</label>\n","import {AfterViewInit, Directive, ElementRef, NgZone} from '@angular/core';\nimport {Platform} from '@bravobit/bb-foundation';\n\n@Directive({\n selector: '[bbFocus]'\n})\nexport class BbFocus implements AfterViewInit {\n\n constructor(private _zone: NgZone,\n private _platform: Platform,\n private _elementRef: ElementRef) {\n }\n\n private get nativeElement() {\n return this._elementRef.nativeElement;\n }\n\n ngAfterViewInit() {\n // Run the method outside the Angular zone.\n this._zone.runOutsideAngular(() => this.focus());\n }\n\n private focus() {\n // Check if set timeout exists and the user is\n // using the site on desktop devices.\n if (!this._platform.isDesktop || !setTimeout) {\n return;\n }\n\n // Check if the element and the focus method exist, if so focus the element.\n if (!this.nativeElement || !this.nativeElement.focus) {\n return;\n }\n\n // Execute the focus method in a timeout.\n setTimeout(() => this.nativeElement.focus(), 0);\n }\n\n}\n","import {ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'bb-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n 'class': 'bb-avatar',\n 'role': 'img',\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n '[style.font-size.px]': 'size / 2',\n '[style.color]': 'color',\n '[style.background-color]': 'backgroundColor'\n }\n})\nexport class BbAvatar {\n\n // Inputs.\n @Input() size: number = 40;\n\n // State.\n state$ = new BehaviorSubject<string>('initials');\n\n // Data.\n private _src: string | null = null;\n private _title: string | null = null;\n private _initials: string = '!';\n private _color: string = 'rgb(255, 255, 255)';\n private _backgroundColor: string = 'rgb(66, 66, 66)';\n\n @Input()\n set src(value: string) {\n this._src = value;\n\n if (this._src) {\n this.state$.next('image');\n }\n }\n\n @Input()\n @HostBinding('attr.title')\n set title(value: string) {\n // Set the title and the initials.\n this._title = value || '!';\n this._initials = this.getInitials(this._title);\n\n // Generate the colors based on the name.\n const {r, g, b} = this.toRGb(this._title);\n this.setColors(r, g, b);\n }\n\n @Input()\n set tintColor(value: string) {\n const result = this.parseColorFormat(value);\n\n if (!result) {\n return;\n }\n\n const {r, g, b} = result;\n this.setColors(r, g, b);\n }\n\n get src() {\n return this._src;\n }\n\n get color() {\n return this._color;\n }\n\n get backgroundColor() {\n return this._backgroundColor;\n }\n\n get title() {\n return this._title;\n }\n\n get initials() {\n return this._initials;\n }\n\n private setColors(red: number, green: number, blue: number) {\n this._color = `rgb(${red},${green},${blue})`;\n this._backgroundColor = `rgba(${red},${green},${blue}, 0.25)`;\n }\n\n private toRGb = (value: string) => {\n const baseRed = 128;\n const baseGreen = 128;\n const baseBlue = 128;\n\n let seed = value.charCodeAt(0) ^ value.charCodeAt(1);\n const rand_1 = Math.abs((Math.sin(seed++) * 10000)) % 256;\n const rand_2 = Math.abs((Math.sin(seed++) * 10000)) % 256;\n const rand_3 = Math.abs((Math.sin(seed++) * 10000)) % 256;\n\n const r = Math.round((rand_1 + baseRed) / 2);\n const g = Math.round((rand_2 + baseGreen) / 2);\n const b = Math.round((rand_3 + baseBlue) / 2);\n\n return {r, g, b};\n };\n\n private getInitials = (name: string) => {\n // Get all the initials.\n const names = (name || '').split(' ');\n const initials = names.map(name => name.charAt(0).toUpperCase());\n\n // Check if there are any initials.\n if (initials.length <= 0) {\n return null;\n }\n\n // Get the first and last initials.\n if (initials.length > 1) {\n return `${initials[0]}${initials[initials.length - 1]}`;\n }\n\n // Get only the first initial.\n return initials[0];\n };\n\n private parseColorFormat = (value: string) => {\n // Hex 3 values.\n let match = value.match(/^#([0-9a-f]{3})$/i);\n if (match && match[1]) {\n const r = parseInt(match[1].charAt(0), 16) * 0x11;\n const g = parseInt(match[1].charAt(1), 16) * 0x11;\n const b = parseInt(match[1].charAt(2), 16) * 0x11;\n\n return {r, g, b};\n }\n\n // Hex 6 values.\n match = value.match(/^#([0-9a-f]{6})$/i);\n if (match && match[1]) {\n const r = parseInt(match[1].substr(0, 2), 16);\n const g = parseInt(match[1].substr(2, 2), 16);\n const b = parseInt(match[1].substr(4, 2), 16);\n\n return {r, g, b};\n }\n\n // Rgb values.\n match = value.match(/^rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$/i);\n if (match) {\n const r = parseInt(match[1], 10);\n const g = parseInt(match[2], 10);\n const b = parseInt(match[3], 10);\n\n return {r, g, b};\n }\n\n // Not a supported color format.\n console?.warn?.(`BbAvatar: Unsupported tintColor \"${value}\" was used.`);\n return null;\n };\n\n}\n","<ng-container [ngSwitch]=\"state$ | async\">\n <!-- Image. -->\n <ng-container *ngSwitchCase=\"'image'\">\n <img [src]=\"src\"\n [alt]=\"initials\"\n (error)=\"state$?.next('initials')\"\n class=\"bb-avatar-image\">\n </ng-container>\n\n <!-- Default initials fallback. -->\n <ng-container *ngSwitchDefault>\n {{ initials }}\n </ng-container>\n</ng-container>\n","import {ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation} from '@angular/core';\nimport {ELEMENTS_ICONS, ElementsIcon} from '../elements.interfaces';\nimport {coerceBooleanProperty} from '@bravobit/bb-foundation';\nimport {BehaviorSubject} from 'rxjs';\n\n@Component({\n selector: 'bb-icon',\n templateUrl: './icon.component.html',\n styleUrls: ['./icon.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-icon',\n '[attr.aria-hidden]': 'ariaHidden',\n '[style.width.px]': 'size',\n '[style.height.px]': 'size',\n '[style.min-width.px]': 'size',\n '[style.min-height.px]': 'size',\n '[style.font-size.px]': 'size'\n },\n preserveWhitespaces: false\n})\nexport class BbIcon {\n\n // Data.\n private _src: string | null = null;\n\n // State.\n state$ = new BehaviorSubject<any>(null);\n\n @Input() alt: string | null = null;\n @Input() size: number = 24;\n\n @Input()\n set src(newValue: string | null) {\n this.state$.next(this.convert(newValue));\n this._src = newValue;\n }\n\n get src() {\n return this._src;\n }\n\n @Input()\n set ariaHidden(newValue: boolean) {\n this._ariaHidden = coerceBooleanProperty(newValue);\n }\n\n get ariaHidden() {\n return this._ariaHidden;\n }\n\n private _ariaHidden = true;\n\n constructor(@Optional() @Inject(ELEMENTS_ICONS) private _registry: ElementsIcon[]) {\n }\n\n private convert(src: string | null) {\n const [namespace, value] = (src || '').split(':');\n\n const onError = () => {\n this.warn(`ElementsModule: The icon with src \"${src}\" could not be rendered correctly; Did you put a correct src attribute?`);\n return {type: 'unknown'};\n };\n\n if (!namespace || !value || !this._registry) {\n return onError();\n }\n\n // Try to find a image icon.\n const imageIcon = this.findImageIcon(namespace, value);\n if (imageIcon) {\n return imageIcon;\n }\n\n // Try to find a font icon.\n const fontIcon = this.findFontIcon(namespace, value);\n if (fontIcon) {\n return fontIcon;\n }\n\n // Return the on error function.\n return onError();\n }\n\n private findImageIcon(namespace: string, value: string) {\n const data = this._registry.find(item => item['namespace'] === namespace && item['name'] === value);\n\n if (!data) {\n return null;\n }\n\n return {type: data['type'], src: data['src']};\n }\n\n private findFontIcon(namespace: string, content: string) {\n const data = this._registry.find(item => item['namespace'] === namespace);\n\n if (!data) {\n return null;\n }\n\n const uses = data['uses'];\n if (uses === 'data-attribute') {\n return {type: data['type'], className: data['className'], attribute: content};\n }\n\n return {type: data['type'], className: data['className'], content};\n }\n\n private warn = (content: string) => {\n return console && console.warn && console.warn(content);\n };\n\n}\n","<ng-container *ngIf=\"state$ | async as data\"\n [ngSwitch]=\"data?.type\">\n <i *ngSwitchCase=\"'font'\"\n [attr.data-icon]=\"data?.attribute\"\n [class]=\"data?.className\">\n {{ data?.content }}\n </i>\n <img *ngSwitchCase=\"'image'\"\n [src]=\"data?.src\"\n [alt]=\"alt\">\n <svg *ngSwitchCase=\"'unknown'\"\n viewBox=\"0 0 1 1\">\n <rect x=\"0\" y=\"0\" width=\"1\" height=\"1\" fill=\"#c5c5c5\"></rect>\n </svg>\n</ng-container>\n","import {ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: 'bb-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {'class': 'bb-tag'}\n})\nexport class BbTag {\n\n // Outputs.\n @Output() onClose: EventEmitter<void> = new EventEmitter<void>();\n\n}\n","<ng-content></ng-content>\n\n<button *ngIf=\"onClose?.observers?.length > 0\"\n (click)=\"onClose.emit()\"\n type=\"button\">\n Close\n</button>","import {BbDropdown, BbDropdownItem} from './dropdown/dropdown.component';\nimport {ELEMENTS_ERRORS, ELEMENTS_ICONS} from './elements.interfaces';\nimport {BbImagePicker} from './image-picker/image-picker.component';\nimport {BbFormControl} from './form-control/form-control.component';\nimport {BbFilePicker} from './file-picker/file-picker.component';\nimport {BbDatePicker} from './date-picker/date-picker.component';\nimport {LocalizeModule} from '@bravobit/bb-foundation/localize';\nimport {BbPrefix, BbSuffix} from './directives/addon.directive';\nimport {BbFormSubmit} from './directives/form-submit.directive';\nimport {BbInput, BbSelect} from './directives/input.directive';\nimport {BbFormGroup} from './form-group/form-group.component';\nimport {BbFormError} from './form-error/form-error.component';\nimport {BbFocusTrap} from './directives/focus-trap.directive';\nimport {BbAnchor, BbButton} from './button/button.component';\nimport {ModuleWithProviders, NgModule} from '@angular/core';\nimport {BbTemplate} from './directives/template.directive';\nimport {BbAutosize} from './directives/autosize.directive';\nimport {BbRelativeTime} from './pipes/relative-time.pipe';\nimport {BbCheckbox} from './checkbox/checkbox.component';\nimport {BbSpinner} from './spinner/spinner.component';\nimport {BbFocus} from './directives/focus.directive';\nimport {BbFileImage} from './pipes/file-image.pipe';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {BbAvatar} from './avatar/avatar.component';\nimport {BbFileSize} from './pipes/file-size.pipe';\nimport {CommonModule} from '@angular/common';\nimport {BbIcon} from './icon/icon.component';\nimport {BbTag} from './tag/tag.component';\n\nconst DECLARATIONS_EXPORTS = [\n // Directives.\n BbTemplate,\n BbFormError,\n BbFormSubmit,\n BbInput,\n BbSelect,\n BbFocus,\n BbFocusTrap,\n BbAutosize,\n BbPrefix,\n BbSuffix,\n // Pipes.\n BbFileSize,\n BbFileImage,\n BbRelativeTime,\n // Components.\n BbButton,\n BbAnchor,\n BbSpinner,\n BbIcon,\n BbFormControl,\n BbFormGroup,\n BbCheckbox,\n BbDropdown,\n BbDropdownItem,\n BbTag,\n BbAvatar,\n BbFilePicker,\n BbImagePicker,\n BbDatePicker\n];\n\n@NgModule({\n imports: [CommonModule, ReactiveFormsModule, LocalizeModule],\n declarations: [...DECLARATIONS_EXPORTS],\n exports: [...DECLARATIONS_EXPORTS]\n})\nexport class ElementsModule {\n\n static forRoot(): ModuleWithProviders<ElementsModule> {\n return {\n ngModule: ElementsModule,\n providers: [\n {provide: ELEMENTS_ERRORS, useFactory: getErrors, multi: true},\n ELEMENTS_MATERIAL_ICON\n ]\n };\n }\n\n}\n\nexport const ELEMENTS_MATERIAL_ICON = {\n provide: ELEMENTS_ICONS,\n useValue: {namespace: 'material', className: 'material-icons', uses: 'content', type: 'font'},\n multi: true\n};\n\nexport function getErrors() {\n const data = {\n unknown: () => 'form-control-errors.unknown',\n required: () => 'form-control-errors.required',\n pattern: () => 'form-control-errors.pattern',\n email: () => 'form-control-errors.email',\n emailTaken: () => 'form-control-errors.emailTaken',\n passwordMatch: () => 'form-control-errors.passwordMatch',\n confirm: () => 'form-control-errors.confirm',\n fullNumber: () => 'form-control-errors.fullNumber',\n min: ({min}) => ({token: 'form-control-errors.min', data: {min}}),\n max: ({max}) => ({token: 'form-control-errors.max', data: {max}}),\n maxFileSize: ({maxSize}) => ({token: 'form-control-errors.maxFileSize', data: {maxSize}}),\n minDate: ({date}) => ({token: 'form-control-errors.minDate', data: {date}}),\n maxDate: ({date}) => ({token: 'form-control-errors.maxDate', data: {date}}),\n invalidDate: () => 'form-control-errors.invalidDate',\n invalidFileType: () => 'form-control-errors.invalidFileType',\n minlength: ({requiredLength, actualLength}) => ({\n token: 'form-control-errors.minlength',\n data: {requiredLength, actualLength}\n }),\n maxlength: ({requiredLength, actualLength}) => ({\n token: 'form-control-errors.maxlength',\n data: {requiredLength, actualLength}\n })\n };\n\n return data;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["BehaviorSubject","trigger","transition","style","animate","Component","ChangeDetectionStrategy","ViewEncapsulation","HostListener","Directive","Optional","Host","Input","InjectionToken","mixinDisabled","mixinLoad","mixinGrouped","EventEmitter","map","NG_VALUE_ACCESSOR","forwardRef","ViewChild","Output","fromEvent","mapTo","merge","startWith","distinctUntilChanged","shareReplay","EMPTY","Self","combineLatest","tap","of","delay","Inject","TemplateRef","nextUniqueId","mixinFocused","mixinReadonly","mixinRequired","mixinError","mixinHideErrors","NgControl","ContentChild","Pipe","BbFilePickerMixinBase","NG_VALIDATORS","coerceBooleanProperty","HostBinding","Subscription","formatDate","Validators","FormGroup","FormControl","LOCALE_ID","DatePipe","CommonModule","ReactiveFormsModule","LocalizeModule","NgModule"],"mappings":"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"}
|