@bravobit/bb-foundation 0.45.4 → 0.50.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/lib/auth.config.d.ts +0 -2
- package/auth/lib/auth.service.d.ts +1 -1
- package/auth/lib/directives/authenticated.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data-row.directive.d.ts +1 -1
- package/collections/lib/directives/collections-data.directive.d.ts +1 -1
- package/collections/lib/directives/collections-empty.directive.d.ts +1 -1
- package/collections/lib/directives/collections-error.directive.d.ts +1 -1
- package/collections/lib/directives/collections-initial.directive.d.ts +1 -1
- package/collections/lib/directives/collections-item.directive.d.ts +1 -1
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +1 -0
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +1 -0
- package/fesm2022/bravobit-bb-foundation-auth.mjs +44 -50
- package/fesm2022/bravobit-bb-foundation-auth.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-collections.mjs +69 -75
- package/fesm2022/bravobit-bb-foundation-collections.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-combobox.mjs +21 -24
- package/fesm2022/bravobit-bb-foundation-combobox.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs +35 -35
- package/fesm2022/bravobit-bb-foundation-dashboard.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-dialog.mjs +63 -47
- package/fesm2022/bravobit-bb-foundation-dialog.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-elements.mjs +119 -131
- package/fesm2022/bravobit-bb-foundation-elements.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-http.mjs +10 -10
- package/fesm2022/bravobit-bb-foundation-http.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-localize.mjs +25 -32
- package/fesm2022/bravobit-bb-foundation-localize.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-masking.mjs +19 -22
- package/fesm2022/bravobit-bb-foundation-masking.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-notifications.mjs +15 -17
- package/fesm2022/bravobit-bb-foundation-notifications.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-permissions.mjs +11 -12
- package/fesm2022/bravobit-bb-foundation-permissions.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs +11 -11
- package/fesm2022/bravobit-bb-foundation-recaptcha.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-rxjs.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-select.mjs +26 -30
- package/fesm2022/bravobit-bb-foundation-select.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-storage.mjs +16 -8
- package/fesm2022/bravobit-bb-foundation-storage.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-table.mjs +29 -31
- package/fesm2022/bravobit-bb-foundation-table.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs +12 -13
- package/fesm2022/bravobit-bb-foundation-tooltip.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation-utils.mjs +20 -24
- package/fesm2022/bravobit-bb-foundation-utils.mjs.map +1 -1
- package/fesm2022/bravobit-bb-foundation.mjs +21 -21
- package/fesm2022/bravobit-bb-foundation.mjs.map +1 -1
- package/localize/lib/localize.config.d.ts +0 -1
- package/localize/lib/localize.service.d.ts +1 -1
- package/localize/lib/views/localize-template.directive.d.ts +1 -1
- package/masking/lib/masking.service.d.ts +2 -2
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +1 -2
- package/package.json +25 -63
- package/permissions/lib/directives/permission.directive.d.ts +1 -1
- package/storage/lib/interfaces/strategy.interface.d.ts +1 -1
- package/table/lib/components/table/table.component.d.ts +2 -2
- package/esm2022/auth/bravobit-bb-foundation-auth.mjs +0 -5
- package/esm2022/auth/lib/auth.config.mjs +0 -16
- package/esm2022/auth/lib/auth.interceptor.mjs +0 -87
- package/esm2022/auth/lib/auth.module.mjs +0 -25
- package/esm2022/auth/lib/auth.service.mjs +0 -261
- package/esm2022/auth/lib/auth.session.mjs +0 -142
- package/esm2022/auth/lib/directives/authenticated.directive.mjs +0 -78
- package/esm2022/auth/lib/guards/anonymous.guard.mjs +0 -29
- package/esm2022/auth/lib/guards/authenticated.guard.mjs +0 -32
- package/esm2022/auth/lib/helpers/jwt.helper.mjs +0 -67
- package/esm2022/auth/lib/interfaces/config.interface.mjs +0 -4
- package/esm2022/auth/lib/interfaces/provider.interface.mjs +0 -2
- package/esm2022/auth/lib/interfaces/token.interface.mjs +0 -2
- package/esm2022/auth/lib/providers/email.provider.mjs +0 -27
- package/esm2022/auth/lib/providers/verify.provider.mjs +0 -25
- package/esm2022/auth/lib/tokens/use-authorization.token.mjs +0 -3
- package/esm2022/auth/public_api.mjs +0 -15
- package/esm2022/bravobit-bb-foundation.mjs +0 -5
- package/esm2022/collections/bravobit-bb-foundation-collections.mjs +0 -5
- package/esm2022/collections/lib/classes/array.collection.mjs +0 -85
- package/esm2022/collections/lib/collection.mjs +0 -98
- package/esm2022/collections/lib/collections.module.mjs +0 -84
- package/esm2022/collections/lib/components/collections-actions/collections-actions.component.mjs +0 -37
- package/esm2022/collections/lib/components/collections-grid/collections-grid.component.mjs +0 -52
- package/esm2022/collections/lib/components/collections-pager/collections-pager.component.mjs +0 -114
- package/esm2022/collections/lib/components/collections-table/collections-table.component.mjs +0 -86
- package/esm2022/collections/lib/components/collections-table-label/collections-table-label.component.mjs +0 -30
- package/esm2022/collections/lib/components/collections-table-sorting/collections-table-sorting.component.mjs +0 -65
- package/esm2022/collections/lib/components/collections-viewer/collections-viewer.component.mjs +0 -37
- package/esm2022/collections/lib/directives/collections-data-row.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-data.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-empty.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-error.directive.mjs +0 -29
- package/esm2022/collections/lib/directives/collections-initial.directive.mjs +0 -23
- package/esm2022/collections/lib/directives/collections-item.directive.mjs +0 -29
- package/esm2022/collections/lib/interfaces/array-collection.interface.mjs +0 -2
- package/esm2022/collections/lib/interfaces/collection.interface.mjs +0 -2
- package/esm2022/collections/lib/providers/api-collection.provider.mjs +0 -103
- package/esm2022/collections/lib/providers/collection.provider.mjs +0 -39
- package/esm2022/collections/lib/providers/local-collection.provider.mjs +0 -25
- package/esm2022/collections/public_api.mjs +0 -22
- package/esm2022/combobox/bravobit-bb-foundation-combobox.mjs +0 -5
- package/esm2022/combobox/combobox/combobox-container.directive.mjs +0 -137
- package/esm2022/combobox/combobox/combobox.component.mjs +0 -118
- package/esm2022/combobox/combobox-label.directive.mjs +0 -14
- package/esm2022/combobox/combobox-option.directive.mjs +0 -17
- package/esm2022/combobox/combobox-panel/combobox-panel.animation.mjs +0 -11
- package/esm2022/combobox/combobox-panel/combobox-panel.component.mjs +0 -42
- package/esm2022/combobox/combobox.interface.mjs +0 -2
- package/esm2022/combobox/public_api.mjs +0 -4
- package/esm2022/dashboard/bravobit-bb-foundation-dashboard.mjs +0 -5
- package/esm2022/dashboard/lib/dashboard/dashboard.component.mjs +0 -50
- package/esm2022/dashboard/lib/dashboard-header/dashboard-header.component.mjs +0 -25
- package/esm2022/dashboard/lib/dashboard-menu/dashboard-menu.component.mjs +0 -28
- package/esm2022/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.mjs +0 -32
- package/esm2022/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.mjs +0 -75
- package/esm2022/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.mjs +0 -93
- package/esm2022/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.mjs +0 -60
- package/esm2022/dashboard/lib/dashboard.module.mjs +0 -50
- package/esm2022/dashboard/public_api.mjs +0 -9
- package/esm2022/dialog/bravobit-bb-foundation-dialog.mjs +0 -5
- package/esm2022/dialog/lib/dialog-actions/dialog-actions.component.mjs +0 -12
- package/esm2022/dialog/lib/dialog-confirm/dialog-confirm.component.mjs +0 -44
- package/esm2022/dialog/lib/dialog-container/dialog-container.component.mjs +0 -58
- package/esm2022/dialog/lib/dialog-header/dialog-header.component.mjs +0 -15
- package/esm2022/dialog/lib/dialog-link/dialog-link.component.mjs +0 -11
- package/esm2022/dialog/lib/dialog-modal/dialog-modal.component.mjs +0 -57
- package/esm2022/dialog/lib/dialog-overlay/dialog-overlay.component.mjs +0 -53
- package/esm2022/dialog/lib/dialog.config.mjs +0 -8
- package/esm2022/dialog/lib/dialog.insertion.mjs +0 -18
- package/esm2022/dialog/lib/dialog.interfaces.mjs +0 -9
- package/esm2022/dialog/lib/dialog.module.mjs +0 -64
- package/esm2022/dialog/lib/dialog.ref.mjs +0 -16
- package/esm2022/dialog/lib/dialog.service.mjs +0 -75
- package/esm2022/dialog/lib/directives/confirm.directive.mjs +0 -48
- package/esm2022/dialog/public_api.mjs +0 -12
- package/esm2022/elements/bravobit-bb-foundation-elements.mjs +0 -5
- package/esm2022/elements/lib/avatar/avatar.component.mjs +0 -175
- package/esm2022/elements/lib/button/button.component.mjs +0 -68
- package/esm2022/elements/lib/checkbox/checkbox.component.mjs +0 -116
- package/esm2022/elements/lib/checkbox-group/checkbox-group.component.mjs +0 -34
- package/esm2022/elements/lib/date-picker/date-picker.component.mjs +0 -323
- package/esm2022/elements/lib/directives/addon.directive.mjs +0 -27
- package/esm2022/elements/lib/directives/extra-error-controls.directive.mjs +0 -41
- package/esm2022/elements/lib/directives/file-drop.directive.mjs +0 -62
- package/esm2022/elements/lib/directives/form-submit.directive.mjs +0 -54
- package/esm2022/elements/lib/directives/form-submitter.directive.mjs +0 -24
- package/esm2022/elements/lib/directives/image-upload.directive.mjs +0 -143
- package/esm2022/elements/lib/directives/input.directive.mjs +0 -49
- package/esm2022/elements/lib/elements.config.mjs +0 -54
- package/esm2022/elements/lib/elements.interfaces.mjs +0 -5
- package/esm2022/elements/lib/elements.module.mjs +0 -146
- package/esm2022/elements/lib/file-picker/file-picker.component.mjs +0 -196
- package/esm2022/elements/lib/form-control/form-control.component.mjs +0 -46
- package/esm2022/elements/lib/form-error/form-error.component.mjs +0 -106
- package/esm2022/elements/lib/form-group/form-group.component.mjs +0 -19
- package/esm2022/elements/lib/icon/icon.component.mjs +0 -122
- package/esm2022/elements/lib/image-picker/image-picker.component.mjs +0 -126
- package/esm2022/elements/lib/multi-file-control/multi-file-control.component.mjs +0 -149
- package/esm2022/elements/lib/pipes/date.pipe.mjs +0 -28
- package/esm2022/elements/lib/pipes/file-image.pipe.mjs +0 -48
- package/esm2022/elements/lib/pipes/file-size.pipe.mjs +0 -27
- package/esm2022/elements/lib/pipes/relative-time.pipe.mjs +0 -99
- package/esm2022/elements/lib/radio-button/radio-button.component.mjs +0 -60
- package/esm2022/elements/lib/radio-group/radio-group.component.mjs +0 -103
- package/esm2022/elements/lib/spinner/spinner.component.mjs +0 -22
- package/esm2022/elements/public_api.mjs +0 -30
- package/esm2022/http/bravobit-bb-foundation-http.mjs +0 -5
- package/esm2022/http/lib/classes/http.config.mjs +0 -32
- package/esm2022/http/lib/classes/http.error.mjs +0 -20
- package/esm2022/http/lib/http.config.mjs +0 -18
- package/esm2022/http/lib/http.interfaces.mjs +0 -4
- package/esm2022/http/lib/http.module.mjs +0 -31
- package/esm2022/http/lib/interceptors/base-url.interceptor.mjs +0 -60
- package/esm2022/http/lib/interceptors/error.interceptor.mjs +0 -31
- package/esm2022/http/public_api.mjs +0 -8
- package/esm2022/lib/core/functions/array.utils.mjs +0 -7
- package/esm2022/lib/core/functions/date.utils.mjs +0 -31
- package/esm2022/lib/core/functions/password.utils.mjs +0 -17
- package/esm2022/lib/core/functions/route-cache.utils.mjs +0 -23
- package/esm2022/lib/core/miscellaneous/coercion.mjs +0 -5
- package/esm2022/lib/core/miscellaneous/regex.mjs +0 -44
- package/esm2022/lib/core/miscellaneous/validator.mjs +0 -85
- package/esm2022/lib/core/services/exif.service.mjs +0 -165
- package/esm2022/lib/core/services/file-loader.service.mjs +0 -85
- package/esm2022/lib/core/services/files.service.mjs +0 -78
- package/esm2022/lib/core/services/image-converter.service.mjs +0 -126
- package/esm2022/lib/core/services/languages.service.mjs +0 -75
- package/esm2022/lib/core/services/network.service.mjs +0 -58
- package/esm2022/lib/core/services/patch.service.mjs +0 -66
- package/esm2022/lib/core/tokens/accept-language.token.mjs +0 -3
- package/esm2022/lib/core/tokens/base-url.token.mjs +0 -3
- package/esm2022/lib/core/tokens/cookie.token.mjs +0 -3
- package/esm2022/lib/core/tokens/global-focus-mode.token.mjs +0 -10
- package/esm2022/lib/core/tokens/location.token.mjs +0 -6
- package/esm2022/lib/core/tokens/navigator.token.mjs +0 -6
- package/esm2022/lib/core/tokens/window.token.mjs +0 -12
- package/esm2022/localize/bravobit-bb-foundation-localize.mjs +0 -5
- package/esm2022/localize/lib/dictionary/dictionary.class.mjs +0 -96
- package/esm2022/localize/lib/dictionary/dictionary.context.mjs +0 -24
- package/esm2022/localize/lib/dictionary/dictionary.data.mjs +0 -7
- package/esm2022/localize/lib/functions/date.function.mjs +0 -18
- package/esm2022/localize/lib/functions/lowercase.function.mjs +0 -13
- package/esm2022/localize/lib/functions/uppercase.function.mjs +0 -13
- package/esm2022/localize/lib/handlers/missing.handler.mjs +0 -13
- package/esm2022/localize/lib/interfaces/config.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/functions.interfaces.mjs +0 -8
- package/esm2022/localize/lib/interfaces/handlers.interfaces.mjs +0 -2
- package/esm2022/localize/lib/interfaces/options.interfaces.mjs +0 -6
- package/esm2022/localize/lib/localizations/dutch.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/english.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/papiamento.localization.mjs +0 -64
- package/esm2022/localize/lib/localizations/spanish.localization.mjs +0 -64
- package/esm2022/localize/lib/localize.config.mjs +0 -43
- package/esm2022/localize/lib/localize.module.mjs +0 -39
- package/esm2022/localize/lib/localize.pipe.mjs +0 -48
- package/esm2022/localize/lib/localize.service.mjs +0 -172
- package/esm2022/localize/lib/localize.tokens.mjs +0 -18
- package/esm2022/localize/lib/transforms/abstract.transform.mjs +0 -30
- package/esm2022/localize/lib/transforms/interpolate.transform.mjs +0 -45
- package/esm2022/localize/lib/transforms/plural.transform.mjs +0 -49
- package/esm2022/localize/lib/transforms/reference.transform.mjs +0 -19
- package/esm2022/localize/lib/views/localize-string/localize-string.component.mjs +0 -89
- package/esm2022/localize/lib/views/localize-template.directive.mjs +0 -23
- package/esm2022/localize/public_api.mjs +0 -27
- package/esm2022/masking/bravobit-bb-foundation-masking.mjs +0 -5
- package/esm2022/masking/lib/directives/currency-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/date-mask.directive.mjs +0 -41
- package/esm2022/masking/lib/directives/input-mask.directive.mjs +0 -126
- package/esm2022/masking/lib/input-mask.interface.mjs +0 -2
- package/esm2022/masking/lib/masking.module.mjs +0 -30
- package/esm2022/masking/lib/masking.service.mjs +0 -104
- package/esm2022/masking/public_api.mjs +0 -7
- package/esm2022/notifications/bravobit-bb-foundation-notifications.mjs +0 -5
- package/esm2022/notifications/lib/notifications-item/notifications-item.component.mjs +0 -112
- package/esm2022/notifications/lib/notifications-list/notifications-list.component.mjs +0 -48
- package/esm2022/notifications/lib/notifications.animations.mjs +0 -28
- package/esm2022/notifications/lib/notifications.config.mjs +0 -8
- package/esm2022/notifications/lib/notifications.interfaces.mjs +0 -31
- package/esm2022/notifications/lib/notifications.module.mjs +0 -20
- package/esm2022/notifications/lib/notifications.service.mjs +0 -161
- package/esm2022/notifications/public_api.mjs +0 -5
- package/esm2022/permissions/bravobit-bb-foundation-permissions.mjs +0 -5
- package/esm2022/permissions/lib/directives/permission.directive.mjs +0 -95
- package/esm2022/permissions/lib/guards/permission.guard.mjs +0 -25
- package/esm2022/permissions/lib/handlers/abstract.handler.mjs +0 -3
- package/esm2022/permissions/lib/handlers/local.handler.mjs +0 -29
- package/esm2022/permissions/lib/permissions.config.mjs +0 -20
- package/esm2022/permissions/lib/permissions.interface.mjs +0 -8
- package/esm2022/permissions/lib/permissions.module.mjs +0 -25
- package/esm2022/permissions/lib/permissions.service.mjs +0 -100
- package/esm2022/permissions/public_api.mjs +0 -9
- package/esm2022/public_api.mjs +0 -25
- package/esm2022/recaptcha/bravobit-bb-foundation-recaptcha.mjs +0 -5
- package/esm2022/recaptcha/lib/recaptcha/recaptcha.component.mjs +0 -225
- package/esm2022/recaptcha/lib/recaptcha-loader.service.mjs +0 -80
- package/esm2022/recaptcha/lib/recaptcha.config.mjs +0 -8
- package/esm2022/recaptcha/lib/recaptcha.interface.mjs +0 -3
- package/esm2022/recaptcha/lib/recaptcha.module.mjs +0 -27
- package/esm2022/recaptcha/public_api.mjs +0 -6
- package/esm2022/rxjs/bravobit-bb-foundation-rxjs.mjs +0 -5
- package/esm2022/rxjs/lib/observables/get-control-value.observable.mjs +0 -6
- package/esm2022/rxjs/lib/observables/get-route-param.observable.mjs +0 -5
- package/esm2022/rxjs/lib/operators/combine-latest-map.operator.mjs +0 -10
- package/esm2022/rxjs/lib/operators/filter-nil.operator.mjs +0 -5
- package/esm2022/rxjs/public_api.mjs +0 -5
- package/esm2022/select/bravobit-bb-foundation-select.mjs +0 -5
- package/esm2022/select/lib/select/select.component.mjs +0 -289
- package/esm2022/select/lib/select-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-multi-label.directive.mjs +0 -18
- package/esm2022/select/lib/select-option-group.directive.mjs +0 -18
- package/esm2022/select/lib/select-option.directive.mjs +0 -18
- package/esm2022/select/lib/select.config.mjs +0 -8
- package/esm2022/select/lib/select.module.mjs +0 -46
- package/esm2022/select/public_api.mjs +0 -8
- package/esm2022/storage/bravobit-bb-foundation-storage.mjs +0 -5
- package/esm2022/storage/lib/interfaces/attributes.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/memory.interface.mjs +0 -2
- package/esm2022/storage/lib/interfaces/strategy.interface.mjs +0 -2
- package/esm2022/storage/lib/storage.service.mjs +0 -113
- package/esm2022/storage/lib/strategies/cookie-storage.strategy.mjs +0 -144
- package/esm2022/storage/lib/strategies/memory-storage.strategy.mjs +0 -54
- package/esm2022/storage/lib/strategies/polyfill-storage.strategy.mjs +0 -100
- package/esm2022/storage/public_api.mjs +0 -8
- package/esm2022/table/bravobit-bb-foundation-table.mjs +0 -5
- package/esm2022/table/lib/components/table/table.component.mjs +0 -200
- package/esm2022/table/lib/components/table-cell/table-cell.component.mjs +0 -11
- package/esm2022/table/lib/components/table-header-cell/table-header-cell.component.mjs +0 -135
- package/esm2022/table/lib/components/table-pager/table-pager.component.mjs +0 -136
- package/esm2022/table/lib/data/datasource.data.mjs +0 -30
- package/esm2022/table/lib/data/generic.data.mjs +0 -84
- package/esm2022/table/lib/interfaces/datasource.interface.mjs +0 -2
- package/esm2022/table/lib/interfaces/table.interfaces.mjs +0 -2
- package/esm2022/table/lib/table.module.mjs +0 -44
- package/esm2022/table/public_api.mjs +0 -10
- package/esm2022/tooltip/bravobit-bb-foundation-tooltip.mjs +0 -5
- package/esm2022/tooltip/lib/tooltip-container/tooltip-container.component.mjs +0 -23
- package/esm2022/tooltip/lib/tooltip.directive.mjs +0 -130
- package/esm2022/tooltip/lib/tooltip.interfaces.mjs +0 -4
- package/esm2022/tooltip/lib/tooltip.module.mjs +0 -16
- package/esm2022/tooltip/public_api.mjs +0 -5
- package/esm2022/utils/bravobit-bb-foundation-utils.mjs +0 -5
- package/esm2022/utils/lib/directives/autosize.directive.mjs +0 -76
- package/esm2022/utils/lib/directives/focus-trap.directive.mjs +0 -80
- package/esm2022/utils/lib/directives/focus.directive.mjs +0 -57
- package/esm2022/utils/lib/directives/template.directive.mjs +0 -33
- package/esm2022/utils/lib/utils.module.mjs +0 -35
- package/esm2022/utils/public_api.mjs +0 -6
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, EventEmitter, forwardRef, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, isObservable, Subscription } from 'rxjs';
|
|
3
|
-
import { BbComboboxContainer } from './combobox-container.directive';
|
|
4
|
-
import { BbComboboxOption } from '../combobox-option.directive';
|
|
5
|
-
import { BbComboboxLabel } from '../combobox-label.directive';
|
|
6
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
|
-
import { map, shareReplay } from 'rxjs/operators';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class BbCombobox {
|
|
10
|
-
// Children.
|
|
11
|
-
labelComponent;
|
|
12
|
-
optionTemplate;
|
|
13
|
-
// Inputs.
|
|
14
|
-
value = null;
|
|
15
|
-
bindLabel = null;
|
|
16
|
-
bindValue = null;
|
|
17
|
-
disabled = false;
|
|
18
|
-
set data(items) {
|
|
19
|
-
this.handleData(items);
|
|
20
|
-
}
|
|
21
|
-
get data() {
|
|
22
|
-
return this._cache$.getValue();
|
|
23
|
-
}
|
|
24
|
-
// Outputs.
|
|
25
|
-
valueChange = new EventEmitter();
|
|
26
|
-
// State.
|
|
27
|
-
items$;
|
|
28
|
-
// Methods.
|
|
29
|
-
onChange = () => ({});
|
|
30
|
-
onTouched = () => ({});
|
|
31
|
-
// Cache.
|
|
32
|
-
_cache$ = new BehaviorSubject([]);
|
|
33
|
-
// Subscriptions.
|
|
34
|
-
_dataSubscription = new Subscription();
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
this.setItems();
|
|
37
|
-
}
|
|
38
|
-
ngOnDestroy() {
|
|
39
|
-
this._dataSubscription?.unsubscribe();
|
|
40
|
-
}
|
|
41
|
-
registerOnChange(fn) {
|
|
42
|
-
this.onChange = fn;
|
|
43
|
-
}
|
|
44
|
-
registerOnTouched(fn) {
|
|
45
|
-
this.onTouched = fn;
|
|
46
|
-
}
|
|
47
|
-
setDisabledState(isDisabled) {
|
|
48
|
-
this.disabled = isDisabled;
|
|
49
|
-
}
|
|
50
|
-
writeValue(newValue) {
|
|
51
|
-
this.value = newValue;
|
|
52
|
-
}
|
|
53
|
-
select(value) {
|
|
54
|
-
this.value = value;
|
|
55
|
-
this.emitChangeEvent();
|
|
56
|
-
}
|
|
57
|
-
setItems() {
|
|
58
|
-
this.items$ = this._cache$.pipe(map(items => items.map(item => this.createComboboxItem(item))), shareReplay({ bufferSize: 1, refCount: true }));
|
|
59
|
-
}
|
|
60
|
-
createComboboxItem(data) {
|
|
61
|
-
return {
|
|
62
|
-
data,
|
|
63
|
-
label: !!this.bindLabel ? (data?.[this.bindLabel] ?? null) : data,
|
|
64
|
-
value: !!this.bindValue ? (data?.[this.bindValue] ?? null) : data
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
setCache(items) {
|
|
68
|
-
if (items === null || items === undefined) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
this._cache$.next(items);
|
|
72
|
-
}
|
|
73
|
-
handleData(items) {
|
|
74
|
-
if (isObservable(items)) {
|
|
75
|
-
return this.handleDataObservable(items);
|
|
76
|
-
}
|
|
77
|
-
return this.setCache(items);
|
|
78
|
-
}
|
|
79
|
-
handleDataObservable(items$) {
|
|
80
|
-
this._dataSubscription?.unsubscribe();
|
|
81
|
-
const subscription = items$.subscribe(items => this.setCache(items));
|
|
82
|
-
this._dataSubscription.add(subscription);
|
|
83
|
-
}
|
|
84
|
-
emitChangeEvent() {
|
|
85
|
-
this.onChange?.(this.value);
|
|
86
|
-
this.valueChange.emit(this.value);
|
|
87
|
-
}
|
|
88
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCombobox, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
89
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", type: BbCombobox, isStandalone: true, selector: "bb-combobox", inputs: { value: "value", bindLabel: "bindLabel", bindValue: "bindValue", disabled: ["disabled", "disabled", booleanAttribute], data: "data" }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "bb-combobox" }, providers: [
|
|
90
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true }
|
|
91
|
-
], queries: [{ propertyName: "labelComponent", first: true, predicate: BbComboboxLabel, descendants: true, read: TemplateRef }, { propertyName: "optionTemplate", first: true, predicate: BbComboboxOption, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div bbComboboxContainer\n class=\"bb-combobox-container\">\n {{ value }}\n</div>\n", styles: [".bb-combobox{display:block}.bb-combobox-container{width:100%;height:2.5rem;display:block;padding:0 .75rem;line-height:2.5rem;border:1px solid black}\n"], dependencies: [{ kind: "directive", type: BbComboboxContainer, selector: "[bbComboboxContainer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
92
|
-
}
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbCombobox, decorators: [{
|
|
94
|
-
type: Component,
|
|
95
|
-
args: [{ selector: 'bb-combobox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-combobox' }, preserveWhitespaces: false, providers: [
|
|
96
|
-
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => BbCombobox), multi: true }
|
|
97
|
-
], imports: [BbComboboxContainer], standalone: true, template: "<div bbComboboxContainer\n class=\"bb-combobox-container\">\n {{ value }}\n</div>\n", styles: [".bb-combobox{display:block}.bb-combobox-container{width:100%;height:2.5rem;display:block;padding:0 .75rem;line-height:2.5rem;border:1px solid black}\n"] }]
|
|
98
|
-
}], propDecorators: { labelComponent: [{
|
|
99
|
-
type: ContentChild,
|
|
100
|
-
args: [BbComboboxLabel, { read: TemplateRef, static: false }]
|
|
101
|
-
}], optionTemplate: [{
|
|
102
|
-
type: ContentChild,
|
|
103
|
-
args: [BbComboboxOption, { read: TemplateRef, static: false }]
|
|
104
|
-
}], value: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], bindLabel: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], bindValue: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], disabled: [{
|
|
111
|
-
type: Input,
|
|
112
|
-
args: [{ transform: booleanAttribute }]
|
|
113
|
-
}], data: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], valueChange: [{
|
|
116
|
-
type: Output
|
|
117
|
-
}] } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gvY29tYm9ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0wsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQWdCaEQsTUFBTSxPQUFPLFVBQVU7SUFFbkIsWUFBWTtJQUN1RCxjQUFjLENBQWdDO0lBQzdDLGNBQWMsQ0FBc0M7SUFFeEgsVUFBVTtJQUNELEtBQUssR0FBYSxJQUFJLENBQUM7SUFDdkIsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDaEMsU0FBUyxHQUFrQixJQUFJLENBQUM7SUFDSCxRQUFRLEdBQVksS0FBSyxDQUFDO0lBRWhFLElBQ0ksSUFBSSxDQUFDLEtB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S21ELGNBQWM7c0JBQWhGLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQUNHLGNBQWM7c0JBQWpGLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUM7Z0JBR3pELEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ2dDLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBR2hDLElBQUk7c0JBRFAsS0FBSztnQkFVSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb21ib2JveEl0ZW0sIENvbWJvYm94T3B0aW9uQ29udGV4dH0gZnJvbSAnLi4vY29tYm9ib3guaW50ZXJmYWNlJztcbmltcG9ydCB7QmJDb21ib2JveENvbnRhaW5lcn0gZnJvbSAnLi9jb21ib2JveC1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7QmJDb21ib2JveE9wdGlvbn0gZnJvbSAnLi4vY29tYm9ib3gtb3B0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0JiQ29tYm9ib3hMYWJlbH0gZnJvbSAnLi4vY29tYm9ib3gtbGFiZWwuZGlyZWN0aXZlJztcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7bWFwLCBzaGFyZVJlcGxheX0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWNvbWJvYm94JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tYm9ib3guY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbWJvYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWNvbWJvYm94J30sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQmJDb21ib2JveCksIG11bHRpOiB0cnVlfVxuICAgIF0sXG4gICAgaW1wb3J0czogW0JiQ29tYm9ib3hDb250YWluZXJdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveDxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBDaGlsZHJlbi5cbiAgICBAQ29udGVudENoaWxkKEJiQ29tYm9ib3hMYWJlbCwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSkgbGFiZWxDb21wb25lbnQ/OiBUZW1wbGF0ZVJlZjxCYkNvbWJvYm94TGFiZWw+O1xuICAgIEBDb250ZW50Q2hpbGQoQmJDb21ib2JveE9wdGlvbiwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlfSkgb3B0aW9uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDb21ib2JveE9wdGlvbkNvbnRleHQ+O1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIHZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgYmluZExhYmVsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGEoaXRlbXM6IFRbXSB8IE9ic2VydmFibGU8VFtdPikge1xuICAgICAgICB0aGlzLmhhbmRsZURhdGEoaXRlbXMpO1xuICAgIH1cblxuICAgIGdldCBkYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FjaGUkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgLy8gT3V0cHV0cy5cbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFQ+KCk7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBpdGVtcyQ6IE9ic2VydmFibGU8Q29tYm9ib3hJdGVtPFQ+W10+O1xuXG4gICAgLy8gTWV0aG9kcy5cbiAgICBvbkNoYW5nZTogKG5ld1ZhbHVlOiBUKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcbiAgICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gICAgLy8gQ2FjaGUuXG4gICAgcHJpdmF0ZSBfY2FjaGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICAgIC8vIFN1YnNjcmlwdGlvbnMuXG4gICAgcHJpdmF0ZSBfZGF0YVN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldEl0ZW1zKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2RhdGFTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKG5ld1ZhbHVlOiBUKSA9PiB2b2lkKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG5ld1ZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBzZWxlY3QodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmVtaXRDaGFuZ2VFdmVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXMoKSB7XG4gICAgICAgIHRoaXMuaXRlbXMkID0gdGhpcy5fY2FjaGUkLnBpcGUoXG4gICAgICAgICAgICBtYXAoaXRlbXMgPT4gaXRlbXMubWFwKGl0ZW0gPT4gdGhpcy5jcmVhdGVDb21ib2JveEl0ZW0oaXRlbSkpKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZX0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb21ib2JveEl0ZW0oZGF0YTogVCkge1xuICAgICAgICByZXR1cm4gPENvbWJvYm94SXRlbTxUPj57XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbGFiZWw6ICEhdGhpcy5iaW5kTGFiZWwgPyAoZGF0YT8uW3RoaXMuYmluZExhYmVsXSA/PyBudWxsKSA6IGRhdGEsXG4gICAgICAgICAgICB2YWx1ZTogISF0aGlzLmJpbmRWYWx1ZSA/IChkYXRhPy5bdGhpcy5iaW5kVmFsdWVdID8/IG51bGwpIDogZGF0YVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FjaGUoaXRlbXM6IFRbXSkge1xuICAgICAgICBpZiAoaXRlbXMgPT09IG51bGwgfHwgaXRlbXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NhY2hlJC5uZXh0KGl0ZW1zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURhdGEoaXRlbXM6IFRbXSB8IE9ic2VydmFibGU8VFtdPikge1xuICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKGl0ZW1zKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRGF0YU9ic2VydmFibGUoaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q2FjaGUoaXRlbXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRGF0YU9ic2VydmFibGUoaXRlbXMkOiBPYnNlcnZhYmxlPFRbXT4pIHtcbiAgICAgICAgdGhpcy5fZGF0YVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gaXRlbXMkLnN1YnNjcmliZShpdGVtcyA9PiB0aGlzLnNldENhY2hlKGl0ZW1zKSk7XG4gICAgICAgIHRoaXMuX2RhdGFTdWJzY3JpcHRpb24uYWRkKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2U/Lih0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cblxufVxuIiwiPGRpdiBiYkNvbWJvYm94Q29udGFpbmVyXG4gICAgIGNsYXNzPVwiYmItY29tYm9ib3gtY29udGFpbmVyXCI+XG4gICAge3sgdmFsdWUgfX1cbjwvZGl2PlxuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbComboboxLabel {
|
|
4
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbComboboxLabel, isStandalone: true, selector: "[bbComboboxLabel]", ngImport: i0 });
|
|
6
|
-
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxLabel, decorators: [{
|
|
8
|
-
type: Directive,
|
|
9
|
-
args: [{
|
|
10
|
-
selector: '[bbComboboxLabel]',
|
|
11
|
-
standalone: true
|
|
12
|
-
}]
|
|
13
|
-
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBTXhDLE1BQU0sT0FBTyxlQUFlO3dHQUFmLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2JiQ29tYm9ib3hMYWJlbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveExhYmVsIHtcbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbComboboxOption {
|
|
4
|
-
static ngTemplateContextGuard(directive, context) {
|
|
5
|
-
return true;
|
|
6
|
-
}
|
|
7
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxOption, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
8
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: BbComboboxOption, isStandalone: true, selector: "ng-template[bbComboboxOption]", ngImport: i0 });
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxOption, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{
|
|
13
|
-
selector: 'ng-template[bbComboboxOption]',
|
|
14
|
-
standalone: true
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtb3B0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL2NvbWJvYm94LW9wdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFNeEMsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixNQUFNLENBQUMsc0JBQXNCLENBQUMsU0FBMkIsRUFBRSxPQUFnQjtRQUN2RSxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO3dHQUpRLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tYm9ib3hPcHRpb25Db250ZXh0fSBmcm9tICcuL2NvbWJvYm94LmludGVyZmFjZSc7XG5pbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbYmJDb21ib2JveE9wdGlvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveE9wdGlvbiB7XG5cbiAgICBzdGF0aWMgbmdUZW1wbGF0ZUNvbnRleHRHdWFyZChkaXJlY3RpdmU6IEJiQ29tYm9ib3hPcHRpb24sIGNvbnRleHQ6IHVua25vd24pOiBjb250ZXh0IGlzIENvbWJvYm94T3B0aW9uQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxufVxuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
export const comboboxPanelAnimation = trigger('comboboxPanelAnimation', [
|
|
3
|
-
transition(':enter', [
|
|
4
|
-
style({ opacity: 0, transform: 'translateY(5px)' }),
|
|
5
|
-
animate('300ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 1, transform: 'none' }))
|
|
6
|
-
]),
|
|
7
|
-
transition(':leave', [
|
|
8
|
-
animate('300ms cubic-bezier(0, 0, .2, 1)', style({ opacity: 0, transform: 'translateY(5px)' }))
|
|
9
|
-
])
|
|
10
|
-
]);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtcGFuZWwuYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gtcGFuZWwvY29tYm9ib3gtcGFuZWwuYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLEVBQUU7SUFDcEUsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNqQixLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO0tBQ3JGLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLE9BQU8sQ0FBQyxpQ0FBaUMsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxDQUFDLENBQUM7S0FDaEcsQ0FBQztDQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgY29tYm9ib3hQYW5lbEFuaW1hdGlvbiA9IHRyaWdnZXIoJ2NvbWJvYm94UGFuZWxBbmltYXRpb24nLCBbXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7b3BhY2l0eTogMCwgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSg1cHgpJ30pLFxuICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgLjIsIDEpJywgc3R5bGUoe29wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ25vbmUnfSkpXG4gICAgXSksXG4gICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKCczMDBtcyBjdWJpYy1iZXppZXIoMCwgMCwgLjIsIDEpJywgc3R5bGUoe29wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoNXB4KSd9KSlcbiAgICBdKVxuXSk7XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { comboboxPanelAnimation } from './combobox-panel.animation';
|
|
3
|
-
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
4
|
-
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "../combobox/combobox.component";
|
|
7
|
-
import * as i2 from "../combobox/combobox-container.directive";
|
|
8
|
-
import * as i3 from "@angular/cdk/a11y";
|
|
9
|
-
export class BbComboboxPanel {
|
|
10
|
-
_combobox;
|
|
11
|
-
_container;
|
|
12
|
-
// Readonly data.
|
|
13
|
-
items$;
|
|
14
|
-
optionTemplate;
|
|
15
|
-
// Host bindings.
|
|
16
|
-
animation = true;
|
|
17
|
-
constructor(_combobox, _container) {
|
|
18
|
-
this._combobox = _combobox;
|
|
19
|
-
this._container = _container;
|
|
20
|
-
this.items$ = this._combobox.items$;
|
|
21
|
-
this.optionTemplate = this._combobox?.optionTemplate ?? null;
|
|
22
|
-
}
|
|
23
|
-
select(item) {
|
|
24
|
-
this._combobox.select(item?.value ?? null);
|
|
25
|
-
this._container.close();
|
|
26
|
-
}
|
|
27
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxPanel, deps: [{ token: i1.BbCombobox }, { token: i2.BbComboboxContainer }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: BbComboboxPanel, isStandalone: true, selector: "bb-combobox-panel", host: { attributes: { "role": "listbox" }, properties: { "@comboboxPanelAnimation": "this.animation" }, classAttribute: "bb-combobox-panel" }, hostDirectives: [{ directive: i3.CdkTrapFocus }], ngImport: i0, template: "@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", styles: [".bb-combobox-panel{width:100%;display:block;padding:.5rem;overflow-y:auto;overflow-x:hidden;border-radius:.5rem;background-color:#fff;box-shadow:#00000014 0 10px 40px 10px}.bb-combobox-panel-item{cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem}.bb-combobox-panel-item:hover,.bb-combobox-panel-item:focus{background-color:orange}.bb-combobox-panel-item:active{background-color:red}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [comboboxPanelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
29
|
-
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbComboboxPanel, decorators: [{
|
|
31
|
-
type: Component,
|
|
32
|
-
args: [{ selector: 'bb-combobox-panel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
33
|
-
'class': 'bb-combobox-panel',
|
|
34
|
-
'role': 'listbox'
|
|
35
|
-
}, hostDirectives: [
|
|
36
|
-
{ directive: CdkTrapFocus }
|
|
37
|
-
], preserveWhitespaces: false, standalone: true, imports: [AsyncPipe, NgTemplateOutlet], animations: [comboboxPanelAnimation], template: "@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", styles: [".bb-combobox-panel{width:100%;display:block;padding:.5rem;overflow-y:auto;overflow-x:hidden;border-radius:.5rem;background-color:#fff;box-shadow:#00000014 0 10px 40px 10px}.bb-combobox-panel-item{cursor:pointer;border-radius:.5rem;padding:.75rem 1.5rem}.bb-combobox-panel-item:hover,.bb-combobox-panel-item:focus{background-color:orange}.bb-combobox-panel-item:active{background-color:red}\n"] }]
|
|
38
|
-
}], ctorParameters: () => [{ type: i1.BbCombobox }, { type: i2.BbComboboxContainer }], propDecorators: { animation: [{
|
|
39
|
-
type: HostBinding,
|
|
40
|
-
args: ['@comboboxPanelAnimation']
|
|
41
|
-
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3gtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gtcGFuZWwvY29tYm9ib3gtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3gtcGFuZWwvY29tYm9ib3gtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQWUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHOUcsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7QUFxQi9DLE1BQU0sT0FBTyxlQUFlO0lBU0o7SUFDQTtJQVJwQixpQkFBaUI7SUFDUixNQUFNLENBQXNDO0lBQzVDLGNBQWMsQ0FBcUM7SUFFNUQsaUJBQWlCO0lBQ3VCLFNBQVMsR0FBWSxJQUFJLENBQUM7SUFFbEUsWUFBb0IsU0FBcUIsRUFDckIsVUFBK0I7UUFEL0IsY0FBUyxHQUFULFNBQVMsQ0FBWTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBMkI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVCLENBQUM7d0dBbEJRLGVBQWU7NEZBQWYsZUFBZSw4UUMzQjVCLG9kQWVBLDRiRFNjLFNBQVMsOENBQUUsZ0JBQWdCLHNJQUN6QixDQUFDLHNCQUFzQixDQUFDOzs0RkFFM0IsZUFBZTtrQkFsQjNCLFNBQVM7K0JBQ0ksbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLG1CQUFtQjt3QkFDNUIsTUFBTSxFQUFFLFNBQVM7cUJBQ3BCLGtCQUNlO3dCQUNaLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQztxQkFDNUIsdUJBQ29CLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsY0FDMUIsQ0FBQyxzQkFBc0IsQ0FBQztpSEFTSSxTQUFTO3NCQUFoRCxXQUFXO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiQ29tYm9ib3hDb250YWluZXJ9IGZyb20gJy4uL2NvbWJvYm94L2NvbWJvYm94LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb21ib2JveEl0ZW0sIENvbWJvYm94T3B0aW9uQ29udGV4dH0gZnJvbSAnLi4vY29tYm9ib3guaW50ZXJmYWNlJztcbmltcG9ydCB7Y29tYm9ib3hQYW5lbEFuaW1hdGlvbn0gZnJvbSAnLi9jb21ib2JveC1wYW5lbC5hbmltYXRpb24nO1xuaW1wb3J0IHtBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0JiQ29tYm9ib3h9IGZyb20gJy4uL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudCc7XG5pbXBvcnQge0Nka1RyYXBGb2N1c30gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdiYi1jb21ib2JveC1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbWJvYm94LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb21ib2JveC1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICAnY2xhc3MnOiAnYmItY29tYm9ib3gtcGFuZWwnLFxuICAgICAgICAncm9sZSc6ICdsaXN0Ym94J1xuICAgIH0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge2RpcmVjdGl2ZTogQ2RrVHJhcEZvY3VzfVxuICAgIF0sXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgICBhbmltYXRpb25zOiBbY29tYm9ib3hQYW5lbEFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgQmJDb21ib2JveFBhbmVsIHtcblxuICAgIC8vIFJlYWRvbmx5IGRhdGEuXG4gICAgcmVhZG9ubHkgaXRlbXMkOiBPYnNlcnZhYmxlPENvbWJvYm94SXRlbTx1bmtub3duPltdPjtcbiAgICByZWFkb25seSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8Q29tYm9ib3hPcHRpb25Db250ZXh0PjtcblxuICAgIC8vIEhvc3QgYmluZGluZ3MuXG4gICAgQEhvc3RCaW5kaW5nKCdAY29tYm9ib3hQYW5lbEFuaW1hdGlvbicpIGFuaW1hdGlvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jb21ib2JveDogQmJDb21ib2JveCxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9jb250YWluZXI6IEJiQ29tYm9ib3hDb250YWluZXIpIHtcbiAgICAgICAgdGhpcy5pdGVtcyQgPSB0aGlzLl9jb21ib2JveC5pdGVtcyQ7XG4gICAgICAgIHRoaXMub3B0aW9uVGVtcGxhdGUgPSB0aGlzLl9jb21ib2JveD8ub3B0aW9uVGVtcGxhdGUgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBzZWxlY3QoaXRlbTogQ29tYm9ib3hJdGVtPHVua25vd24+KSB7XG4gICAgICAgIHRoaXMuX2NvbWJvYm94LnNlbGVjdChpdGVtPy52YWx1ZSA/PyBudWxsKTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLmNsb3NlKCk7XG4gICAgfVxuXG59XG4iLCJAaWYgKGl0ZW1zJCB8IGFzeW5jOyBhcyBpdGVtcykge1xuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3QoaXRlbSlcIlxuICAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgY2xhc3M9XCJiYi1jb21ib2JveC1wYW5lbC1pdGVtXCI+XG4gICAgICAgICAgICBAaWYgKG9wdGlvblRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm9wdGlvblRlbXBsYXRlOyBjb250ZXh0OiB7aXRlbTogaXRlbX1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7IGl0ZW0/LmxhYmVsIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cblxufVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYm9ib3guaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9jb21ib2JveC9zcmMvY29tYm9ib3guaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbWJvYm94SXRlbTxUPiB7XG4gICAgbGFiZWw6IGFueTtcbiAgICB2YWx1ZTogYW55O1xuICAgIGRhdGE6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYm9ib3hPcHRpb25Db250ZXh0IHtcbiAgICBpdGVtOiBDb21ib2JveEl0ZW08dW5rbm93bj47XG59XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './combobox/combobox.component';
|
|
2
|
-
export * from './combobox-label.directive';
|
|
3
|
-
export * from './combobox-option.directive';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vY29tYm9ib3gvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbWJvYm94L2NvbWJvYm94LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tYm9ib3gtbGFiZWwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tYm9ib3gtb3B0aW9uLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdm9iaXQtYmItZm91bmRhdGlvbi1kYXNoYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvYnJhdm9iaXQtYmItZm91bmRhdGlvbi1kYXNoYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, inject, Input, Renderer2, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { BbDashboardSidebar } from '../dashboard-sidebar/dashboard-sidebar.component';
|
|
3
|
-
import { Platform } from '@angular/cdk/platform';
|
|
4
|
-
import { Patch } from '@bravobit/bb-foundation';
|
|
5
|
-
import { AsyncPipe } from '@angular/common';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class BbDashboard {
|
|
8
|
-
// Dependencies.
|
|
9
|
-
_patch = inject(Patch);
|
|
10
|
-
_platform = inject(Platform);
|
|
11
|
-
_renderer = inject(Renderer2);
|
|
12
|
-
// Views.
|
|
13
|
-
sidebar;
|
|
14
|
-
// Inputs.
|
|
15
|
-
backgroundColor = '#e7eaed';
|
|
16
|
-
maxWidth = '75rem';
|
|
17
|
-
padding = '1.5rem';
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
this._patch.mobileVerticalHeight();
|
|
20
|
-
return this.setHtmlClass();
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
this.setHtmlClass(true);
|
|
24
|
-
}
|
|
25
|
-
setHtmlClass(shouldRemove = false) {
|
|
26
|
-
if (!this._platform.isBrowser) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const className = 'bb-dashboard-html';
|
|
30
|
-
return shouldRemove
|
|
31
|
-
? this._renderer.removeClass(document.documentElement, className)
|
|
32
|
-
: this._renderer.addClass(document.documentElement, className);
|
|
33
|
-
}
|
|
34
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboard, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", 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 });
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboard, decorators: [{
|
|
38
|
-
type: Component,
|
|
39
|
-
args: [{ selector: 'bb-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard' }, preserveWhitespaces: false, standalone: true, 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"] }]
|
|
40
|
-
}], propDecorators: { sidebar: [{
|
|
41
|
-
type: ContentChild,
|
|
42
|
-
args: [BbDashboardSidebar]
|
|
43
|
-
}], backgroundColor: [{
|
|
44
|
-
type: Input
|
|
45
|
-
}], maxWidth: [{
|
|
46
|
-
type: Input
|
|
47
|
-
}], padding: [{
|
|
48
|
-
type: Input
|
|
49
|
-
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JiLWZvdW5kYXRpb24vZGFzaGJvYXJkL3NyYy9saWIvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC9kYXNoYm9hcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQWExQyxNQUFNLE9BQU8sV0FBVztJQUVwQixnQkFBZ0I7SUFDQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQyxTQUFTO0lBQ3lCLE9BQU8sQ0FBc0I7SUFFL0QsVUFBVTtJQUNELGVBQWUsR0FBVyxTQUFTLENBQUM7SUFDcEMsUUFBUSxHQUFXLE9BQU8sQ0FBQztJQUMzQixPQUFPLEdBQVcsUUFBUSxDQUFDO0lBRXBDLFFBQVE7UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxZQUFZLENBQUMsZUFBd0IsS0FBSztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLG1CQUFtQixDQUFDO1FBQ3RDLE9BQU8sWUFBWTtZQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQztZQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RSxDQUFDO3dHQWpDUSxXQUFXOzRGQUFYLFdBQVcsaVBBUU4sa0JBQWtCLGdEQ3pCcEMsczJDQWlEQSwyM0JEbENjLFNBQVM7OzRGQUVWLFdBQVc7a0JBWHZCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBQyx1QkFDVixLQUFLLGNBQ2QsSUFBSSxXQUNQLENBQUMsU0FBUyxDQUFDOzhCQVVjLE9BQU87c0JBQXhDLFlBQVk7dUJBQUMsa0JBQWtCO2dCQUd2QixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QmJEYXNoYm9hcmRTaWRlYmFyfSBmcm9tICcuLi9kYXNoYm9hcmQtc2lkZWJhci9kYXNoYm9hcmQtc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtQbGF0Zm9ybX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7UGF0Y2h9IGZyb20gJ0BicmF2b2JpdC9iYi1mb3VuZGF0aW9uJztcbmltcG9ydCB7QXN5bmNQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRhc2hib2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Rhc2hib2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWRhc2hib2FyZCd9LFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgQmJEYXNoYm9hcmQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyBEZXBlbmRlbmNpZXMuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfcGF0Y2ggPSBpbmplY3QoUGF0Y2gpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gICAgLy8gVmlld3MuXG4gICAgQENvbnRlbnRDaGlsZChCYkRhc2hib2FyZFNpZGViYXIpIHNpZGViYXI/OiBCYkRhc2hib2FyZFNpZGViYXI7XG5cbiAgICAvLyBJbnB1dHMuXG4gICAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgPSAnI2U3ZWFlZCc7XG4gICAgQElucHV0KCkgbWF4V2lkdGg6IHN0cmluZyA9ICc3NXJlbSc7XG4gICAgQElucHV0KCkgcGFkZGluZzogc3RyaW5nID0gJzEuNXJlbSc7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5fcGF0Y2gubW9iaWxlVmVydGljYWxIZWlnaHQoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0SHRtbENsYXNzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc2V0SHRtbENsYXNzKHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SHRtbENsYXNzKHNob3VsZFJlbW92ZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICghdGhpcy5fcGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSAnYmItZGFzaGJvYXJkLWh0bWwnO1xuICAgICAgICByZXR1cm4gc2hvdWxkUmVtb3ZlXG4gICAgICAgICAgICA/IHRoaXMuX3JlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgY2xhc3NOYW1lKVxuICAgICAgICAgICAgOiB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuXG59XG4iLCI8IS0tXG4gICAgVGhlIG91dGxldCBmb3Igd2hlcmUgdGhlIHNpZGViYXJcbiAgICB3aWxsIGJlIHBsYWNlZCAoaWYgcHJvdmlkZWQpLlxuLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJiYi1kYXNoYm9hcmQtc2lkZWJhclwiPjwvbmctY29udGVudD5cblxuPCEtLVxuICAgIFRoZSBzZWN0aW9uIGNvbnRhaW5pbmcgdGhlIGhlYWRlclxuICAgIGFuZCB0aGUgbWFpbiBjb250ZW50LlxuLS0+XG48c2VjdGlvbiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgY2xhc3M9XCJiYi1kYXNoYm9hcmQtc2VjdGlvblwiPlxuICAgIDwhLS1cbiAgICAgICAgVGhlIG91dGxldCBmb3Igd2hlcmUgdGhlIGhlYWRlclxuICAgICAgICB3aWxsIGJlIHBsYWNlZCAoaWYgcHJvdmlkZWQpLlxuICAgIC0tPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJiLWRhc2hib2FyZC1oZWFkZXJcIj5cbiAgICA8L25nLWNvbnRlbnQ+XG5cbiAgICA8IS0tXG4gICAgICAgIFRoZSBvdXRsZXQgb2YgdGhlIGNvbnRlbnQgdGhhdFxuICAgICAgICB3aWxsIGJlIHByb3ZpZGVkIGJ5IHRoZSByb3V0ZXIuXG4gICAgLS0+XG4gICAgPG1haW4gW3N0eWxlLnBhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICAgICAgY2xhc3M9XCJiYi1kYXNoYm9hcmQtc2Nyb2xsXCI+XG4gICAgICAgIDxkaXYgW3N0eWxlLm1heC13aWR0aF09XCJtYXhXaWR0aFwiXG4gICAgICAgICAgICAgY2xhc3M9XCJiYi1kYXNoYm9hcmQtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJiYi1kYXNoYm9hcmQtbWVudVwiPjwvbmctY29udGVudD5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLVxuICAgICAgICAgICAgVGhlIG91dGxldCBmb3Igd2hlcmUgdGhlIGZvb3RlclxuICAgICAgICAgICAgd2lsbCBiZSBwbGFjZWQgKGlmIHByb3ZpZGVkKS5cbiAgICAgICAgLS0+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImJiLWRhc2hib2FyZC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9tYWluPlxuPC9zZWN0aW9uPlxuXG48IS0tXG4gICAgVGhlIGJhY2tkcm9wIHRoYXQgd2lsbCBiZSB2aXNpYmxlIHdoZW5cbiAgICB0aGUgc2lkZWJhciBpcyBvcGVuZWQgKG9ubHkgb24gbW9iaWxlKS5cbi0tPlxuQGlmICghIXNpZGViYXIpIHtcbiAgICA8ZGl2IFtjbGFzcy52aXNpYmxlXT1cIiEoc2lkZWJhcj8udmlzaWJpbGl0eUNoYW5nZXMgfCBhc3luYylcIlxuICAgICAgICAgKGNsaWNrKT1cInNpZGViYXI/LnRvZ2dsZSgpXCJcbiAgICAgICAgIGNsYXNzPVwiYmItZGFzaGJvYXJkLWJhY2tkcm9wXCI+XG4gICAgPC9kaXY+XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { BbDashboard } from '../dashboard/dashboard.component';
|
|
3
|
-
import { AsyncPipe } from '@angular/common';
|
|
4
|
-
import { of } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BbDashboardHeader {
|
|
7
|
-
// Dependencies.
|
|
8
|
-
_parent = inject(BbDashboard, { optional: true });
|
|
9
|
-
get showSidebarButton() {
|
|
10
|
-
return !!this._parent?.sidebar;
|
|
11
|
-
}
|
|
12
|
-
get isSidebarVisible() {
|
|
13
|
-
return this._parent?.sidebar?.visibilityChanges ?? of(false);
|
|
14
|
-
}
|
|
15
|
-
onToggleSidebarClicked() {
|
|
16
|
-
this._parent?.sidebar?.toggle();
|
|
17
|
-
}
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", 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 });
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardHeader, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'bb-dashboard-header', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'class': 'bb-dashboard-header' }, preserveWhitespaces: false, standalone: true, 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"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1oZWFkZXIvZGFzaGJvYXJkLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1oZWFkZXIvZGFzaGJvYXJkLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7O0FBYXhCLE1BQU0sT0FBTyxpQkFBaUI7SUFFMUIsZ0JBQWdCO0lBQ0MsT0FBTyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUVqRSxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNwQyxDQUFDO3dHQWZRLGlCQUFpQjs0RkFBakIsaUJBQWlCLGdJQ2hCOUIsdThCQStCQSxzaENEakJjLFNBQVM7OzRGQUVWLGlCQUFpQjtrQkFYN0IsU0FBUzsrQkFDSSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBQyx1QkFDakIsS0FBSyxjQUNkLElBQUksV0FDUCxDQUFDLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JiRGFzaGJvYXJkfSBmcm9tICcuLi9kYXNoYm9hcmQvZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRhc2hib2FyZC1oZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7J2NsYXNzJzogJ2JiLWRhc2hib2FyZC1oZWFkZXInfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtBc3luY1BpcGVdXG59KVxuZXhwb3J0IGNsYXNzIEJiRGFzaGJvYXJkSGVhZGVyIHtcblxuICAgIC8vIERlcGVuZGVuY2llcy5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnQgPSBpbmplY3QoQmJEYXNoYm9hcmQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuXG4gICAgZ2V0IHNob3dTaWRlYmFyQnV0dG9uKCkge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9wYXJlbnQ/LnNpZGViYXI7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2lkZWJhclZpc2libGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQ/LnNpZGViYXI/LnZpc2liaWxpdHlDaGFuZ2VzID8/IG9mPGJvb2xlYW4+KGZhbHNlKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZVNpZGViYXJDbGlja2VkKCkge1xuICAgICAgICB0aGlzLl9wYXJlbnQ/LnNpZGViYXI/LnRvZ2dsZSgpO1xuICAgIH1cblxufVxuIiwiPCEtLVxuICAgIFRoZSBidXR0b24gdGhhdCB0b2dnbGVzIHRoZSBzaWRlYmFyLlxuLS0+XG5AaWYgKHNob3dTaWRlYmFyQnV0dG9uKSB7XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib25Ub2dnbGVTaWRlYmFyQ2xpY2tlZCgpXCJcbiAgICAgICAgICAgIFtjbGFzcy5yZXZlcnNlZF09XCJpc1NpZGViYXJWaXNpYmxlIHwgYXN5bmNcIlxuICAgICAgICAgICAgY2xhc3M9XCJiYi1kYXNoYm9hcmQtaGVhZGVyLWJ1dHRvblwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICByb2xlPVwic3dpdGNoXCI+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCAxNTcgMTA5XCJcbiAgICAgICAgICAgICB3aWR0aD1cIjEuMDYyNXJlbVwiXG4gICAgICAgICAgICAgaGVpZ2h0PVwiMC43NXJlbVwiXG4gICAgICAgICAgICAgcm9sZT1cImltZ1wiPlxuICAgICAgICAgICAgPHRpdGxlPlxuICAgICAgICAgICAgICAgIFRvZ2dsZVxuICAgICAgICAgICAgPC90aXRsZT5cbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNODIgNDJWMTEuMkwzMCA1NC41bDUyIDQzLjNWNjdoNzVWNDJ6TTkuNSAxMDloLTJjLTQuMSAwLTcuNS0zLjQtNy41LTcuNXYtOTRDMCAzLjQgMy40IDAgNy41IDBoMkMxMy42IDAgMTcgMy40IDE3IDcuNXY5NGMwIDQuMS0zLjQgNy41LTcuNSA3LjV6XCI+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxufVxuXG48IS0tXG4gICAgVGhlIGV4dHJhIGl0ZW1zIG9mIHRoZSBoZWFkZXIuXG4tLT5cbjxkaXYgY2xhc3M9XCJiYi1kYXNoYm9hcmQtaGVhZGVyLWl0ZW1zXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { RouterLink } from '@angular/router';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class BbDashboardMenu {
|
|
5
|
-
// Inputs.
|
|
6
|
-
title = null;
|
|
7
|
-
imageUrl = null;
|
|
8
|
-
backUrlLink = null;
|
|
9
|
-
backUrlTitle = null;
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardMenu, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
11
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", 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 });
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardMenu, decorators: [{
|
|
14
|
-
type: Component,
|
|
15
|
-
args: [{ selector: 'bb-dashboard-menu', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
16
|
-
'class': 'bb-dashboard-menu',
|
|
17
|
-
'role': 'navigation'
|
|
18
|
-
}, preserveWhitespaces: false, standalone: true, imports: [RouterLink], 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"] }]
|
|
19
|
-
}], propDecorators: { title: [{
|
|
20
|
-
type: Input
|
|
21
|
-
}], imageUrl: [{
|
|
22
|
-
type: Input
|
|
23
|
-
}], backUrlLink: [{
|
|
24
|
-
type: Input
|
|
25
|
-
}], backUrlTitle: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtbWVudS9kYXNoYm9hcmQtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1tZW51L2Rhc2hib2FyZC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFnQjNDLE1BQU0sT0FBTyxlQUFlO0lBRXhCLFVBQVU7SUFDRCxLQUFLLEdBQWtCLElBQUksQ0FBQztJQUM1QixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUMvQixXQUFXLEdBQWtCLElBQUksQ0FBQztJQUNsQyxZQUFZLEdBQWtCLElBQUksQ0FBQzt3R0FObkMsZUFBZTs0RkFBZixlQUFlLDhRQ2pCNUIsaWxCQXFCQSxzbERETmMsVUFBVTs7NEZBRVgsZUFBZTtrQkFkM0IsU0FBUzsrQkFDSSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDRixPQUFPLEVBQUUsbUJBQW1CO3dCQUM1QixNQUFNLEVBQUUsWUFBWTtxQkFDdkIsdUJBQ29CLEtBQUssY0FDZCxJQUFJLFdBQ1AsQ0FBQyxVQUFVLENBQUM7OEJBS1osS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJMaW5rfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRhc2hib2FyZC1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kYXNoYm9hcmQtbWVudScsXG4gICAgICAgICdyb2xlJzogJ25hdmlnYXRpb24nXG4gICAgfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSb3V0ZXJMaW5rXVxufSlcbmV4cG9ydCBjbGFzcyBCYkRhc2hib2FyZE1lbnUge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBpbWFnZVVybDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgYmFja1VybExpbms6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIGJhY2tVcmxUaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbn1cbiIsIkBpZiAoYmFja1VybExpbmsgJiYgYmFja1VybFRpdGxlKSB7XG4gICAgPGEgW3JvdXRlckxpbmtdPVwiYmFja1VybExpbmtcIlxuICAgICAgIGNsYXNzPVwiYmItZGFzaGJvYXJkLW1lbnUtbGlua1wiPnt7IGJhY2tVcmxUaXRsZSB9fTwvYT5cbn1cblxuPGRpdiBjbGFzcz1cImJiLWRhc2hib2FyZC1tZW51LXJvd1wiPlxuICAgIEBpZiAoaW1hZ2VVcmwpIHtcbiAgICAgICAgPGltZyBbc3JjXT1cImltYWdlVXJsXCJcbiAgICAgICAgICAgICBjbGFzcz1cImJiLWRhc2hib2FyZC1tZW51LWltYWdlXCJcbiAgICAgICAgICAgICBhbHQ9XCJNZW51IGltYWdlXCI+XG4gICAgfVxuICAgIEBpZiAodGl0bGU7IGFzIHRpdGxlTGFiZWwpIHtcbiAgICAgICAgPGgxIGNsYXNzPVwiYmItZGFzaGJvYXJkLW1lbnUtdGl0bGVcIj5cbiAgICAgICAgICAgIHt7IHRpdGxlTGFiZWwgfX1cbiAgICAgICAgPC9oMT5cbiAgICB9XG48L2Rpdj5cblxuPG5hdiBjbGFzcz1cImJiLWRhc2hib2FyZC1tZW51LW5hdmlnYXRpb25cIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYmItZGFzaGJvYXJkLW1lbnUtaXRlbV1cIj48L25nLWNvbnRlbnQ+XG48L25hdj5cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, HostListener, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class BbDashboardMenuItem {
|
|
4
|
-
// Inputs.
|
|
5
|
-
disabled = false;
|
|
6
|
-
stopDisabledEvents(event) {
|
|
7
|
-
// If the menu item is not disabled let all events pass.
|
|
8
|
-
if (!this.disabled) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
// If the menu item is disabled stop the event from
|
|
12
|
-
// bubbling up.
|
|
13
|
-
event.preventDefault();
|
|
14
|
-
event.stopImmediatePropagation();
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.12", 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>.bb-prefix{margin-right:.25rem}.bb-dashboard-menu-item>.bb-suffix{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 });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardMenuItem, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: '[bb-dashboard-menu-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
|
|
22
|
-
'class': 'bb-dashboard-menu-item',
|
|
23
|
-
'[class.disabled]': 'disabled'
|
|
24
|
-
}, standalone: true, 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>.bb-prefix{margin-right:.25rem}.bb-dashboard-menu-item>.bb-suffix{margin-left:.25rem}.bb-dashboard-menu-item-content{height:2.5rem;display:block;font-weight:500;line-height:2.5rem}\n"] }]
|
|
25
|
-
}], propDecorators: { disabled: [{
|
|
26
|
-
type: Input,
|
|
27
|
-
args: [{ transform: booleanAttribute }]
|
|
28
|
-
}], stopDisabledEvents: [{
|
|
29
|
-
type: HostListener,
|
|
30
|
-
args: ['click', ['$event']]
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLW1lbnUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1tZW51LWl0ZW0vZGFzaGJvYXJkLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1tZW51LWl0ZW0vZGFzaGJvYXJkLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBZTNILE1BQU0sT0FBTyxtQkFBbUI7SUFFNUIsVUFBVTtJQUM0QixRQUFRLEdBQVksS0FBSyxDQUFDO0lBR2hFLGtCQUFrQixDQUFDLEtBQVk7UUFDM0Isd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsT0FBTztRQUNYLENBQUM7UUFFRCxtREFBbUQ7UUFDbkQsZUFBZTtRQUNmLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO3dHQWhCUSxtQkFBbUI7NEZBQW5CLG1CQUFtQix5R0FHVCxnQkFBZ0IscUxDbEJ2Qyw2TEFLQTs7NEZEVWEsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLDBCQUEwQixtQkFHbkIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixPQUFPLEVBQUUsd0JBQXdCO3dCQUNqQyxrQkFBa0IsRUFBRSxVQUFVO3FCQUNqQyxjQUNXLElBQUk7OEJBS3NCLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBR3BDLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2Jvb2xlYW5BdHRyaWJ1dGUsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbYmItZGFzaGJvYXJkLW1lbnUtaXRlbV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXNoYm9hcmQtbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXNoYm9hcmQtbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kYXNoYm9hcmQtbWVudS1pdGVtJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAnZGlzYWJsZWQnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRGFzaGJvYXJkTWVudUl0ZW0ge1xuXG4gICAgLy8gSW5wdXRzLlxuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBzdG9wRGlzYWJsZWRFdmVudHMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIC8vIElmIHRoZSBtZW51IGl0ZW0gaXMgbm90IGRpc2FibGVkIGxldCBhbGwgZXZlbnRzIHBhc3MuXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlIG1lbnUgaXRlbSBpcyBkaXNhYmxlZCBzdG9wIHRoZSBldmVudCBmcm9tXG4gICAgICAgIC8vIGJ1YmJsaW5nIHVwLlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIltiYlByZWZpeF1cIj48L25nLWNvbnRlbnQ+XG48c3BhbiBjbGFzcz1cImJiLWRhc2hib2FyZC1tZW51LWl0ZW0tY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvc3Bhbj5cbjxuZy1jb250ZW50IHNlbGVjdD1cIltiYlN1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { Storage } from '@bravobit/bb-foundation/storage';
|
|
3
|
-
import { BehaviorSubject } from 'rxjs';
|
|
4
|
-
import { map } from 'rxjs/operators';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class BbDashboardSidebar {
|
|
7
|
-
// Readonly data.
|
|
8
|
-
_localStorageToken = 'bb-dashboard-sidebar-state';
|
|
9
|
-
// Dependencies.
|
|
10
|
-
_storage = inject(Storage);
|
|
11
|
-
// Bindings.
|
|
12
|
-
visibilityChanges = new BehaviorSubject(true);
|
|
13
|
-
// State.
|
|
14
|
-
_state$ = new BehaviorSubject({});
|
|
15
|
-
_cache;
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
// Retrieve the cache.
|
|
18
|
-
this._cache = this._storage.get(this._localStorageToken) ?? {};
|
|
19
|
-
}
|
|
20
|
-
registerGroup(id) {
|
|
21
|
-
// Get the old state.
|
|
22
|
-
const oldState = this._state$.getValue();
|
|
23
|
-
// Get the cache value so when it is undefined
|
|
24
|
-
// we will default to true.
|
|
25
|
-
const cacheValue = this._cache[id] === undefined ? true : this._cache[id];
|
|
26
|
-
// Push the new state.
|
|
27
|
-
this._state$.next({ ...oldState, [id]: cacheValue });
|
|
28
|
-
// Return the slice of the state that the group needs.
|
|
29
|
-
return this._state$.pipe(map(state => state[id]));
|
|
30
|
-
}
|
|
31
|
-
unregisterGroup(id) {
|
|
32
|
-
// Get the old groups.
|
|
33
|
-
const oldState = this._state$.getValue();
|
|
34
|
-
// Generate the new state without the id.
|
|
35
|
-
const newState = Object.keys(oldState).reduce((object, key) => {
|
|
36
|
-
if (key !== id) {
|
|
37
|
-
object[key] = oldState[key];
|
|
38
|
-
}
|
|
39
|
-
return object;
|
|
40
|
-
}, {});
|
|
41
|
-
// Push the new state.
|
|
42
|
-
this._state$.next(newState);
|
|
43
|
-
}
|
|
44
|
-
toggleGroup(id, newValue) {
|
|
45
|
-
// Get the old state.
|
|
46
|
-
const oldState = this._state$.getValue();
|
|
47
|
-
// Create the new state.
|
|
48
|
-
const newState = { ...oldState, [id]: newValue };
|
|
49
|
-
// Push the new state.
|
|
50
|
-
this._state$.next(newState);
|
|
51
|
-
// Save in the cache.
|
|
52
|
-
this._storage.set(this._localStorageToken, newState);
|
|
53
|
-
}
|
|
54
|
-
toggle() {
|
|
55
|
-
const current = this.visibilityChanges.getValue();
|
|
56
|
-
this.visibilityChanges.next(!current);
|
|
57
|
-
}
|
|
58
|
-
open() {
|
|
59
|
-
this.visibilityChanges.next(true);
|
|
60
|
-
}
|
|
61
|
-
close() {
|
|
62
|
-
this.visibilityChanges.next(false);
|
|
63
|
-
}
|
|
64
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
65
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", 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 .25s 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 .25s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
66
|
-
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BbDashboardSidebar, decorators: [{
|
|
68
|
-
type: Component,
|
|
69
|
-
args: [{ selector: 'bb-dashboard-sidebar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
70
|
-
'class': 'bb-dashboard-sidebar',
|
|
71
|
-
'[class.visible]': 'visibilityChanges.getValue()',
|
|
72
|
-
'role': 'navigation'
|
|
73
|
-
}, preserveWhitespaces: false, standalone: true, 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 .25s 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 .25s cubic-bezier(0,0,.2,1)}.bb-dashboard-sidebar.visible{margin-left:0}}\n"] }]
|
|
74
|
-
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLXNpZGViYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmItZm91bmRhdGlvbi9kYXNoYm9hcmQvc3JjL2xpYi9kYXNoYm9hcmQtc2lkZWJhci9kYXNoYm9hcmQtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYi1mb3VuZGF0aW9uL2Rhc2hib2FyZC9zcmMvbGliL2Rhc2hib2FyZC1zaWRlYmFyL2Rhc2hib2FyZC1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFrQm5DLE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsaUJBQWlCO0lBQ0Esa0JBQWtCLEdBQVcsNEJBQTRCLENBQUM7SUFFM0UsZ0JBQWdCO0lBQ0MsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1QyxZQUFZO0lBQ1osaUJBQWlCLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLENBQUM7SUFFdkQsU0FBUztJQUNELE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBMEIsRUFBRSxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUEwQjtJQUV4QyxRQUFRO1FBQ0osc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQTBCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRUQsYUFBYSxDQUFDLEVBQVU7UUFDcEIscUJBQXFCO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMsOENBQThDO1FBQzlDLDJCQUEyQjtRQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTFFLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztRQUVuRCxzREFBc0Q7UUFDdEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzFCLENBQUM7SUFDTixDQUFDO0lBRUQsZUFBZSxDQUFDLEVBQVU7UUFDdEIsc0JBQXNCO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMseUNBQXlDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzFELElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNiLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQVUsRUFBRSxRQUFpQjtRQUNyQyxxQkFBcUI7UUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV6Qyx3QkFBd0I7UUFDeEIsTUFBTSxRQUFRLEdBQUcsRUFBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBQyxDQUFDO1FBRS9DLHNCQUFzQjtRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7d0dBOUVRLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHlPQ3JCL0IscVlBaUJBOzs0RkRJYSxrQkFBa0I7a0JBZDlCLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0YsT0FBTyxFQUFFLHNCQUFzQjt3QkFDL0IsaUJBQWlCLEVBQUUsOEJBQThCO3dCQUNqRCxNQUFNLEVBQUUsWUFBWTtxQkFDdkIsdUJBQ29CLEtBQUssY0FDZCxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdG9yYWdlfSBmcm9tICdAYnJhdm9iaXQvYmItZm91bmRhdGlvbi9zdG9yYWdlJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbnR5cGUgQmJEYXNoYm9hcmRTaWRlYmFyU3RhdGUgPSB7IFtpZDogc3RyaW5nXTogYm9vbGVhbiB9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JiLWRhc2hib2FyZC1zaWRlYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGFzaGJvYXJkLXNpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Rhc2hib2FyZC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdjbGFzcyc6ICdiYi1kYXNoYm9hcmQtc2lkZWJhcicsXG4gICAgICAgICdbY2xhc3MudmlzaWJsZV0nOiAndmlzaWJpbGl0eUNoYW5nZXMuZ2V0VmFsdWUoKScsXG4gICAgICAgICdyb2xlJzogJ25hdmlnYXRpb24nXG4gICAgfSxcbiAgICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJiRGFzaGJvYXJkU2lkZWJhciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvLyBSZWFkb25seSBkYXRhLlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xvY2FsU3RvcmFnZVRva2VuOiBzdHJpbmcgPSAnYmItZGFzaGJvYXJkLXNpZGViYXItc3RhdGUnO1xuXG4gICAgLy8gRGVwZW5kZW5jaWVzLlxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JhZ2UgPSBpbmplY3QoU3RvcmFnZSk7XG5cbiAgICAvLyBCaW5kaW5ncy5cbiAgICB2aXNpYmlsaXR5Q2hhbmdlcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG5cbiAgICAvLyBTdGF0ZS5cbiAgICBwcml2YXRlIF9zdGF0ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJiRGFzaGJvYXJkU2lkZWJhclN0YXRlPih7fSk7XG4gICAgcHJpdmF0ZSBfY2FjaGU6IEJiRGFzaGJvYXJkU2lkZWJhclN0YXRlO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIC8vIFJldHJpZXZlIHRoZSBjYWNoZS5cbiAgICAgICAgdGhpcy5fY2FjaGUgPSB0aGlzLl9zdG9yYWdlLmdldDxCYkRhc2hib2FyZFNpZGViYXJTdGF0ZT4odGhpcy5fbG9jYWxTdG9yYWdlVG9rZW4pID8/IHt9O1xuICAgIH1cblxuICAgIHJlZ2lzdGVyR3JvdXAoaWQ6IHN0cmluZykge1xuICAgICAgICAvLyBHZXQgdGhlIG9sZCBzdGF0ZS5cbiAgICAgICAgY29uc3Qgb2xkU3RhdGUgPSB0aGlzLl9zdGF0ZSQuZ2V0VmFsdWUoKTtcblxuICAgICAgICAvLyBHZXQgdGhlIGNhY2hlIHZhbHVlIHNvIHdoZW4gaXQgaXMgdW5kZWZpbmVkXG4gICAgICAgIC8vIHdlIHdpbGwgZGVmYXVsdCB0byB0cnVlLlxuICAgICAgICBjb25zdCBjYWNoZVZhbHVlID0gdGhpcy5fY2FjaGVbaWRdID09PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy5fY2FjaGVbaWRdO1xuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyBzdGF0ZS5cbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQoey4uLm9sZFN0YXRlLCBbaWRdOiBjYWNoZVZhbHVlfSk7XG5cbiAgICAgICAgLy8gUmV0dXJuIHRoZSBzbGljZSBvZiB0aGUgc3RhdGUgdGhhdCB0aGUgZ3JvdXAgbmVlZHMuXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSQucGlwZShcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZVtpZF0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdW5yZWdpc3Rlckdyb3VwKGlkOiBzdHJpbmcpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBvbGQgZ3JvdXBzLlxuICAgICAgICBjb25zdCBvbGRTdGF0ZSA9IHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIHRoZSBuZXcgc3RhdGUgd2l0aG91dCB0aGUgaWQuXG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gT2JqZWN0LmtleXMob2xkU3RhdGUpLnJlZHVjZSgob2JqZWN0LCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkgIT09IGlkKSB7XG4gICAgICAgICAgICAgICAgb2JqZWN0W2tleV0gPSBvbGRTdGF0ZVtrZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgICAgfSwge30pO1xuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyBzdGF0ZS5cbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQobmV3U3RhdGUpO1xuICAgIH1cblxuICAgIHRvZ2dsZUdyb3VwKGlkOiBzdHJpbmcsIG5ld1ZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIC8vIEdldCB0aGUgb2xkIHN0YXRlLlxuICAgICAgICBjb25zdCBvbGRTdGF0ZSA9IHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuXG4gICAgICAgIC8vIENyZWF0ZSB0aGUgbmV3IHN0YXRlLlxuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHsuLi5vbGRTdGF0ZSwgW2lkXTogbmV3VmFsdWV9O1xuXG4gICAgICAgIC8vIFB1c2ggdGhlIG5ldyBzdGF0ZS5cbiAgICAgICAgdGhpcy5fc3RhdGUkLm5leHQobmV3U3RhdGUpO1xuXG4gICAgICAgIC8vIFNhdmUgaW4gdGhlIGNhY2hlLlxuICAgICAgICB0aGlzLl9zdG9yYWdlLnNldCh0aGlzLl9sb2NhbFN0b3JhZ2VUb2tlbiwgbmV3U3RhdGUpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMudmlzaWJpbGl0eUNoYW5nZXMuZ2V0VmFsdWUoKTtcbiAgICAgICAgdGhpcy52aXNpYmlsaXR5Q2hhbmdlcy5uZXh0KCFjdXJyZW50KTtcbiAgICB9XG5cbiAgICBvcGVuKCkge1xuICAgICAgICB0aGlzLnZpc2liaWxpdHlDaGFuZ2VzLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMudmlzaWJpbGl0eUNoYW5nZXMubmV4dChmYWxzZSk7XG4gICAgfVxuXG59XG4iLCI8IS0tXG4gICAgVGhlIG9wdGlvbmFsIGhlYWRlciBlbGVtZW50LlxuLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJoZWFkZXJcIj48L25nLWNvbnRlbnQ+XG5cbjwhLS1cbiAgICBUaGUgc2Nyb2xsIGFyZWEgdGhhdCBjb250YWlucyB0aGVcbiAgICBncm91cHMgaW4gdGhlIG5hdmlnYXRpb24uXG4tLT5cbjxkaXYgY2xhc3M9XCJiYi1kYXNoYm9hcmQtc2lkZWJhci1zY3JvbGxcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJiYi1kYXNoYm9hcmQtc2lkZWJhci1ncm91cFwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48IS0tXG4gICAgVGhlIG9wdGlvbmFsIGZvb3RlciBlbGVtZW50LlxuLS0+XG48bmctY29udGVudCBzZWxlY3Q9XCJmb290ZXJcIj48L25nLWNvbnRlbnQ+XG4iXX0=
|