@bravobit/bb-foundation 0.54.4 → 0.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/index.d.ts +267 -5
- package/collections/index.d.ts +350 -5
- package/combobox/index.d.ts +58 -5
- package/dashboard/index.d.ts +104 -5
- package/dialog/index.d.ts +168 -5
- package/elements/index.d.ts +838 -5
- package/fesm2022/bravobit-bb-foundation-auth.mjs +22 -22
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +44 -44
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +15 -15
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +25 -25
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +33 -33
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +105 -105
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +18 -18
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +16 -16
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -15
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -12
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-select.mjs +21 -21
- package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +3 -3
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +22 -22
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +16 -16
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +25 -25
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/http/index.d.ts +78 -5
- package/index.d.ts +215 -5
- package/localize/index.d.ts +546 -5
- package/masking/index.d.ts +104 -5
- package/notifications/index.d.ts +78 -5
- package/package.json +26 -26
- package/permissions/index.d.ts +89 -5
- package/recaptcha/index.d.ts +92 -5
- package/rxjs/index.d.ts +19 -5
- package/select/index.d.ts +129 -5
- package/storage/index.d.ts +109 -5
- package/table/index.d.ts +197 -5
- package/tooltip/index.d.ts +45 -5
- package/utils/index.d.ts +66 -5
- package/auth/lib/acting.interceptor.d.ts +0 -9
- package/auth/lib/acting.service.d.ts +0 -17
- package/auth/lib/auth.config.d.ts +0 -3
- package/auth/lib/auth.interceptor.d.ts +0 -20
- package/auth/lib/auth.module.d.ts +0 -10
- package/auth/lib/auth.service.d.ts +0 -51
- package/auth/lib/auth.session.d.ts +0 -50
- package/auth/lib/directives/anonymous.directive.d.ts +0 -20
- package/auth/lib/directives/authenticated.directive.d.ts +0 -20
- package/auth/lib/guards/anonymous.guard.d.ts +0 -2
- package/auth/lib/guards/authenticated.guard.d.ts +0 -2
- package/auth/lib/helpers/jwt.helper.d.ts +0 -8
- package/auth/lib/interfaces/config.interface.d.ts +0 -27
- package/auth/lib/interfaces/provider.interface.d.ts +0 -23
- package/auth/lib/interfaces/token.interface.d.ts +0 -11
- package/auth/lib/providers/email.provider.d.ts +0 -9
- package/auth/lib/providers/verify.provider.d.ts +0 -9
- package/auth/lib/tokens/use-authorization.token.d.ts +0 -2
- package/auth/public_api.d.ts +0 -17
- package/collections/lib/classes/array.collection.d.ts +0 -17
- package/collections/lib/collection.d.ts +0 -40
- package/collections/lib/collections.config.d.ts +0 -3
- package/collections/lib/collections.interfaces.d.ts +0 -10
- package/collections/lib/collections.module.d.ts +0 -19
- package/collections/lib/components/collections-actions/collections-actions.component.d.ts +0 -13
- package/collections/lib/components/collections-grid/collections-grid.component.d.ts +0 -18
- package/collections/lib/components/collections-pager/collections-pager.component.d.ts +0 -38
- package/collections/lib/components/collections-table/collections-table.component.d.ts +0 -26
- package/collections/lib/components/collections-table-label/collections-table-label.component.d.ts +0 -11
- package/collections/lib/components/collections-table-sorting/collections-table-sorting.component.d.ts +0 -18
- package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +0 -16
- package/collections/lib/directives/collections-data-row.directive.d.ts +0 -14
- package/collections/lib/directives/collections-data.directive.d.ts +0 -14
- package/collections/lib/directives/collections-empty.directive.d.ts +0 -14
- package/collections/lib/directives/collections-error.directive.d.ts +0 -14
- package/collections/lib/directives/collections-initial.directive.d.ts +0 -11
- package/collections/lib/directives/collections-item.directive.d.ts +0 -14
- package/collections/lib/interfaces/array-collection.interface.d.ts +0 -6
- package/collections/lib/interfaces/collection.interface.d.ts +0 -32
- package/collections/lib/providers/api-collection.provider.d.ts +0 -19
- package/collections/lib/providers/collection.provider.d.ts +0 -9
- package/collections/lib/providers/local-collection.provider.d.ts +0 -16
- package/collections/public_api.d.ts +0 -23
- package/combobox/combobox/combobox-container.directive.d.ts +0 -28
- package/combobox/combobox/combobox.component.d.ts +0 -37
- package/combobox/combobox-label.directive.d.ts +0 -5
- package/combobox/combobox-option.directive.d.ts +0 -7
- package/combobox/combobox-panel/combobox-panel.animation.d.ts +0 -1
- package/combobox/combobox-panel/combobox-panel.component.d.ts +0 -18
- package/combobox/combobox.interface.d.ts +0 -8
- package/combobox/public_api.d.ts +0 -3
- package/dashboard/lib/dashboard/dashboard.component.d.ts +0 -17
- package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +0 -9
- package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +0 -9
- package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +0 -8
- package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +0 -19
- package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +0 -22
- package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +0 -16
- package/dashboard/lib/dashboard.module.d.ts +0 -13
- package/dashboard/public_api.d.ts +0 -8
- package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +0 -5
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +0 -22
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +0 -23
- package/dialog/lib/dialog-header/dialog-header.component.d.ts +0 -13
- package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +0 -16
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +0 -19
- package/dialog/lib/dialog.config.d.ts +0 -3
- package/dialog/lib/dialog.insertion.d.ts +0 -7
- package/dialog/lib/dialog.interfaces.d.ts +0 -21
- package/dialog/lib/dialog.module.d.ts +0 -17
- package/dialog/lib/dialog.ref.d.ts +0 -8
- package/dialog/lib/dialog.service.d.ts +0 -15
- package/dialog/lib/directives/confirm.directive.d.ts +0 -14
- package/dialog/public_api.d.ts +0 -10
- package/elements/lib/avatar/avatar.component.d.ts +0 -31
- package/elements/lib/button/button.component.d.ts +0 -21
- package/elements/lib/checkbox/checkbox.component.d.ts +0 -36
- package/elements/lib/checkbox-group/checkbox-group.component.d.ts +0 -13
- package/elements/lib/color-picker/color-picker.component.d.ts +0 -18
- package/elements/lib/color-slider/color-slider.component.d.ts +0 -24
- package/elements/lib/date-picker/date-picker.component.d.ts +0 -77
- package/elements/lib/directives/color-picker.directive.d.ts +0 -27
- package/elements/lib/directives/extra-error-controls.directive.d.ts +0 -13
- package/elements/lib/directives/file-drop.directive.d.ts +0 -13
- package/elements/lib/directives/form-submit.directive.d.ts +0 -17
- package/elements/lib/directives/form-submitter.directive.d.ts +0 -9
- package/elements/lib/directives/image-upload.directive.d.ts +0 -25
- package/elements/lib/directives/input.directive.d.ts +0 -16
- package/elements/lib/elements.config.d.ts +0 -3
- package/elements/lib/elements.inject.d.ts +0 -3
- package/elements/lib/elements.interfaces.d.ts +0 -41
- package/elements/lib/elements.module.d.ts +0 -39
- package/elements/lib/file-picker/file-picker.component.d.ts +0 -57
- package/elements/lib/form-control/form-control.component.d.ts +0 -20
- package/elements/lib/form-error/form-error.component.d.ts +0 -36
- package/elements/lib/form-group/form-group.component.d.ts +0 -7
- package/elements/lib/icon/icon.component.d.ts +0 -26
- package/elements/lib/image-control/image-control.component.d.ts +0 -44
- package/elements/lib/image-picker/image-picker.component.d.ts +0 -39
- package/elements/lib/multi-file-control/multi-file-control.component.d.ts +0 -72
- package/elements/lib/pincode-control/pincode-control.component.d.ts +0 -65
- package/elements/lib/pipes/date.pipe.d.ts +0 -9
- package/elements/lib/pipes/file-data-url.pipe.d.ts +0 -12
- package/elements/lib/pipes/file-image.pipe.d.ts +0 -14
- package/elements/lib/pipes/file-size.pipe.d.ts +0 -7
- package/elements/lib/pipes/relative-time.pipe.d.ts +0 -19
- package/elements/lib/radio-button/radio-button.component.d.ts +0 -16
- package/elements/lib/radio-group/radio-group.component.d.ts +0 -38
- package/elements/lib/spinner/spinner.component.d.ts +0 -9
- package/elements/public_api.d.ts +0 -35
- package/http/lib/classes/http.config.d.ts +0 -9
- package/http/lib/classes/http.error.d.ts +0 -7
- package/http/lib/http.config.d.ts +0 -5
- package/http/lib/http.interfaces.d.ts +0 -21
- package/http/lib/http.module.d.ts +0 -11
- package/http/lib/interceptors/base-url.interceptor.d.ts +0 -15
- package/http/lib/interceptors/error.interceptor.d.ts +0 -9
- package/http/public_api.d.ts +0 -7
- package/lib/core/colors/hex.d.ts +0 -18
- package/lib/core/colors/hsl.d.ts +0 -7
- package/lib/core/colors/hsv.d.ts +0 -13
- package/lib/core/colors/rgb.d.ts +0 -7
- package/lib/core/functions/array.utils.d.ts +0 -1
- package/lib/core/functions/date.utils.d.ts +0 -4
- package/lib/core/functions/file.utils.d.ts +0 -3
- package/lib/core/functions/format.utils.d.ts +0 -1
- package/lib/core/functions/password.utils.d.ts +0 -1
- package/lib/core/functions/route-cache.utils.d.ts +0 -10
- package/lib/core/functions/utils.d.ts +0 -1
- package/lib/core/miscellaneous/coercion.d.ts +0 -2
- package/lib/core/miscellaneous/regex.d.ts +0 -5
- package/lib/core/miscellaneous/validator.d.ts +0 -13
- package/lib/core/services/exif.service.d.ts +0 -12
- package/lib/core/services/file-loader.service.d.ts +0 -13
- package/lib/core/services/files.service.d.ts +0 -15
- package/lib/core/services/image-converter.service.d.ts +0 -17
- package/lib/core/services/languages.service.d.ts +0 -15
- package/lib/core/services/network.service.d.ts +0 -13
- package/lib/core/services/patch.service.d.ts +0 -14
- package/lib/core/tokens/accept-language.token.d.ts +0 -2
- package/lib/core/tokens/cookie.token.d.ts +0 -2
- package/lib/core/tokens/global-focus-mode.token.d.ts +0 -4
- package/lib/core/tokens/location.token.d.ts +0 -2
- package/lib/core/tokens/navigator.token.d.ts +0 -2
- package/lib/core/tokens/window.token.d.ts +0 -2
- package/localize/lib/dictionary/dictionary.class.d.ts +0 -28
- package/localize/lib/dictionary/dictionary.context.d.ts +0 -7
- package/localize/lib/dictionary/dictionary.data.d.ts +0 -7
- package/localize/lib/functions/date.function.d.ts +0 -5
- package/localize/lib/functions/lowercase.function.d.ts +0 -5
- package/localize/lib/functions/uppercase.function.d.ts +0 -5
- package/localize/lib/handlers/missing.handler.d.ts +0 -6
- package/localize/lib/interfaces/config.interfaces.d.ts +0 -18
- package/localize/lib/interfaces/functions.interfaces.d.ts +0 -7
- package/localize/lib/interfaces/handlers.interfaces.d.ts +0 -6
- package/localize/lib/interfaces/options.interfaces.d.ts +0 -11
- package/localize/lib/localizations/dutch.localization.d.ts +0 -74
- package/localize/lib/localizations/english.localization.d.ts +0 -74
- package/localize/lib/localizations/papiamento.localization.d.ts +0 -74
- package/localize/lib/localizations/spanish.localization.d.ts +0 -74
- package/localize/lib/localize.config.d.ts +0 -5
- package/localize/lib/localize.module.d.ts +0 -12
- package/localize/lib/localize.pipe.d.ts +0 -12
- package/localize/lib/localize.service.d.ts +0 -43
- package/localize/lib/localize.tokens.d.ts +0 -11
- package/localize/lib/transforms/abstract.transform.d.ts +0 -13
- package/localize/lib/transforms/interpolate.transform.d.ts +0 -13
- package/localize/lib/transforms/plural.transform.d.ts +0 -16
- package/localize/lib/transforms/reference.transform.d.ts +0 -9
- package/localize/lib/views/localize-string/localize-string.component.d.ts +0 -23
- package/localize/lib/views/localize-template.directive.d.ts +0 -9
- package/localize/public_api.d.ts +0 -26
- package/masking/lib/directives/currency-mask.directive.d.ts +0 -17
- package/masking/lib/directives/date-mask.directive.d.ts +0 -17
- package/masking/lib/directives/input-mask.directive.d.ts +0 -38
- package/masking/lib/input-mask.interface.d.ts +0 -19
- package/masking/lib/masking.module.d.ts +0 -9
- package/masking/lib/masking.service.d.ts +0 -12
- package/masking/public_api.d.ts +0 -6
- package/notifications/lib/notifications-item/notifications-item.component.d.ts +0 -33
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +0 -18
- package/notifications/lib/notifications.animations.d.ts +0 -1
- package/notifications/lib/notifications.config.d.ts +0 -3
- package/notifications/lib/notifications.interfaces.d.ts +0 -36
- package/notifications/lib/notifications.module.d.ts +0 -9
- package/notifications/lib/notifications.service.d.ts +0 -30
- package/notifications/public_api.d.ts +0 -4
- package/permissions/lib/directives/permission.directive.d.ts +0 -27
- package/permissions/lib/guards/permission.guard.d.ts +0 -3
- package/permissions/lib/handlers/abstract.handler.d.ts +0 -4
- package/permissions/lib/handlers/local.handler.d.ts +0 -10
- package/permissions/lib/permissions.config.d.ts +0 -3
- package/permissions/lib/permissions.interface.d.ts +0 -13
- package/permissions/lib/permissions.module.d.ts +0 -10
- package/permissions/lib/permissions.service.d.ts +0 -23
- package/permissions/public_api.d.ts +0 -8
- package/public_api.d.ts +0 -27
- package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +0 -47
- package/recaptcha/lib/recaptcha-loader.service.d.ts +0 -19
- package/recaptcha/lib/recaptcha.config.d.ts +0 -3
- package/recaptcha/lib/recaptcha.interface.d.ts +0 -13
- package/recaptcha/lib/recaptcha.module.d.ts +0 -10
- package/recaptcha/public_api.d.ts +0 -5
- package/rxjs/lib/observables/get-control-value.observable.d.ts +0 -3
- package/rxjs/lib/observables/get-route-param.observable.d.ts +0 -3
- package/rxjs/lib/operators/combine-latest-map.operator.d.ts +0 -8
- package/rxjs/lib/operators/filter-nil.operator.d.ts +0 -1
- package/rxjs/public_api.d.ts +0 -4
- package/select/lib/select/select.component.d.ts +0 -94
- package/select/lib/select-label.directive.d.ts +0 -7
- package/select/lib/select-multi-label.directive.d.ts +0 -7
- package/select/lib/select-option-group.directive.d.ts +0 -7
- package/select/lib/select-option.directive.d.ts +0 -7
- package/select/lib/select.config.d.ts +0 -2
- package/select/lib/select.module.d.ts +0 -11
- package/select/public_api.d.ts +0 -7
- package/storage/lib/interfaces/attributes.interface.d.ts +0 -13
- package/storage/lib/interfaces/memory.interface.d.ts +0 -7
- package/storage/lib/interfaces/strategy.interface.d.ts +0 -17
- package/storage/lib/storage.service.d.ts +0 -25
- package/storage/lib/strategies/cookie-storage.strategy.d.ts +0 -20
- package/storage/lib/strategies/memory-storage.strategy.d.ts +0 -11
- package/storage/lib/strategies/polyfill-storage.strategy.d.ts +0 -15
- package/storage/public_api.d.ts +0 -7
- package/table/lib/components/table/table.component.d.ts +0 -57
- package/table/lib/components/table-cell/table-cell.component.d.ts +0 -5
- package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +0 -26
- package/table/lib/components/table-pager/table-pager.component.d.ts +0 -40
- package/table/lib/data/datasource.data.d.ts +0 -14
- package/table/lib/data/generic.data.d.ts +0 -25
- package/table/lib/interfaces/datasource.interface.d.ts +0 -17
- package/table/lib/interfaces/table.interfaces.d.ts +0 -11
- package/table/lib/table.config.d.ts +0 -3
- package/table/lib/table.module.d.ts +0 -10
- package/table/public_api.d.ts +0 -10
- package/tooltip/lib/tooltip-container/tooltip-container.component.d.ts +0 -9
- package/tooltip/lib/tooltip.directive.d.ts +0 -23
- package/tooltip/lib/tooltip.interfaces.d.ts +0 -4
- package/tooltip/lib/tooltip.module.d.ts +0 -7
- package/tooltip/public_api.d.ts +0 -4
- package/utils/lib/directives/autosize.directive.d.ts +0 -19
- package/utils/lib/directives/focus-trap.directive.d.ts +0 -14
- package/utils/lib/directives/focus.directive.d.ts +0 -16
- package/utils/lib/directives/template.directive.d.ts +0 -10
- package/utils/lib/utils.module.d.ts +0 -10
- package/utils/public_api.d.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-combobox.mjs","sources":["../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.animation.ts","../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.component.ts","../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.component.html","../../../projects/bb-foundation/combobox/src/combobox/combobox-container.directive.ts","../../../projects/bb-foundation/combobox/src/combobox-option.directive.ts","../../../projects/bb-foundation/combobox/src/combobox-label.directive.ts","../../../projects/bb-foundation/combobox/src/combobox/combobox.component.ts","../../../projects/bb-foundation/combobox/src/combobox/combobox.component.html","../../../projects/bb-foundation/combobox/src/bravobit-bb-foundation-combobox.ts"],"sourcesContent":["import {animate, style, transition, trigger} from '@angular/animations';\n\nexport const comboboxPanelAnimation = trigger('comboboxPanelAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'translateY(5px)'}),\n animate('300ms cubic-bezier(0, 0, .2, 1)', style({opacity: 1, transform: 'none'}))\n ]),\n transition(':leave', [\n animate('300ms cubic-bezier(0, 0, .2, 1)', style({opacity: 0, transform: 'translateY(5px)'}))\n ])\n]);\n","import {ChangeDetectionStrategy, Component, HostBinding, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BbComboboxContainer} from '../combobox/combobox-container.directive';\nimport {ComboboxItem, ComboboxOptionContext} from '../combobox.interface';\nimport {comboboxPanelAnimation} from './combobox-panel.animation';\nimport {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {BbCombobox} from '../combobox/combobox.component';\nimport {CdkTrapFocus} from '@angular/cdk/a11y';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'bb-combobox-panel',\n templateUrl: './combobox-panel.component.html',\n styleUrls: ['./combobox-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-combobox-panel',\n 'role': 'listbox'\n },\n hostDirectives: [\n {directive: CdkTrapFocus}\n ],\n imports: [AsyncPipe, NgTemplateOutlet],\n animations: [comboboxPanelAnimation]\n})\nexport class BbComboboxPanel {\n\n // Readonly data.\n readonly items$: Observable<ComboboxItem<unknown>[]>;\n readonly optionTemplate: TemplateRef<ComboboxOptionContext>;\n\n // Host bindings.\n @HostBinding('@comboboxPanelAnimation') animation: boolean = true;\n\n constructor(private _combobox: BbCombobox,\n private _container: BbComboboxContainer) {\n this.items$ = this._combobox.items$;\n this.optionTemplate = this._combobox?.optionTemplate ?? null;\n }\n\n select(item: ComboboxItem<unknown>) {\n this._combobox.select(item?.value ?? null);\n this._container.close();\n }\n\n}\n","@if (items$ | async; as items) {\n @for (item of items; track $index) {\n <div (click)=\"select(item)\"\n tabindex=\"0\"\n role=\"option\"\n class=\"bb-combobox-panel-item\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {item: item}\"></ng-container>\n } @else {\n {{ item?.label }}\n }\n </div>\n }\n\n}\n","import {Directive, ElementRef, HostListener, Inject, Injector, OnDestroy, OnInit, Optional, ViewContainerRef} from '@angular/core';\nimport {ConnectedPosition, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {BbComboboxPanel} from '../combobox-panel/combobox-panel.component';\nimport {fromEvent, Subscription, throttleTime} from 'rxjs';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {BbCombobox} from './combobox.component';\nimport {WINDOW} from '@bravobit/bb-foundation';\n\n@Directive({\n selector: '[bbComboboxContainer]'\n})\nexport class BbComboboxContainer implements OnInit, OnDestroy {\n\n // State.\n private _overlayRef: OverlayRef | null = null;\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _overlay: Overlay,\n private _combobox: BbCombobox,\n private _viewContainerRef: ViewContainerRef,\n private _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(WINDOW) private _window: Window) {\n }\n\n get width() {\n return this._elementRef?.nativeElement?.clientWidth ?? 0;\n }\n\n ngOnInit() {\n this.createOverlay();\n this.handleResizing();\n this.handleBackdropClick();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n this._overlayRef?.dispose();\n this._overlayRef = null;\n }\n\n @HostListener('click')\n toggle() {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef?.hasAttached() ? this.close() : this.open();\n }\n\n open() {\n const injector = Injector.create({\n providers: [\n {provide: BbComboboxContainer, useValue: this},\n {provide: BbCombobox, useValue: this._combobox}\n ]\n });\n\n const component = new ComponentPortal(BbComboboxPanel, this._viewContainerRef, injector);\n this._overlayRef.attach(component);\n }\n\n close() {\n this._overlayRef?.detach();\n }\n\n private getPositionStrategy() {\n const positions = this.getPositions();\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withFlexibleDimensions(true)\n .withGrowAfterOpen(true)\n .withPush(false)\n .withViewportMargin(20)\n .withPositions(positions);\n }\n\n private getPositions() {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 10\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -10\n }\n ] satisfies ConnectedPosition[];\n }\n\n private resize() {\n this._overlayRef.updateSize({width: this.width});\n }\n\n private createOverlay() {\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: true,\n backdropClass: null,\n disposeOnNavigation: true,\n width: this.width\n });\n }\n\n private handleBackdropClick() {\n if (!this._overlayRef) {\n return;\n }\n\n const subscription = this._overlayRef.backdropClick()\n .subscribe(() => this.close());\n this._subscription.add(subscription);\n }\n\n private handleResizing() {\n if (!this._window) {\n return;\n }\n\n const resize$ = fromEvent(this._window, 'resize').pipe(\n throttleTime(20)\n );\n\n const subscription = resize$.subscribe(() => this.resize());\n this._subscription.add(subscription);\n }\n\n}\n","import {ComboboxOptionContext} from './combobox.interface';\nimport {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[bbComboboxOption]'\n})\nexport class BbComboboxOption {\n\n static ngTemplateContextGuard(directive: BbComboboxOption, context: unknown): context is ComboboxOptionContext {\n return true;\n }\n\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[bbComboboxLabel]'\n})\nexport class BbComboboxLabel {\n}\n","import {booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BehaviorSubject, isObservable, Observable, Subscription} from 'rxjs';\nimport {ComboboxItem, ComboboxOptionContext} from '../combobox.interface';\nimport {BbComboboxContainer} from './combobox-container.directive';\nimport {BbComboboxOption} from '../combobox-option.directive';\nimport {BbComboboxLabel} from '../combobox-label.directive';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {map, shareReplay} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-combobox',\n templateUrl: './combobox.component.html',\n styleUrls: ['./combobox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-combobox'},\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true}\n ],\n imports: [BbComboboxContainer]\n})\nexport class BbCombobox<T = unknown> implements OnInit, OnDestroy {\n\n // Children.\n @ContentChild(BbComboboxLabel, {read: TemplateRef, static: false}) labelComponent?: TemplateRef<BbComboboxLabel>;\n @ContentChild(BbComboboxOption, {read: TemplateRef, static: false}) optionTemplate?: TemplateRef<ComboboxOptionContext>;\n\n // Inputs.\n @Input() value: T | null = null;\n @Input() bindLabel: string | null = null;\n @Input() bindValue: string | null = null;\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n @Input()\n set data(items: T[] | Observable<T[]>) {\n this.handleData(items);\n }\n\n get data() {\n return this._cache$.getValue();\n }\n\n // Outputs.\n @Output() valueChange = new EventEmitter<T>();\n\n // State.\n items$: Observable<ComboboxItem<T>[]>;\n\n // Methods.\n onChange: (newValue: T) => void = () => ({});\n onTouched: () => void = () => ({});\n\n // Cache.\n private _cache$ = new BehaviorSubject<T[]>([]);\n\n // Subscriptions.\n private _dataSubscription = new Subscription();\n\n ngOnInit() {\n this.setItems();\n }\n\n ngOnDestroy() {\n this._dataSubscription?.unsubscribe();\n }\n\n registerOnChange(fn: (newValue: T) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n writeValue(newValue: T) {\n this.value = newValue;\n }\n\n select(value: T) {\n this.value = value;\n this.emitChangeEvent();\n }\n\n private setItems() {\n this.items$ = this._cache$.pipe(\n map(items => items.map(item => this.createComboboxItem(item))),\n shareReplay({bufferSize: 1, refCount: true})\n );\n }\n\n private createComboboxItem(data: T) {\n return <ComboboxItem<T>>{\n data,\n label: !!this.bindLabel ? (data?.[this.bindLabel] ?? null) : data,\n value: !!this.bindValue ? (data?.[this.bindValue] ?? null) : data\n };\n }\n\n private setCache(items: T[]) {\n if (items === null || items === undefined) {\n return;\n }\n this._cache$.next(items);\n }\n\n private handleData(items: T[] | Observable<T[]>) {\n if (isObservable(items)) {\n return this.handleDataObservable(items);\n }\n\n return this.setCache(items);\n }\n\n private handleDataObservable(items$: Observable<T[]>) {\n this._dataSubscription?.unsubscribe();\n const subscription = items$.subscribe(items => this.setCache(items));\n this._dataSubscription.add(subscription);\n }\n\n private emitChangeEvent() {\n this.onChange?.(this.value);\n this.valueChange.emit(this.value);\n }\n\n}\n","<div bbComboboxContainer\n class=\"bb-combobox-container\">\n {{ value }}\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.BbCombobox","i2.BbComboboxContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-combobox.mjs","sources":["../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.animation.ts","../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.component.ts","../../../projects/bb-foundation/combobox/src/combobox-panel/combobox-panel.component.html","../../../projects/bb-foundation/combobox/src/combobox/combobox-container.directive.ts","../../../projects/bb-foundation/combobox/src/combobox-option.directive.ts","../../../projects/bb-foundation/combobox/src/combobox-label.directive.ts","../../../projects/bb-foundation/combobox/src/combobox/combobox.component.ts","../../../projects/bb-foundation/combobox/src/combobox/combobox.component.html","../../../projects/bb-foundation/combobox/src/bravobit-bb-foundation-combobox.ts"],"sourcesContent":["import {animate, style, transition, trigger} from '@angular/animations';\n\nexport const comboboxPanelAnimation = trigger('comboboxPanelAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'translateY(5px)'}),\n animate('300ms cubic-bezier(0, 0, .2, 1)', style({opacity: 1, transform: 'none'}))\n ]),\n transition(':leave', [\n animate('300ms cubic-bezier(0, 0, .2, 1)', style({opacity: 0, transform: 'translateY(5px)'}))\n ])\n]);\n","import {ChangeDetectionStrategy, Component, HostBinding, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BbComboboxContainer} from '../combobox/combobox-container.directive';\nimport {ComboboxItem, ComboboxOptionContext} from '../combobox.interface';\nimport {comboboxPanelAnimation} from './combobox-panel.animation';\nimport {AsyncPipe, NgTemplateOutlet} from '@angular/common';\nimport {BbCombobox} from '../combobox/combobox.component';\nimport {CdkTrapFocus} from '@angular/cdk/a11y';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'bb-combobox-panel',\n templateUrl: './combobox-panel.component.html',\n styleUrls: ['./combobox-panel.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-combobox-panel',\n 'role': 'listbox'\n },\n hostDirectives: [\n {directive: CdkTrapFocus}\n ],\n imports: [AsyncPipe, NgTemplateOutlet],\n animations: [comboboxPanelAnimation]\n})\nexport class BbComboboxPanel {\n\n // Readonly data.\n readonly items$: Observable<ComboboxItem<unknown>[]>;\n readonly optionTemplate: TemplateRef<ComboboxOptionContext>;\n\n // Host bindings.\n @HostBinding('@comboboxPanelAnimation') animation: boolean = true;\n\n constructor(private _combobox: BbCombobox,\n private _container: BbComboboxContainer) {\n this.items$ = this._combobox.items$;\n this.optionTemplate = this._combobox?.optionTemplate ?? null;\n }\n\n select(item: ComboboxItem<unknown>) {\n this._combobox.select(item?.value ?? null);\n this._container.close();\n }\n\n}\n","@if (items$ | async; as items) {\n @for (item of items; track $index) {\n <div (click)=\"select(item)\"\n tabindex=\"0\"\n role=\"option\"\n class=\"bb-combobox-panel-item\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {item: item}\"></ng-container>\n } @else {\n {{ item?.label }}\n }\n </div>\n }\n\n}\n","import {Directive, ElementRef, HostListener, Inject, Injector, OnDestroy, OnInit, Optional, ViewContainerRef} from '@angular/core';\nimport {ConnectedPosition, Overlay, OverlayRef} from '@angular/cdk/overlay';\nimport {BbComboboxPanel} from '../combobox-panel/combobox-panel.component';\nimport {fromEvent, Subscription, throttleTime} from 'rxjs';\nimport {ComponentPortal} from '@angular/cdk/portal';\nimport {BbCombobox} from './combobox.component';\nimport {WINDOW} from '@bravobit/bb-foundation';\n\n@Directive({\n selector: '[bbComboboxContainer]'\n})\nexport class BbComboboxContainer implements OnInit, OnDestroy {\n\n // State.\n private _overlayRef: OverlayRef | null = null;\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(private _overlay: Overlay,\n private _combobox: BbCombobox,\n private _viewContainerRef: ViewContainerRef,\n private _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(WINDOW) private _window: Window) {\n }\n\n get width() {\n return this._elementRef?.nativeElement?.clientWidth ?? 0;\n }\n\n ngOnInit() {\n this.createOverlay();\n this.handleResizing();\n this.handleBackdropClick();\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n this._overlayRef?.dispose();\n this._overlayRef = null;\n }\n\n @HostListener('click')\n toggle() {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef?.hasAttached() ? this.close() : this.open();\n }\n\n open() {\n const injector = Injector.create({\n providers: [\n {provide: BbComboboxContainer, useValue: this},\n {provide: BbCombobox, useValue: this._combobox}\n ]\n });\n\n const component = new ComponentPortal(BbComboboxPanel, this._viewContainerRef, injector);\n this._overlayRef.attach(component);\n }\n\n close() {\n this._overlayRef?.detach();\n }\n\n private getPositionStrategy() {\n const positions = this.getPositions();\n return this._overlay\n .position()\n .flexibleConnectedTo(this._elementRef)\n .withFlexibleDimensions(true)\n .withGrowAfterOpen(true)\n .withPush(false)\n .withViewportMargin(20)\n .withPositions(positions);\n }\n\n private getPositions() {\n return [\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: 10\n },\n {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -10\n }\n ] satisfies ConnectedPosition[];\n }\n\n private resize() {\n this._overlayRef.updateSize({width: this.width});\n }\n\n private createOverlay() {\n const positionStrategy = this.getPositionStrategy();\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n hasBackdrop: true,\n backdropClass: null,\n disposeOnNavigation: true,\n width: this.width\n });\n }\n\n private handleBackdropClick() {\n if (!this._overlayRef) {\n return;\n }\n\n const subscription = this._overlayRef.backdropClick()\n .subscribe(() => this.close());\n this._subscription.add(subscription);\n }\n\n private handleResizing() {\n if (!this._window) {\n return;\n }\n\n const resize$ = fromEvent(this._window, 'resize').pipe(\n throttleTime(20)\n );\n\n const subscription = resize$.subscribe(() => this.resize());\n this._subscription.add(subscription);\n }\n\n}\n","import {ComboboxOptionContext} from './combobox.interface';\nimport {Directive} from '@angular/core';\n\n@Directive({\n selector: 'ng-template[bbComboboxOption]'\n})\nexport class BbComboboxOption {\n\n static ngTemplateContextGuard(directive: BbComboboxOption, context: unknown): context is ComboboxOptionContext {\n return true;\n }\n\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[bbComboboxLabel]'\n})\nexport class BbComboboxLabel {\n}\n","import {booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output, TemplateRef, ViewEncapsulation} from '@angular/core';\nimport {BehaviorSubject, isObservable, Observable, Subscription} from 'rxjs';\nimport {ComboboxItem, ComboboxOptionContext} from '../combobox.interface';\nimport {BbComboboxContainer} from './combobox-container.directive';\nimport {BbComboboxOption} from '../combobox-option.directive';\nimport {BbComboboxLabel} from '../combobox-label.directive';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {map, shareReplay} from 'rxjs/operators';\n\n@Component({\n selector: 'bb-combobox',\n templateUrl: './combobox.component.html',\n styleUrls: ['./combobox.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-combobox'},\n providers: [\n {provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true}\n ],\n imports: [BbComboboxContainer]\n})\nexport class BbCombobox<T = unknown> implements OnInit, OnDestroy {\n\n // Children.\n @ContentChild(BbComboboxLabel, {read: TemplateRef, static: false}) labelComponent?: TemplateRef<BbComboboxLabel>;\n @ContentChild(BbComboboxOption, {read: TemplateRef, static: false}) optionTemplate?: TemplateRef<ComboboxOptionContext>;\n\n // Inputs.\n @Input() value: T | null = null;\n @Input() bindLabel: string | null = null;\n @Input() bindValue: string | null = null;\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n @Input()\n set data(items: T[] | Observable<T[]>) {\n this.handleData(items);\n }\n\n get data() {\n return this._cache$.getValue();\n }\n\n // Outputs.\n @Output() valueChange = new EventEmitter<T>();\n\n // State.\n items$: Observable<ComboboxItem<T>[]>;\n\n // Methods.\n onChange: (newValue: T) => void = () => ({});\n onTouched: () => void = () => ({});\n\n // Cache.\n private _cache$ = new BehaviorSubject<T[]>([]);\n\n // Subscriptions.\n private _dataSubscription = new Subscription();\n\n ngOnInit() {\n this.setItems();\n }\n\n ngOnDestroy() {\n this._dataSubscription?.unsubscribe();\n }\n\n registerOnChange(fn: (newValue: T) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n writeValue(newValue: T) {\n this.value = newValue;\n }\n\n select(value: T) {\n this.value = value;\n this.emitChangeEvent();\n }\n\n private setItems() {\n this.items$ = this._cache$.pipe(\n map(items => items.map(item => this.createComboboxItem(item))),\n shareReplay({bufferSize: 1, refCount: true})\n );\n }\n\n private createComboboxItem(data: T) {\n return <ComboboxItem<T>>{\n data,\n label: !!this.bindLabel ? (data?.[this.bindLabel] ?? null) : data,\n value: !!this.bindValue ? (data?.[this.bindValue] ?? null) : data\n };\n }\n\n private setCache(items: T[]) {\n if (items === null || items === undefined) {\n return;\n }\n this._cache$.next(items);\n }\n\n private handleData(items: T[] | Observable<T[]>) {\n if (isObservable(items)) {\n return this.handleDataObservable(items);\n }\n\n return this.setCache(items);\n }\n\n private handleDataObservable(items$: Observable<T[]>) {\n this._dataSubscription?.unsubscribe();\n const subscription = items$.subscribe(items => this.setCache(items));\n this._dataSubscription.add(subscription);\n }\n\n private emitChangeEvent() {\n this.onChange?.(this.value);\n this.valueChange.emit(this.value);\n }\n\n}\n","<div bbComboboxContainer\n class=\"bb-combobox-container\">\n {{ value }}\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.BbCombobox","i2.BbComboboxContainer"],"mappings":"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"}
|
|
@@ -67,10 +67,10 @@ class BbDashboardSidebar {
|
|
|
67
67
|
close() {
|
|
68
68
|
this.visibilityChanges.next(false);
|
|
69
69
|
}
|
|
70
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
71
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
70
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: BbDashboardSidebar, isStandalone: true, selector: "bb-dashboard-sidebar", host: { attributes: { "role": "navigation" }, properties: { "class.visible": "visibilityChanges.getValue()" }, classAttribute: "bb-dashboard-sidebar" }, ngImport: i0, template: "<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n", styles: [".bb-dashboard-sidebar{top:0;bottom:0;z-index:10;left:-16rem;width:16rem;height:100vh;display:flex;position:fixed;min-width:16rem;will-change:transform;flex-direction:column;transform:translate(16rem);height:calc(var(--vh, 1vh) * 100);border-right:1px solid hsla(0,0%,0%,.4);transition:transform .2s cubic-bezier(0,0,.2,1);background:#fff linear-gradient(to bottom,#fff,#f2f2f2)}.bb-dashboard-sidebar.visible{transform:none}.bb-dashboard-sidebar-scroll{flex:1;overflow:auto}.bb-dashboard-sidebar>header{border-bottom:1px solid #d8d8d8;background-color:#ffffff80}.bb-dashboard-sidebar>footer{border-top:1px solid #d8d8d8;background-color:#ffffff80}@media only screen and (min-width: 768px){.bb-dashboard-sidebar{left:0;z-index:auto;transform:none;position:relative;margin-left:-16rem;transition:margin-left .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebar, decorators: [{
|
|
74
74
|
type: Component,
|
|
75
75
|
args: [{ selector: 'bb-dashboard-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
76
76
|
'class': 'bb-dashboard-sidebar',
|
|
@@ -106,10 +106,10 @@ class BbDashboard {
|
|
|
106
106
|
? this._renderer.removeClass(document.documentElement, className)
|
|
107
107
|
: this._renderer.addClass(document.documentElement, className);
|
|
108
108
|
}
|
|
109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
110
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
109
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboard, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
110
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: BbDashboard, isStandalone: true, selector: "bb-dashboard", inputs: { backgroundColor: "backgroundColor", maxWidth: "maxWidth", padding: "padding" }, host: { classAttribute: "bb-dashboard" }, queries: [{ propertyName: "sidebar", first: true, predicate: BbDashboardSidebar, descendants: true }], ngImport: i0, template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\"></ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{inset:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboard, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
114
|
args: [{ selector: 'bb-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard' }, imports: [AsyncPipe], template: "<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\"></ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n", styles: [".bb-dashboard{height:100vh;display:flex;overflow:hidden;position:relative;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-section{flex:1;height:100vh;display:flex;overflow-x:hidden;flex-direction:column;height:calc(var(--vh, 1vh) * 100)}.bb-dashboard-scroll{flex:1;display:flex;overflow-x:hidden;overflow-y:scroll;flex-direction:column;-webkit-overflow-scrolling:touch}.bb-dashboard-container{width:100%;display:flex;margin:0 auto;flex-direction:column}.bb-dashboard-backdrop{inset:0;opacity:0;z-index:5;position:absolute;will-change:opacity;pointer-events:none;background-color:#00000080;transition:opacity .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-backdrop.visible{opacity:1;cursor:pointer;pointer-events:all}@media only screen and (min-width: 768px){.bb-dashboard-backdrop{display:none}}.bb-dashboard-html{height:100%;overflow:hidden}\n"] }]
|
|
115
115
|
}], propDecorators: { sidebar: [{
|
|
@@ -135,10 +135,10 @@ class BbDashboardHeader {
|
|
|
135
135
|
onToggleSidebarClicked() {
|
|
136
136
|
this._parent?.sidebar?.toggle();
|
|
137
137
|
}
|
|
138
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
139
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
138
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
139
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: BbDashboardHeader, isStandalone: true, selector: "bb-dashboard-header", host: { classAttribute: "bb-dashboard-header" }, ngImport: i0, template: "<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"1.0625rem\"\n height=\"0.75rem\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n </button>\n}\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:3rem;display:flex;font-size:1rem;min-height:3rem;padding:0 .5rem;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:4.25rem;height:2.125rem;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:.5rem}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
140
140
|
}
|
|
141
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
141
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardHeader, decorators: [{
|
|
142
142
|
type: Component,
|
|
143
143
|
args: [{ selector: 'bb-dashboard-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard-header' }, imports: [AsyncPipe], template: "<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"1.0625rem\"\n height=\"0.75rem\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n </button>\n}\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n", styles: [".bb-dashboard-header{z-index:1;width:100%;color:#fff;height:3rem;display:flex;font-size:1rem;min-height:3rem;padding:0 .5rem;align-items:center;background-color:#5b53ff;border-bottom:1px solid #4d46d6}.bb-dashboard-header-button{width:4.25rem;height:2.125rem;align-items:center;display:inline-flex;border-radius:.25rem;justify-content:center;border:1px solid #4d46d6;background-color:transparent}.bb-dashboard-header-button>svg{height:100%;transform:none;transition:transform .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-header-button.reversed>svg{transform:rotateY(180deg)}.bb-dashboard-header-button:hover{background-color:#0000000a}.bb-dashboard-header-button:active{background-color:#00000014}.bb-dashboard-header-items{display:flex;margin-left:auto;align-items:center}.bb-dashboard-header-items>*:not(:first-child){margin-left:.5rem}@media only screen and (min-width: 768px){.bb-dashboard-header-button>svg{transform:rotateY(180deg)}.bb-dashboard-header-button.reversed>svg{transform:none}}\n"] }]
|
|
144
144
|
}] });
|
|
@@ -149,10 +149,10 @@ class BbDashboardMenu {
|
|
|
149
149
|
imageUrl = null;
|
|
150
150
|
backUrlLink = null;
|
|
151
151
|
backUrlTitle = null;
|
|
152
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
153
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
152
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
153
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: BbDashboardMenu, isStandalone: true, selector: "bb-dashboard-menu", inputs: { title: "title", imageUrl: "imageUrl", backUrlLink: "backUrlLink", backUrlTitle: "backUrlTitle" }, host: { attributes: { "role": "navigation" }, classAttribute: "bb-dashboard-menu" }, ngImport: i0, template: "@if (backUrlLink && backUrlTitle) {\n <a [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">{{ backUrlTitle }}</a>\n}\n\n<div class=\"bb-dashboard-menu-row\">\n @if (imageUrl) {\n <img [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n }\n @if (title; as titleLabel) {\n <h1 class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n }\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n", styles: [".bb-dashboard-menu{display:block;margin-bottom:1.5rem}.bb-dashboard-menu-link,.bb-dashboard-menu-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bb-dashboard-menu-link{display:block;font-weight:500;margin-bottom:1rem;text-decoration:none}.bb-dashboard-menu-link,.bb-dashboard-menu-link:visited{color:#a7a9c4!important}.bb-dashboard-menu-link:before{content:\"\";width:.875rem;height:.8125rem;margin-right:.25rem;display:inline-block;background-size:cover;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 492 492'%3E%3Cpath fill='%23a7a9c4' d='M464.344 207.418l.768.168H135.888l103.496-103.724c5.068-5.064 7.848-11.924 7.848-19.124 0-7.2-2.78-14.012-7.848-19.088L223.28 49.538c-5.064-5.064-11.812-7.864-19.008-7.864-7.2 0-13.952 2.78-19.016 7.844L7.844 226.914C2.76 231.998-.02 238.77 0 245.974c-.02 7.244 2.76 14.02 7.844 19.096l177.412 177.412c5.064 5.06 11.812 7.844 19.016 7.844 7.196 0 13.944-2.788 19.008-7.844l16.104-16.112c5.068-5.056 7.848-11.808 7.848-19.008 0-7.196-2.78-13.592-7.848-18.652L134.72 284.406h329.992c14.828 0 27.288-12.78 27.288-27.6v-22.788c0-14.82-12.828-26.6-27.656-26.6z'/%3E%3C/svg%3E\")}.bb-dashboard-menu-row{display:flex;align-items:center;margin-bottom:.75rem}.bb-dashboard-menu-image{width:2rem;height:2rem;display:block;border-radius:50%;margin-right:.75rem}.bb-dashboard-menu-title{color:#272838;display:block;line-height:1;font-size:2rem;font-weight:500}.bb-dashboard-menu-navigation{display:flex;overflow-x:auto;border-bottom:1px solid #d8d8d8}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
154
154
|
}
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardMenu, decorators: [{
|
|
156
156
|
type: Component,
|
|
157
157
|
args: [{ selector: 'bb-dashboard-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
158
158
|
'class': 'bb-dashboard-menu',
|
|
@@ -181,10 +181,10 @@ class BbDashboardMenuItem {
|
|
|
181
181
|
event.preventDefault();
|
|
182
182
|
event.stopImmediatePropagation();
|
|
183
183
|
}
|
|
184
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
184
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.3", type: BbDashboardMenuItem, isStandalone: true, selector: "[bb-dashboard-menu-item]", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "click": "stopDisabledEvents($event)" }, properties: { "class.disabled": "disabled" }, classAttribute: "bb-dashboard-menu-item" }, ngImport: i0, template: "<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n", styles: [".bb-dashboard-menu-item{margin:0;padding:0;border:none;display:flex;max-width:100%;font-size:1rem;appearance:none;align-items:center;white-space:nowrap;background-color:transparent;text-decoration:none!important;border-bottom:2px solid transparent}.bb-dashboard-menu-item,.bb-dashboard-menu-item:visited{color:#6b5c5c}.bb-dashboard-menu-item:not(:first-child){margin-left:.75rem}.bb-dashboard-menu-item:not(:last-child){margin-right:.75rem}.bb-dashboard-menu-item:hover:not(.disabled):not(.active){border-color:#75779433}.bb-dashboard-menu-item.active,.bb-dashboard-menu-item.active:visited .bb-dashboard-menu-item.active:hover{color:#5b53ff;border-color:#5b53ff}.bb-dashboard-menu-item.disabled,.bb-dashboard-menu-item.disabled:focus,.bb-dashboard-menu-item.disabled:hover,.bb-dashboard-menu-item.disabled:active{opacity:.4;cursor:default;box-shadow:none}.bb-dashboard-menu-item>[bbPrefix]{margin-right:.25rem}.bb-dashboard-menu-item>[bbSuffix]{margin-left:.25rem}.bb-dashboard-menu-item-content{height:2.5rem;display:block;font-weight:500;line-height:2.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
|
|
188
188
|
type: Component,
|
|
189
189
|
args: [{ selector: '[bb-dashboard-menu-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
190
190
|
'class': 'bb-dashboard-menu-item',
|
|
@@ -257,10 +257,10 @@ class BbDashboardSidebarGroup {
|
|
|
257
257
|
event.preventDefault();
|
|
258
258
|
event.stopPropagation();
|
|
259
259
|
}
|
|
260
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
261
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
260
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebarGroup, deps: [{ token: BbDashboardSidebar, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
261
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.3", type: BbDashboardSidebarGroup, isStandalone: true, selector: "bb-dashboard-sidebar-group", inputs: { id: "id", icon: "icon", title: "title", disabled: ["disabled", "disabled", booleanAttribute] }, host: { attributes: { "role": "group" }, listeners: { "click": "onGroupClicked($event)" }, properties: { "class.expanded": "isExpanded", "class.with-toggle": "hasToggle", "class.has-icon": "!!icon", "class.disabled": "disabled" }, classAttribute: "bb-dashboard-sidebar-group" }, ngImport: i0, template: "<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"0.75rem\"\n height=\"0.75rem\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n </button>\n}\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n", styles: [".bb-dashboard-sidebar-group{color:#000;display:block;overflow:hidden;border-bottom:1px solid hsla(0,0%,0%,.1);transition:background-color .2s cubic-bezier(0,0,.2,1),padding-bottom .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group.expanded{background-color:#0000000a}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-title{color:#000}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-item{opacity:1;height:2rem;line-height:2rem;padding:.375rem 1rem}.bb-dashboard-sidebar-group.expanded .bb-dashboard-sidebar-group-toggle{opacity:0;transform:translate(.75rem)}.bb-dashboard-sidebar-group.with-toggle.expanded{padding-bottom:1.5rem}.bb-dashboard-sidebar-group.has-icon .bb-dashboard-sidebar-item{padding-left:3.5rem}.bb-dashboard-sidebar-group.disabled{opacity:.5}.bb-dashboard-sidebar-group-title{margin:0;width:100%;border:none;padding:1rem;display:flex;cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;align-items:center;color:#000c;background-color:transparent;transition:color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-title:active>.bb-dashboard-sidebar-group-toggle{background-color:#00000014}.bb-dashboard-sidebar-group-icon{margin-right:1rem;color:#00000040}.bb-dashboard-sidebar-group-text{width:100%;display:block;max-width:100%;overflow:hidden;font-weight:500;line-height:1rem;font-size:.875rem;white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase}.bb-dashboard-sidebar-group-toggle{width:1.5rem;display:flex;height:1.5rem;min-width:1.5rem;margin-left:auto;min-height:1.5rem;align-items:center;border-radius:.25rem;justify-content:center;transition:opacity .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-group-toggle>svg{width:.75rem;height:.75rem;fill:#00000040}\n"], dependencies: [{ kind: "component", type: BbIcon, selector: "bb-icon", inputs: ["alt", "size", "ariaHidden", "unit", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
262
262
|
}
|
|
263
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebarGroup, decorators: [{
|
|
264
264
|
type: Component,
|
|
265
265
|
args: [{ selector: 'bb-dashboard-sidebar-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
266
266
|
'class': 'bb-dashboard-sidebar-group',
|
|
@@ -323,10 +323,10 @@ class BbDashboardSidebarItem {
|
|
|
323
323
|
? this._group.disabled
|
|
324
324
|
: false;
|
|
325
325
|
}
|
|
326
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
327
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
326
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebarItem, deps: [{ token: BbDashboardSidebar, optional: true }, { token: BbDashboardSidebarGroup, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
327
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: BbDashboardSidebarItem, isStandalone: true, selector: "[bb-dashboard-sidebar-item]", inputs: { tabIndex: "tabIndex" }, host: { listeners: { "click": "onClick()" }, properties: { "attr.tabindex": "attributeTabIndex", "attr.aria-hidden": "isHidden" }, classAttribute: "bb-dashboard-sidebar-item" }, ngImport: i0, template: "<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n", styles: [".bb-dashboard-sidebar-item{height:0;opacity:0;padding:0;display:flex;line-height:0;cursor:pointer;font-weight:500;font-size:.875rem;align-items:center;text-decoration:none;will-change:opacity,height;color:#000000d9!important;transition:height .2s cubic-bezier(0,0,.2,1),opacity .2s 50ms cubic-bezier(0,0,.2,1),color .2s cubic-bezier(0,0,.2,1),background-color .2s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar-item:focus,.bb-dashboard-sidebar-item:hover{background-color:#00000005}.bb-dashboard-sidebar-item:active{background-color:#0000000a}.bb-dashboard-sidebar-item.active,.bb-dashboard-sidebar-item.active:hover,.bb-dashboard-sidebar-item.active:focus,.bb-dashboard-sidebar-item.active:active{color:#000!important;background-color:#0000000f}.bb-dashboard-sidebar-item-content{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
328
328
|
}
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: BbDashboardSidebarItem, decorators: [{
|
|
330
330
|
type: Component,
|
|
331
331
|
args: [{ selector: '[bb-dashboard-sidebar-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
332
332
|
'class': 'bb-dashboard-sidebar-item',
|
|
@@ -343,8 +343,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
|
343
343
|
}] } });
|
|
344
344
|
|
|
345
345
|
class DashboardModule {
|
|
346
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
347
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
346
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: DashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
347
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.3", ngImport: i0, type: DashboardModule, imports: [BbDashboard,
|
|
348
348
|
BbDashboardHeader,
|
|
349
349
|
BbDashboardMenu,
|
|
350
350
|
BbDashboardMenuItem,
|
|
@@ -357,9 +357,9 @@ class DashboardModule {
|
|
|
357
357
|
BbDashboardSidebar,
|
|
358
358
|
BbDashboardSidebarGroup,
|
|
359
359
|
BbDashboardSidebarItem] });
|
|
360
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
360
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: DashboardModule, imports: [BbDashboardSidebarGroup] });
|
|
361
361
|
}
|
|
362
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
362
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: DashboardModule, decorators: [{
|
|
363
363
|
type: NgModule,
|
|
364
364
|
args: [{
|
|
365
365
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-dashboard.mjs","sources":["../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard.module.ts","../../../projects/bb-foundation/dashboard/src/bravobit-bb-foundation-dashboard.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, OnInit, ViewEncapsulation} from '@angular/core';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {BehaviorSubject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype BbDashboardSidebarState = { [id: string]: boolean };\n\n@Component({\n selector: 'bb-dashboard-sidebar',\n templateUrl: './dashboard-sidebar.component.html',\n styleUrls: ['./dashboard-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar',\n '[class.visible]': 'visibilityChanges.getValue()',\n 'role': 'navigation'\n },\n})\nexport class BbDashboardSidebar implements OnInit {\n\n // Readonly data.\n private readonly _localStorageToken: string = 'bb-dashboard-sidebar-state';\n\n // Dependencies.\n private readonly _storage = inject(Storage);\n\n // Bindings.\n visibilityChanges = new BehaviorSubject<boolean>(true);\n\n // State.\n private _state$ = new BehaviorSubject<BbDashboardSidebarState>({});\n private _cache: BbDashboardSidebarState;\n\n ngOnInit() {\n // Retrieve the cache.\n this._cache = this._storage.get<BbDashboardSidebarState>(this._localStorageToken) ?? {};\n }\n\n registerGroup(id: string) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Get the cache value so when it is undefined\n // we will default to true.\n const cacheValue = this._cache[id] === undefined ? true : this._cache[id];\n\n // Push the new state.\n this._state$.next({...oldState, [id]: cacheValue});\n\n // Return the slice of the state that the group needs.\n return this._state$.pipe(\n map(state => state[id])\n );\n }\n\n unregisterGroup(id: string) {\n // Get the old groups.\n const oldState = this._state$.getValue();\n\n // Generate the new state without the id.\n const newState = Object.keys(oldState).reduce((object, key) => {\n if (key !== id) {\n object[key] = oldState[key];\n }\n return object;\n }, {});\n\n // Push the new state.\n this._state$.next(newState);\n }\n\n toggleGroup(id: string, newValue: boolean) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Create the new state.\n const newState = {...oldState, [id]: newValue};\n\n // Push the new state.\n this._state$.next(newState);\n\n // Save in the cache.\n this._storage.set(this._localStorageToken, newState);\n }\n\n toggle() {\n const current = this.visibilityChanges.getValue();\n this.visibilityChanges.next(!current);\n }\n\n open() {\n this.visibilityChanges.next(true);\n }\n\n close() {\n this.visibilityChanges.next(false);\n }\n\n}\n","<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n","import {ChangeDetectionStrategy, Component, ContentChild, inject, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {Platform} from '@angular/cdk/platform';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {AsyncPipe} from '@angular/common';\n\n@Component({\n selector: 'bb-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dashboard'},\n imports: [AsyncPipe]\n})\nexport class BbDashboard implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _patch = inject(Patch);\n private readonly _platform = inject(Platform);\n private readonly _renderer = inject(Renderer2);\n\n // Views.\n @ContentChild(BbDashboardSidebar) sidebar?: BbDashboardSidebar;\n\n // Inputs.\n @Input() backgroundColor: string = '#e7eaed';\n @Input() maxWidth: string = '75rem';\n @Input() padding: string = '1.5rem';\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n return this.setHtmlClass();\n }\n\n ngOnDestroy() {\n this.setHtmlClass(true);\n }\n\n private setHtmlClass(shouldRemove: boolean = false) {\n if (!this._platform.isBrowser) {\n return;\n }\n\n const className = 'bb-dashboard-html';\n return shouldRemove\n ? this._renderer.removeClass(document.documentElement, className)\n : this._renderer.addClass(document.documentElement, className);\n }\n\n}\n","<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\"></ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n","import {ChangeDetectionStrategy, Component, inject, ViewEncapsulation} from '@angular/core';\nimport {BbDashboard} from '../dashboard/dashboard.component';\nimport {AsyncPipe} from '@angular/common';\nimport {of} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-header',\n templateUrl: './dashboard-header.component.html',\n styleUrls: ['./dashboard-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dashboard-header'},\n imports: [AsyncPipe]\n})\nexport class BbDashboardHeader {\n\n // Dependencies.\n private readonly _parent = inject(BbDashboard, {optional: true});\n\n get showSidebarButton() {\n return !!this._parent?.sidebar;\n }\n\n get isSidebarVisible() {\n return this._parent?.sidebar?.visibilityChanges ?? of<boolean>(false);\n }\n\n onToggleSidebarClicked() {\n this._parent?.sidebar?.toggle();\n }\n\n}\n","<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"1.0625rem\"\n height=\"0.75rem\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n </button>\n}\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {RouterLink} from '@angular/router';\n\n@Component({\n selector: 'bb-dashboard-menu',\n templateUrl: './dashboard-menu.component.html',\n styleUrls: ['./dashboard-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-menu',\n 'role': 'navigation'\n },\n imports: [RouterLink]\n})\nexport class BbDashboardMenu {\n\n // Inputs.\n @Input() title: string | null = null;\n @Input() imageUrl: string | null = null;\n @Input() backUrlLink: string | null = null;\n @Input() backUrlTitle: string | null = null;\n\n}\n","@if (backUrlLink && backUrlTitle) {\n <a [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">{{ backUrlTitle }}</a>\n}\n\n<div class=\"bb-dashboard-menu-row\">\n @if (imageUrl) {\n <img [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n }\n @if (title; as titleLabel) {\n <h1 class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n }\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dashboard-menu-item]',\n templateUrl: './dashboard-menu-item.component.html',\n styleUrls: ['./dashboard-menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-menu-item',\n '[class.disabled]': 'disabled'\n }\n})\nexport class BbDashboardMenuItem {\n\n // Inputs.\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n @HostListener('click', ['$event'])\n stopDisabledEvents(event: Event) {\n // If the menu item is not disabled let all events pass.\n if (!this.disabled) {\n return;\n }\n\n // If the menu item is disabled stop the event from\n // bubbling up.\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n}\n","<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, OnDestroy, OnInit, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {BbIcon} from '@bravobit/bb-foundation/elements';\nimport {of, Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-sidebar-group',\n templateUrl: './dashboard-sidebar-group.component.html',\n styleUrls: ['./dashboard-sidebar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar-group',\n '[class.expanded]': 'isExpanded',\n '[class.with-toggle]': 'hasToggle',\n '[class.has-icon]': '!!icon',\n '[class.disabled]': 'disabled',\n 'role': 'group'\n },\n imports: [BbIcon]\n})\nexport class BbDashboardSidebarGroup implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() id: string | null = null;\n @Input() icon: string | null = null;\n @Input() title: string | null = null;\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n // State.\n private _isExpanded: boolean = false;\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(@Optional() private _parent: BbDashboardSidebar) {\n }\n\n get hasToggle() {\n // Check if the user provided a icon and/or title.\n return !!this.icon || !!this.title;\n }\n\n get isExpanded() {\n // If there is an icon or title the group can be\n // expanded by clicking, else not.\n return this.hasToggle\n ? this._isExpanded\n : true;\n }\n\n ngOnInit() {\n // Check if the id has been supplied.\n if (!this.id) {\n throw new Error('Id is required.');\n }\n\n // Register the group at the parent and\n // retrieve the slice of the state.\n const observable$ = this._parent?.registerGroup(this.id) ?? of(false);\n\n // Subscribe to the state.\n const subscription = observable$.subscribe(isExpanded => this._isExpanded = isExpanded);\n this._subscription.add(subscription);\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n this._parent?.unregisterGroup(this.id);\n }\n\n onClick() {\n // Verify the group is not disabled.\n if (this.disabled) {\n return;\n }\n\n // Change the state.\n const newValue = !this._isExpanded;\n\n // Set the state of the sidebar group.\n this._parent?.toggleGroup(this.id, newValue);\n }\n\n @HostListener('click', ['$event'])\n onGroupClicked(event: MouseEvent) {\n // If the group is not disabled don't do anything.\n if (!this.disabled) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n}\n","<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"0.75rem\"\n height=\"0.75rem\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n </button>\n}\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n","import {ChangeDetectionStrategy, Component, Input, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebarGroup} from '../dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\n\n@Component({\n selector: '[bb-dashboard-sidebar-item]',\n templateUrl: './dashboard-sidebar-item.component.html',\n styleUrls: ['./dashboard-sidebar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar-item',\n '[attr.tabindex]': 'attributeTabIndex',\n '[attr.aria-hidden]': 'isHidden',\n '(click)': 'onClick()'\n }\n})\nexport class BbDashboardSidebarItem {\n\n // Inputs.\n @Input() tabIndex: number = 0;\n\n constructor(@Optional() private _sidebar: BbDashboardSidebar,\n @Optional() private _group: BbDashboardSidebarGroup) {\n }\n\n onClick() {\n // Try to \"open\" the sidebar if it exists.\n // This will close it on mobile.\n this._sidebar?.open();\n }\n\n get attributeTabIndex() {\n // Make the items tabindex -1 so it can't\n // be tabbed to when the parent is not visible\n // or the parent is disabled.\n if (this.isHidden) {\n return -1;\n }\n\n // Else return the specified tabindex.\n return this.tabIndex;\n }\n\n get isHidden() {\n return !this.isVisible || this.isDisabled;\n }\n\n private get isVisible() {\n return this._group\n ? this._group.isExpanded\n : true;\n }\n\n private get isDisabled() {\n return this._group\n ? this._group.disabled\n : false;\n }\n\n}\n","<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n","import {BbDashboardSidebarGroup} from './dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebarItem} from './dashboard-sidebar-item/dashboard-sidebar-item.component';\nimport {BbDashboardMenuItem} from './dashboard-menu-item/dashboard-menu-item.component';\nimport {BbDashboardSidebar} from './dashboard-sidebar/dashboard-sidebar.component';\nimport {BbDashboardHeader} from './dashboard-header/dashboard-header.component';\nimport {BbDashboardMenu} from './dashboard-menu/dashboard-menu.component';\nimport {BbDashboard} from './dashboard/dashboard.component';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n imports: [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n ],\n exports: [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n ]\n})\nexport class DashboardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.BbDashboardSidebar","i2.BbDashboardSidebarGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-dashboard.mjs","sources":["../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar/dashboard-sidebar.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard/dashboard.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-header/dashboard-header.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu/dashboard-menu.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-menu-item/dashboard-menu-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.ts","../../../projects/bb-foundation/dashboard/src/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.html","../../../projects/bb-foundation/dashboard/src/lib/dashboard.module.ts","../../../projects/bb-foundation/dashboard/src/bravobit-bb-foundation-dashboard.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, inject, OnInit, ViewEncapsulation} from '@angular/core';\nimport {Storage} from '@bravobit/bb-foundation/storage';\nimport {BehaviorSubject} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\ntype BbDashboardSidebarState = { [id: string]: boolean };\n\n@Component({\n selector: 'bb-dashboard-sidebar',\n templateUrl: './dashboard-sidebar.component.html',\n styleUrls: ['./dashboard-sidebar.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar',\n '[class.visible]': 'visibilityChanges.getValue()',\n 'role': 'navigation'\n },\n})\nexport class BbDashboardSidebar implements OnInit {\n\n // Readonly data.\n private readonly _localStorageToken: string = 'bb-dashboard-sidebar-state';\n\n // Dependencies.\n private readonly _storage = inject(Storage);\n\n // Bindings.\n visibilityChanges = new BehaviorSubject<boolean>(true);\n\n // State.\n private _state$ = new BehaviorSubject<BbDashboardSidebarState>({});\n private _cache: BbDashboardSidebarState;\n\n ngOnInit() {\n // Retrieve the cache.\n this._cache = this._storage.get<BbDashboardSidebarState>(this._localStorageToken) ?? {};\n }\n\n registerGroup(id: string) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Get the cache value so when it is undefined\n // we will default to true.\n const cacheValue = this._cache[id] === undefined ? true : this._cache[id];\n\n // Push the new state.\n this._state$.next({...oldState, [id]: cacheValue});\n\n // Return the slice of the state that the group needs.\n return this._state$.pipe(\n map(state => state[id])\n );\n }\n\n unregisterGroup(id: string) {\n // Get the old groups.\n const oldState = this._state$.getValue();\n\n // Generate the new state without the id.\n const newState = Object.keys(oldState).reduce((object, key) => {\n if (key !== id) {\n object[key] = oldState[key];\n }\n return object;\n }, {});\n\n // Push the new state.\n this._state$.next(newState);\n }\n\n toggleGroup(id: string, newValue: boolean) {\n // Get the old state.\n const oldState = this._state$.getValue();\n\n // Create the new state.\n const newState = {...oldState, [id]: newValue};\n\n // Push the new state.\n this._state$.next(newState);\n\n // Save in the cache.\n this._storage.set(this._localStorageToken, newState);\n }\n\n toggle() {\n const current = this.visibilityChanges.getValue();\n this.visibilityChanges.next(!current);\n }\n\n open() {\n this.visibilityChanges.next(true);\n }\n\n close() {\n this.visibilityChanges.next(false);\n }\n\n}\n","<!--\n The optional header element.\n-->\n<ng-content select=\"header\"></ng-content>\n\n<!--\n The scroll area that contains the\n groups in the navigation.\n-->\n<div class=\"bb-dashboard-sidebar-scroll\">\n <ng-content select=\"bb-dashboard-sidebar-group\"></ng-content>\n</div>\n\n<!--\n The optional footer element.\n-->\n<ng-content select=\"footer\"></ng-content>\n","import {ChangeDetectionStrategy, Component, ContentChild, inject, Input, OnDestroy, OnInit, Renderer2, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {Platform} from '@angular/cdk/platform';\nimport {Patch} from '@bravobit/bb-foundation';\nimport {AsyncPipe} from '@angular/common';\n\n@Component({\n selector: 'bb-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dashboard'},\n imports: [AsyncPipe]\n})\nexport class BbDashboard implements OnInit, OnDestroy {\n\n // Dependencies.\n private readonly _patch = inject(Patch);\n private readonly _platform = inject(Platform);\n private readonly _renderer = inject(Renderer2);\n\n // Views.\n @ContentChild(BbDashboardSidebar) sidebar?: BbDashboardSidebar;\n\n // Inputs.\n @Input() backgroundColor: string = '#e7eaed';\n @Input() maxWidth: string = '75rem';\n @Input() padding: string = '1.5rem';\n\n ngOnInit() {\n this._patch.mobileVerticalHeight();\n return this.setHtmlClass();\n }\n\n ngOnDestroy() {\n this.setHtmlClass(true);\n }\n\n private setHtmlClass(shouldRemove: boolean = false) {\n if (!this._platform.isBrowser) {\n return;\n }\n\n const className = 'bb-dashboard-html';\n return shouldRemove\n ? this._renderer.removeClass(document.documentElement, className)\n : this._renderer.addClass(document.documentElement, className);\n }\n\n}\n","<!--\n The outlet for where the sidebar\n will be placed (if provided).\n-->\n<ng-content select=\"bb-dashboard-sidebar\"></ng-content>\n\n<!--\n The section containing the header\n and the main content.\n-->\n<section [style.background-color]=\"backgroundColor\"\n class=\"bb-dashboard-section\">\n <!--\n The outlet for where the header\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-header\">\n </ng-content>\n\n <!--\n The outlet of the content that\n will be provided by the router.\n -->\n <main [style.padding]=\"padding\"\n class=\"bb-dashboard-scroll\">\n <div [style.max-width]=\"maxWidth\"\n class=\"bb-dashboard-container\">\n <ng-content select=\"bb-dashboard-menu\"></ng-content>\n\n <ng-content></ng-content>\n </div>\n <!--\n The outlet for where the footer\n will be placed (if provided).\n -->\n <ng-content select=\"bb-dashboard-footer\"></ng-content>\n </main>\n</section>\n\n<!--\n The backdrop that will be visible when\n the sidebar is opened (only on mobile).\n-->\n@if (!!sidebar) {\n <div [class.visible]=\"!(sidebar?.visibilityChanges | async)\"\n (click)=\"sidebar?.toggle()\"\n class=\"bb-dashboard-backdrop\">\n </div>\n}\n","import {ChangeDetectionStrategy, Component, inject, ViewEncapsulation} from '@angular/core';\nimport {BbDashboard} from '../dashboard/dashboard.component';\nimport {AsyncPipe} from '@angular/common';\nimport {of} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-header',\n templateUrl: './dashboard-header.component.html',\n styleUrls: ['./dashboard-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {'class': 'bb-dashboard-header'},\n imports: [AsyncPipe]\n})\nexport class BbDashboardHeader {\n\n // Dependencies.\n private readonly _parent = inject(BbDashboard, {optional: true});\n\n get showSidebarButton() {\n return !!this._parent?.sidebar;\n }\n\n get isSidebarVisible() {\n return this._parent?.sidebar?.visibilityChanges ?? of<boolean>(false);\n }\n\n onToggleSidebarClicked() {\n this._parent?.sidebar?.toggle();\n }\n\n}\n","<!--\n The button that toggles the sidebar.\n-->\n@if (showSidebarButton) {\n <button (click)=\"onToggleSidebarClicked()\"\n [class.reversed]=\"isSidebarVisible | async\"\n class=\"bb-dashboard-header-button\"\n type=\"button\"\n tabindex=\"0\"\n role=\"switch\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 157 109\"\n width=\"1.0625rem\"\n height=\"0.75rem\"\n role=\"img\">\n <title>\n Toggle\n </title>\n <path fill=\"#fff\"\n d=\"M82 42V11.2L30 54.5l52 43.3V67h75V42zM9.5 109h-2c-4.1 0-7.5-3.4-7.5-7.5v-94C0 3.4 3.4 0 7.5 0h2C13.6 0 17 3.4 17 7.5v94c0 4.1-3.4 7.5-7.5 7.5z\">\n </path>\n </svg>\n </button>\n}\n\n<!--\n The extra items of the header.\n-->\n<div class=\"bb-dashboard-header-items\">\n <ng-content></ng-content>\n</div>\n","import {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {RouterLink} from '@angular/router';\n\n@Component({\n selector: 'bb-dashboard-menu',\n templateUrl: './dashboard-menu.component.html',\n styleUrls: ['./dashboard-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-menu',\n 'role': 'navigation'\n },\n imports: [RouterLink]\n})\nexport class BbDashboardMenu {\n\n // Inputs.\n @Input() title: string | null = null;\n @Input() imageUrl: string | null = null;\n @Input() backUrlLink: string | null = null;\n @Input() backUrlTitle: string | null = null;\n\n}\n","@if (backUrlLink && backUrlTitle) {\n <a [routerLink]=\"backUrlLink\"\n class=\"bb-dashboard-menu-link\">{{ backUrlTitle }}</a>\n}\n\n<div class=\"bb-dashboard-menu-row\">\n @if (imageUrl) {\n <img [src]=\"imageUrl\"\n class=\"bb-dashboard-menu-image\"\n alt=\"Menu image\">\n }\n @if (title; as titleLabel) {\n <h1 class=\"bb-dashboard-menu-title\">\n {{ titleLabel }}\n </h1>\n }\n</div>\n\n<nav class=\"bb-dashboard-menu-navigation\">\n <ng-content select=\"[bb-dashboard-menu-item]\"></ng-content>\n</nav>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation} from '@angular/core';\n\n@Component({\n selector: '[bb-dashboard-menu-item]',\n templateUrl: './dashboard-menu-item.component.html',\n styleUrls: ['./dashboard-menu-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-menu-item',\n '[class.disabled]': 'disabled'\n }\n})\nexport class BbDashboardMenuItem {\n\n // Inputs.\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n @HostListener('click', ['$event'])\n stopDisabledEvents(event: Event) {\n // If the menu item is not disabled let all events pass.\n if (!this.disabled) {\n return;\n }\n\n // If the menu item is disabled stop the event from\n // bubbling up.\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n\n}\n","<ng-content select=\"[bbPrefix]\"></ng-content>\n<span class=\"bb-dashboard-menu-item-content\">\n <ng-content></ng-content>\n</span>\n<ng-content select=\"[bbSuffix]\"></ng-content>\n","import {booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, OnDestroy, OnInit, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\nimport {BbIcon} from '@bravobit/bb-foundation/elements';\nimport {of, Subscription} from 'rxjs';\n\n@Component({\n selector: 'bb-dashboard-sidebar-group',\n templateUrl: './dashboard-sidebar-group.component.html',\n styleUrls: ['./dashboard-sidebar-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar-group',\n '[class.expanded]': 'isExpanded',\n '[class.with-toggle]': 'hasToggle',\n '[class.has-icon]': '!!icon',\n '[class.disabled]': 'disabled',\n 'role': 'group'\n },\n imports: [BbIcon]\n})\nexport class BbDashboardSidebarGroup implements OnInit, OnDestroy {\n\n // Inputs.\n @Input() id: string | null = null;\n @Input() icon: string | null = null;\n @Input() title: string | null = null;\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n // State.\n private _isExpanded: boolean = false;\n\n // Subscriptions.\n private _subscription = new Subscription();\n\n constructor(@Optional() private _parent: BbDashboardSidebar) {\n }\n\n get hasToggle() {\n // Check if the user provided a icon and/or title.\n return !!this.icon || !!this.title;\n }\n\n get isExpanded() {\n // If there is an icon or title the group can be\n // expanded by clicking, else not.\n return this.hasToggle\n ? this._isExpanded\n : true;\n }\n\n ngOnInit() {\n // Check if the id has been supplied.\n if (!this.id) {\n throw new Error('Id is required.');\n }\n\n // Register the group at the parent and\n // retrieve the slice of the state.\n const observable$ = this._parent?.registerGroup(this.id) ?? of(false);\n\n // Subscribe to the state.\n const subscription = observable$.subscribe(isExpanded => this._isExpanded = isExpanded);\n this._subscription.add(subscription);\n }\n\n ngOnDestroy() {\n this._subscription?.unsubscribe();\n this._parent?.unregisterGroup(this.id);\n }\n\n onClick() {\n // Verify the group is not disabled.\n if (this.disabled) {\n return;\n }\n\n // Change the state.\n const newValue = !this._isExpanded;\n\n // Set the state of the sidebar group.\n this._parent?.toggleGroup(this.id, newValue);\n }\n\n @HostListener('click', ['$event'])\n onGroupClicked(event: MouseEvent) {\n // If the group is not disabled don't do anything.\n if (!this.disabled) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n}\n","<!--\n The wrapper that contains the title and icon.\n-->\n@if (hasToggle) {\n <button (click)=\"onClick()\"\n class=\"bb-dashboard-sidebar-group-title\"\n type=\"button\"\n role=\"switch\">\n @if (icon; as iconName) {\n <bb-icon [src]=\"iconName\"\n class=\"bb-dashboard-sidebar-group-icon\">\n </bb-icon>\n }\n @if (title; as titleText) {\n <span role=\"heading\"\n class=\"bb-dashboard-sidebar-group-text\">{{ titleText }}</span>\n }\n <span class=\"bb-dashboard-sidebar-group-toggle\">\n <svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 21.7 30.9\"\n width=\"0.75rem\"\n height=\"0.75rem\"\n role=\"img\">\n <path\n d=\"M10.1.3L.2 11.8c-.6.6-.1 1.7.8 1.7h19.7c.9 0 1.3-1 .8-1.7L11.6.3c-.4-.4-1.1-.4-1.5 0zM10.1 30.6L.2 19.1c-.6-.6-.1-1.7.8-1.7h19.7c.9 0 1.3 1 .8 1.7l-9.8 11.5c-.5.4-1.2.4-1.6 0z\">\n </path>\n </svg>\n </span>\n </button>\n}\n\n<!--\n The sidebar items that contain the\n links to navigate to other pages.\n-->\n<ng-content select=\"[bb-dashboard-sidebar-item]\"></ng-content>\n","import {ChangeDetectionStrategy, Component, Input, Optional, ViewEncapsulation} from '@angular/core';\nimport {BbDashboardSidebarGroup} from '../dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebar} from '../dashboard-sidebar/dashboard-sidebar.component';\n\n@Component({\n selector: '[bb-dashboard-sidebar-item]',\n templateUrl: './dashboard-sidebar-item.component.html',\n styleUrls: ['./dashboard-sidebar-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'bb-dashboard-sidebar-item',\n '[attr.tabindex]': 'attributeTabIndex',\n '[attr.aria-hidden]': 'isHidden',\n '(click)': 'onClick()'\n }\n})\nexport class BbDashboardSidebarItem {\n\n // Inputs.\n @Input() tabIndex: number = 0;\n\n constructor(@Optional() private _sidebar: BbDashboardSidebar,\n @Optional() private _group: BbDashboardSidebarGroup) {\n }\n\n onClick() {\n // Try to \"open\" the sidebar if it exists.\n // This will close it on mobile.\n this._sidebar?.open();\n }\n\n get attributeTabIndex() {\n // Make the items tabindex -1 so it can't\n // be tabbed to when the parent is not visible\n // or the parent is disabled.\n if (this.isHidden) {\n return -1;\n }\n\n // Else return the specified tabindex.\n return this.tabIndex;\n }\n\n get isHidden() {\n return !this.isVisible || this.isDisabled;\n }\n\n private get isVisible() {\n return this._group\n ? this._group.isExpanded\n : true;\n }\n\n private get isDisabled() {\n return this._group\n ? this._group.disabled\n : false;\n }\n\n}\n","<!--\n The content between the tags will\n be reflected here.\n-->\n<span class=\"bb-dashboard-sidebar-item-content\">\n <ng-content></ng-content>\n</span>\n","import {BbDashboardSidebarGroup} from './dashboard-sidebar-group/dashboard-sidebar-group.component';\nimport {BbDashboardSidebarItem} from './dashboard-sidebar-item/dashboard-sidebar-item.component';\nimport {BbDashboardMenuItem} from './dashboard-menu-item/dashboard-menu-item.component';\nimport {BbDashboardSidebar} from './dashboard-sidebar/dashboard-sidebar.component';\nimport {BbDashboardHeader} from './dashboard-header/dashboard-header.component';\nimport {BbDashboardMenu} from './dashboard-menu/dashboard-menu.component';\nimport {BbDashboard} from './dashboard/dashboard.component';\nimport {NgModule} from '@angular/core';\n\n@NgModule({\n imports: [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n ],\n exports: [\n BbDashboard,\n BbDashboardHeader,\n BbDashboardMenu,\n BbDashboardMenuItem,\n BbDashboardSidebar,\n BbDashboardSidebarGroup,\n BbDashboardSidebarItem\n ]\n})\nexport class DashboardModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.BbDashboardSidebar","i2.BbDashboardSidebarGroup"],"mappings":"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"}
|