@fundamental-ngx/core 0.65.0-rc.8 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +118 -39
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +166 -22
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +1 -4
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +21 -0
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +10 -6
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +63 -2
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +21 -36
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +22 -40
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +113 -13
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +373 -499
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-avatar-group.d.ts +52 -19
- package/types/fundamental-ngx-core-combobox.d.ts +44 -6
- package/types/fundamental-ngx-core-datetime-picker.d.ts +3 -1
- package/types/fundamental-ngx-core-list.d.ts +4 -1
- package/types/fundamental-ngx-core-menu.d.ts +8 -1
- package/types/fundamental-ngx-core-mobile-mode.d.ts +2 -0
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-popover.d.ts +11 -16
- package/types/fundamental-ngx-core-settings.d.ts +57 -5
- package/types/fundamental-ngx-core-table.d.ts +133 -164
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/upload-collection/upload-collection.component.ts","../../../../libs/core/upload-collection/upload-collection.module.ts","../../../../libs/core/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ButtonComponent, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","@if (!_editMode && allowFileNameEdit) {\n <button\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"('coreUploadCollection.menuEditAriaLabel' | fdTranslate)()\"\n ></button>\n}\n@if (!_editMode && allowFileDeletion) {\n <button\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"('coreUploadCollection.menuDeleteAriaLabel' | fdTranslate)()\"\n ></button>\n}\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"('coreUploadCollection.menuOkAriaLabel' | fdTranslate)()\"\n>\n {{ ('coreUploadCollection.menuOkText' | fdTranslate)() }}\n</button>\n@if (_editMode) {\n <button\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"('coreUploadCollection.menuCancelAriaLabel' | fdTranslate)()\"\n >\n {{ ('coreUploadCollection.menuCancelText' | fdTranslate)() }}\n </button>\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FormControlComponent } from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormControlComponent, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","@if (_editMode) {\n <input\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"('coreUploadCollection.formItemPlaceholder' | fdTranslate)()\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n />\n}\n@if (_editMode) {\n <span class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n}\n","import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList,\n inject\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n readonly elRef = inject(ElementRef);\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n inject\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\nimport { Subscription } from 'rxjs';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit, HasElementRef {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.setDisabled(event === '');\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListComponent } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrl: './upload-collection.component.scss',\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ListComponent]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import { NgModule } from '@angular/core';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/upload-collection/upload-collection.component.ts","../../../../libs/core/upload-collection/upload-collection.module.ts","../../../../libs/core/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ButtonComponent, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","@if (!_editMode && allowFileNameEdit) {\n <button\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"('coreUploadCollection.menuEditAriaLabel' | fdTranslate)()\"\n ></button>\n}\n@if (!_editMode && allowFileDeletion) {\n <button\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"('coreUploadCollection.menuDeleteAriaLabel' | fdTranslate)()\"\n ></button>\n}\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"('coreUploadCollection.menuOkAriaLabel' | fdTranslate)()\"\n>\n {{ ('coreUploadCollection.menuOkText' | fdTranslate)() }}\n</button>\n@if (_editMode) {\n <button\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"('coreUploadCollection.menuCancelAriaLabel' | fdTranslate)()\"\n >\n {{ ('coreUploadCollection.menuCancelText' | fdTranslate)() }}\n </button>\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FormControlComponent } from '@fundamental-ngx/core/form';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FormControlComponent, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","@if (_editMode) {\n <input\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"('coreUploadCollection.formItemPlaceholder' | fdTranslate)()\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n />\n}\n@if (_editMode) {\n <span class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n}\n","import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList,\n inject\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n readonly elRef = inject(ElementRef);\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output,\n inject\n} from '@angular/core';\nimport { HasElementRef } from '@fundamental-ngx/cdk/utils';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\nimport { Subscription } from 'rxjs';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit, HasElementRef {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.setDisabled(event === '');\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListComponent } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrl: './upload-collection.component.scss',\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ListComponent]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import { NgModule } from '@angular/core';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -147,7 +147,7 @@ class VerticalNavigationComponent {
|
|
|
147
147
|
.subscribe(({ index, updateOnly }) => this.setItemActive(index, updateOnly));
|
|
148
148
|
}
|
|
149
149
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VerticalNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
150
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VerticalNavigationComponent, isStandalone: true, selector: "fd-vertical-navigation", inputs: { condensed: "condensed" }, host: { listeners: { "keydown": "keyDownHandler($event)" } }, queries: [{ propertyName: "_navigationItems", predicate: ListNavigationItemComponent, descendants: true }, { propertyName: "_mainItems", predicate: ListNavigationItemComponent }], ngImport: i0, template: "<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list role=\"tree\">\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n", styles: [".fd-vertical-nav{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapList_AlternatingBackground);-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;text-shadow:var(--fdVerticalNav_Text_Shadow);width:15rem}.fd-vertical-nav:after,.fd-vertical-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after,.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{background-color:var(--sapSelectedColor);border-radius:var(--sapField_BorderCornerRadius);color:var(--sapSelectedColor);content:\"\";display:inline-block;height:var(--fdVerticalNav_Item_Indicator_Height);position:absolute;right:0;top:var(--fdVerticalNav_Item_Indicator_Top);width:.1875rem;-webkit-margin-end:var(--fdVerticalNavigation_Indicator_Spacing);margin-inline-end:var(--fdVerticalNavigation_Indicator_Spacing)}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator[dir=rtl]:after,[dir=rtl] .fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{left:0;right:unset}.fd-vertical-nav .fd-list__navigation-item{background:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.75rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem 1rem;position:relative}.fd-vertical-nav .fd-list__navigation-item:after,.fd-vertical-nav .fd-list__navigation-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated.is-focus,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated:focus{outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item .fd-list{display:none}.fd-vertical-nav .fd-list__navigation-item--expandable{margin-block:var(--fdVerticalNav_Item_Expandable_Margin_Block);margin-inline:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded{border-radius:var(--fdVerticalNav_Item_Expanded_Border_Radius);-webkit-box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);height:100%;margin-inline:var(--fdVerticalNav_Item_Expanded_Margin) var(--fdVerticalNav_Item_Expanded_Margin);overflow:hidden;-webkit-padding-start:var(--fdVerticalNav_Item_Expanded_Padding_Left);padding-inline-start:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded.is-hover .fd-list,.fd-vertical-nav .fd-list__navigation-item.is-expanded:hover .fd-list{background-color:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item{border-bottom:none;width:100%}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{-webkit-margin-end:0;margin-inline-end:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-start:var(--fdVerticalNav_Item_Text_No_Icon_Margin);color:var(--fdVerticalNav_Item_Child_Text_Color);font-size:var(--sapFontSize);line-height:2.75rem;margin-inline-start:var(--fdVerticalNav_Item_Text_No_Icon_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:after,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{-webkit-padding-start:0;padding-inline-start:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{display:block;margin-inline:var(--fdVerticalNav_Expanded_Item_Margin_Left) -1rem;width:auto}.fd-vertical-nav .fd-list__navigation-item.is-expanded>.fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item .fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item--condensed{padding-inline:0;position:relative;width:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--second-level{background:var(--sapList_AlternatingBackground);display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-text{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{height:2.75rem;line-height:2.75rem;margin-inline:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded{height:2.75rem;margin-inline:0;overflow:visible;visibility:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item{margin-inline:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:.875rem;padding-inline-start:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{display:block;overflow:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list{border-top-left-radius:0;border-top-right-radius:0;display:block;margin-block:0;margin-inline:auto;width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{-webkit-padding-start:0;padding-inline-start:0;-webkit-margin-start:0;margin-inline-start:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-right-radius:0;height:100%;left:.325rem;top:0;width:14.325rem;z-index:3}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-left-radius:0;border-bottom-right-radius:var(--sapElement_BorderCornerRadius);left:unset;right:.325rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{border-top-left-radius:0;border-top-right-radius:0;left:3.25rem;width:11.4rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{left:auto;right:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{display:inline-block}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-text{display:inline}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-arrow{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow{width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus{z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus:after,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus:after{border-radius:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{content:\"\";display:inline-block;min-height:0;min-width:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem;-webkit-margin-after:.5625rem;border-color:transparent var(--sapContent_NonInteractiveIconColor) transparent transparent;border-style:solid;border-width:.25rem .25rem 0 0;bottom:0;margin-block-end:.5625rem;position:absolute;right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow[dir=rtl]:before,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.fd-vertical-nav .fd-list__navigation-item-icon{color:var(--fdVerticalNav_Icon_Color);font-family:SAP-icons;font-size:1rem;height:2.75rem;line-height:2.75rem;vertical-align:top;width:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.fd-vertical-nav .fd-list__navigation-item-text{-webkit-padding-start:.25rem;color:var(--sapList_TextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontLargeSize);line-height:2.75rem;max-width:9rem;overflow:hidden;padding-inline-start:.25rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-family:SAP-icons;font-size:var(--sapFontSize);font-size:1rem;font-weight:400;forced-color-adjust:none;height:2.75rem;line-height:normal;line-height:2.75rem;margin-block:0;margin-inline:0;outline:0;padding-block:0;padding-inline:0;position:absolute;right:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;width:2.75rem}.fd-vertical-nav .fd-list__navigation-item-arrow:after,.fd-vertical-nav .fd-list__navigation-item-arrow:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item-arrow::-moz-focus-inner{border:0}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{left:0;right:auto}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fd-vertical-nav .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item-arrow:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover,.fd-vertical-nav .fd-list__navigation-item--condensed:hover,.fd-vertical-nav .fd-list__navigation-item.is-hover,.fd-vertical-nav .fd-list__navigation-item:hover{background:var(--sapList_Hover_Background)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed:hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item:hover .fd-list__navigation-item-icon{color:var(--sapList_TextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true],.fd-vertical-nav .fd-list__navigation-item.is-pressed,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true]{background:var(--sapList_Active_Background);color:var(--sapContent_ContrastTextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-icon{color:var(--sapContent_ContrastIconColor)}.fd-vertical-nav .fd-list__navigation-item--condensed:not(:last-child),.fd-vertical-nav .fd-list__navigation-item:not(:last-child){border-bottom:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{-webkit-margin-start:var(--fdVerticalNav_Item_Text_Spacing);margin-inline-start:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav--overflow{overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-vertical-nav--overflow.is-focus,.fd-vertical-nav--overflow:focus{outline:none;z-index:5}.fd-vertical-nav--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-vertical-nav--overflow::-webkit-scrollbar-corner,.fd-vertical-nav--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-vertical-nav--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-vertical-nav--overflow::-webkit-scrollbar-thumb:active,.fd-vertical-nav--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-vertical-nav--condensed{width:3.25rem}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section .fd-list__navigation-item-text{display:none}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section:before{width:calc(100% - 1rem)}.fd-vertical-nav__main-navigation .fd-list__navigation-item--condensed:first-child,.fd-vertical-nav__main-navigation .fd-list__navigation-item:first-child{border-top:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav__main-navigation,.fd-vertical-nav__utility-section{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-vertical-nav__main-navigation:after,.fd-vertical-nav__main-navigation:before,.fd-vertical-nav__utility-section:after,.fd-vertical-nav__utility-section:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav__utility-section{-webkit-margin-before:auto;margin-block-start:auto}.fd-vertical-nav__utility-section:before{background-color:var(--sapAccentColor6);content:\" \";display:block;height:.0625rem;margin-block:.25rem;margin-inline:auto;width:calc(100% - 2rem)}.fd-vertical-nav .fd-vertical-nav__group-header{background:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-popover__body{--fdPopover_Offset: 100%;max-width:unset;max-height:unset}.fd-vertical-nav .fd-popover__body.fd-list__navigation-item-popover--first-level{z-index:1001}.fd-vertical-nav .fd-list__navigation-item:focus{outline:none}.fd-vertical-nav .fd-list__navigation-item:focus:before{content:\"\";display:block;position:absolute;outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);top:0;left:0;right:0;height:2.75rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/vertical-nav.css:\n (*!\n * Fundamental Library Styles v0.41.9\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "component", type: VerticalNavigationMainNavigationComponent, selector: "fd-vertical-navigation-main-navigation" }, { kind: "component", type: ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter", "searchResultsList"], outputs: ["focusEscapeList"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: VerticalNavigationComponent, isStandalone: true, selector: "fd-vertical-navigation", inputs: { condensed: "condensed" }, host: { listeners: { "keydown": "keyDownHandler($event)" } }, queries: [{ propertyName: "_navigationItems", predicate: ListNavigationItemComponent, descendants: true }, { propertyName: "_mainItems", predicate: ListNavigationItemComponent }], ngImport: i0, template: "<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list role=\"tree\">\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n", styles: [".fd-vertical-nav{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;background-color:var(--sapList_AlternatingBackground);-webkit-box-shadow:var(--sapContent_Shadow0);box-shadow:var(--sapContent_Shadow0);height:100%;justify-content:space-between;text-shadow:var(--fdVerticalNav_Text_Shadow);width:15rem}.fd-vertical-nav:after,.fd-vertical-nav:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after,.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{background-color:var(--sapSelectedColor);border-radius:var(--sapField_BorderCornerRadius);color:var(--sapSelectedColor);content:\"\";display:inline-block;height:var(--fdVerticalNav_Item_Indicator_Height);position:absolute;right:0;top:var(--fdVerticalNav_Item_Indicator_Top);width:.1875rem;-webkit-margin-end:var(--fdVerticalNavigation_Indicator_Spacing);margin-inline-end:var(--fdVerticalNavigation_Indicator_Spacing)}.fd-vertical-nav .fd-list .fd-list__navigation-item-indicator[dir=rtl]:after,[dir=rtl] .fd-vertical-nav .fd-list .fd-list__navigation-item-indicator:after{left:0;right:unset}.fd-vertical-nav .fd-list__navigation-item{background:transparent;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2.75rem;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;padding-inline:.5rem 1rem;position:relative}.fd-vertical-nav .fd-list__navigation-item:after,.fd-vertical-nav .fd-list__navigation-item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-focus,.fd-vertical-nav .fd-list__navigation-item:focus{outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated.is-focus,.fd-vertical-nav .fd-list__navigation-item.fd-list__navigation-item--indicated:focus{outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item .fd-list{display:none}.fd-vertical-nav .fd-list__navigation-item--expandable{margin-block:var(--fdVerticalNav_Item_Expandable_Margin_Block);margin-inline:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded{border-radius:var(--fdVerticalNav_Item_Expanded_Border_Radius);-webkit-box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);box-shadow:var(--fdVerticalNav_Item_Expanded_Box_Shadow);height:100%;margin-inline:var(--fdVerticalNav_Item_Expanded_Margin) var(--fdVerticalNav_Item_Expanded_Margin);overflow:hidden;-webkit-padding-start:var(--fdVerticalNav_Item_Expanded_Padding_Left);padding-inline-start:var(--fdVerticalNav_Item_Expanded_Padding_Left)}.fd-vertical-nav .fd-list__navigation-item.is-expanded.is-hover .fd-list,.fd-vertical-nav .fd-list__navigation-item.is-expanded:hover .fd-list{background-color:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item{border-bottom:none;width:100%}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item.fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-indicator:after{-webkit-margin-end:0;margin-inline-end:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-margin-start:var(--fdVerticalNav_Item_Text_No_Icon_Margin);color:var(--fdVerticalNav_Item_Child_Text_Color);font-size:var(--sapFontSize);line-height:2.75rem;margin-inline-start:var(--fdVerticalNav_Item_Text_No_Icon_Margin)}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:after,.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item .fd-list__navigation-item-text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-text{-webkit-padding-start:0;padding-inline-start:0}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list__navigation-item-icon{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.fd-vertical-nav .fd-list__navigation-item.is-expanded .fd-list{display:block;margin-inline:var(--fdVerticalNav_Expanded_Item_Margin_Left) -1rem;width:auto}.fd-vertical-nav .fd-list__navigation-item.is-expanded>.fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item .fd-list__navigation-item--indicated .fd-list__navigation-item-text{color:var(--sapSelectedColor)}.fd-vertical-nav .fd-list__navigation-item--condensed{padding-inline:0;position:relative;width:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-popover--second-level{background:var(--sapList_AlternatingBackground);display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-text{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{height:2.75rem;line-height:2.75rem;margin-inline:.5rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded{height:2.75rem;margin-inline:0;overflow:visible;visibility:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item{margin-inline:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item--condensed .fd-list__navigation-item-icon{-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:.875rem;padding-inline-start:.875rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{display:block;overflow:hidden}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list{border-top-left-radius:0;border-top-right-radius:0;display:block;margin-block:0;margin-inline:auto;width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level .fd-list__navigation-item-text,.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item-text{-webkit-padding-start:0;padding-inline-start:0;-webkit-margin-start:0;margin-inline-start:0}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-right-radius:0;height:100%;left:.325rem;top:0;width:14.325rem;z-index:3}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--first-level{border-bottom-left-radius:0;border-bottom-right-radius:var(--sapElement_BorderCornerRadius);left:unset;right:.325rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{border-top-left-radius:0;border-top-right-radius:0;left:3.25rem;width:11.4rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level{left:auto;right:3.25rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-text{-webkit-margin-start:1rem;margin-inline-start:1rem}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-popover--second-level .fd-list__navigation-item .fd-list__navigation-item-indicator:after{display:inline-block}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-text{display:inline}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-arrow{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed.is-expanded .fd-list__navigation-item-indicator:after{display:none}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow{width:100%}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus{z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow.is-focus:after,.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:focus:after{border-radius:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{content:\"\";display:inline-block;min-height:0;min-width:0;-webkit-margin-end:.75rem;margin-inline-end:.75rem;-webkit-margin-after:.5625rem;border-color:transparent var(--sapContent_NonInteractiveIconColor) transparent transparent;border-style:solid;border-width:.25rem .25rem 0 0;bottom:0;margin-block-end:.5625rem;position:absolute;right:0}.fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow[dir=rtl]:before,[dir=rtl] .fd-vertical-nav .fd-list__navigation-item--condensed .fd-list__navigation-item-arrow:before{-webkit-margin-start:.75rem;margin-inline-start:.75rem}.fd-vertical-nav .fd-list__navigation-item-icon{color:var(--fdVerticalNav_Icon_Color);font-family:SAP-icons;font-size:1rem;height:2.75rem;line-height:2.75rem;vertical-align:top;width:2.25rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.fd-vertical-nav .fd-list__navigation-item-text{-webkit-padding-start:.25rem;color:var(--sapList_TextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontLargeSize);line-height:2.75rem;max-width:9rem;overflow:hidden;padding-inline-start:.25rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;background-image:none;border:0;border-radius:var(--sapButton_BorderCornerRadius);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_NonInteractiveIconColor);cursor:pointer;display:inline-block;font-family:var(--sapFontFamily);font-family:SAP-icons;font-size:var(--sapFontSize);font-size:1rem;font-weight:400;forced-color-adjust:none;height:2.75rem;line-height:normal;line-height:2.75rem;margin-block:0;margin-inline:0;outline:0;padding-block:0;padding-inline:0;position:absolute;right:0;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap;width:2.75rem}.fd-vertical-nav .fd-list__navigation-item-arrow:after,.fd-vertical-nav .fd-list__navigation-item-arrow:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav .fd-list__navigation-item-arrow::-moz-focus-inner{border:0}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{left:0;right:auto}.fd-vertical-nav .fd-list__navigation-item-arrow[dir=rtl],[dir=rtl] .fd-vertical-nav .fd-list__navigation-item-arrow{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fd-vertical-nav .fd-list__navigation-item-arrow.is-focus,.fd-vertical-nav .fd-list__navigation-item-arrow:focus{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor);outline-offset:var(--fdVerticalNav_Item_Indicated_Outline_Offset);z-index:5}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover,.fd-vertical-nav .fd-list__navigation-item--condensed:hover,.fd-vertical-nav .fd-list__navigation-item.is-hover,.fd-vertical-nav .fd-list__navigation-item:hover{background:var(--sapList_Hover_Background)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed:hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-hover .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item:hover .fd-list__navigation-item-icon{color:var(--sapList_TextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true],.fd-vertical-nav .fd-list__navigation-item.is-pressed,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true]{background:var(--sapList_Active_Background);color:var(--sapContent_ContrastTextColor)}.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item--condensed[aria-pressed=true] .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item.is-pressed .fd-list__navigation-item-icon,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-arrow,.fd-vertical-nav .fd-list__navigation-item[aria-pressed=true] .fd-list__navigation-item-icon{color:var(--sapContent_ContrastIconColor)}.fd-vertical-nav .fd-list__navigation-item--condensed:not(:last-child),.fd-vertical-nav .fd-list__navigation-item:not(:last-child){border-bottom:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav .fd-list__navigation-item-icon+.fd-list__navigation-item-text+.fd-list__navigation-item-arrow+.fd-list .fd-list__navigation-item-text{-webkit-margin-start:var(--fdVerticalNav_Item_Text_Spacing);margin-inline-start:var(--fdVerticalNav_Item_Text_Spacing)}.fd-vertical-nav--overflow{overflow-y:scroll;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-vertical-nav--overflow.is-focus,.fd-vertical-nav--overflow:focus{outline:none;z-index:5}.fd-vertical-nav--overflow::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-vertical-nav--overflow::-webkit-scrollbar-corner,.fd-vertical-nav--overflow::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-vertical-nav--overflow::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-vertical-nav--overflow::-webkit-scrollbar-thumb:active,.fd-vertical-nav--overflow::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-vertical-nav--condensed{width:3.25rem}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section .fd-list__navigation-item-text{display:none}.fd-vertical-nav--condensed .fd-vertical-nav__utility-section:before{width:calc(100% - 1rem)}.fd-vertical-nav__main-navigation .fd-list__navigation-item--condensed:first-child,.fd-vertical-nav__main-navigation .fd-list__navigation-item:first-child{border-top:var(--fdVerticalNav_Item_Border_Top_Bottom)}.fd-vertical-nav__main-navigation,.fd-vertical-nav__utility-section{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-vertical-nav__main-navigation:after,.fd-vertical-nav__main-navigation:before,.fd-vertical-nav__utility-section:after,.fd-vertical-nav__utility-section:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-vertical-nav__utility-section{-webkit-margin-before:auto;margin-block-start:auto}.fd-vertical-nav__utility-section:before{background-color:var(--sapAccentColor6);content:\" \";display:block;height:.0625rem;margin-block:.25rem;margin-inline:auto;width:calc(100% - 2rem)}.fd-vertical-nav .fd-vertical-nav__group-header{background:var(--sapList_AlternatingBackground)}.fd-vertical-nav .fd-popover__body{--fdPopover_Offset: 100%;max-width:unset;max-height:unset}.fd-vertical-nav .fd-popover__body.fd-list__navigation-item-popover--first-level{z-index:1001}.fd-vertical-nav .fd-list__navigation-item:focus{outline:none}.fd-vertical-nav .fd-list__navigation-item:focus:before{content:\"\";display:block;position:absolute;outline-offset:var(--fdVerticalNav_Item_Focus_Outline_Offset);outline-color:var(--sapContent_FocusColor);outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);top:0;left:0;right:0;height:2.75rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/vertical-nav.css:\n (*!\n * Fundamental Library Styles v0.41.9\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "component", type: VerticalNavigationMainNavigationComponent, selector: "fd-vertical-navigation-main-navigation" }, { kind: "component", type: ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "subline", "theme", "unreadIndicator", "role", "settingsList", "settingsListFooter", "notification", "searchResultsList"], outputs: ["focusEscapeList"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
151
151
|
}
|
|
152
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: VerticalNavigationComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-vertical-navigation.mjs","sources":["../../../../libs/core/vertical-navigation/vertical-navigation-group-header.directive.ts","../../../../libs/core/vertical-navigation/vertical-navigation-main-navigation.component.ts","../../../../libs/core/vertical-navigation/vertical-navigation.component.ts","../../../../libs/core/vertical-navigation/vertical-navigation.component.html","../../../../libs/core/vertical-navigation/vertical-navigation.module.ts","../../../../libs/core/vertical-navigation/fundamental-ngx-core-vertical-navigation.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdVerticalNavigationGroupHeader], [fd-vertical-navigation-group-header]',\n standalone: true\n})\nexport class VerticalNavigationGroupHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-vertical-nav__group-header')\n fdVerticalNavigationGroupHeaderClass = true;\n}\n","import { ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { FD_LIST_COMPONENT, ListComponent } from '@fundamental-ngx/core/list';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-vertical-navigation-main-navigation',\n template: `<nav\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n class=\"fd-vertical-nav__main-navigation\"\n >\n <ng-content></ng-content>\n </nav>`,\n styleUrl: './vertical-navigation.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FdTranslatePipe]\n})\nexport class VerticalNavigationMainNavigationComponent {\n /** @hidden */\n @ContentChild(FD_LIST_COMPONENT)\n _list: ListComponent;\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { ListComponent, ListNavigationItemComponent } from '@fundamental-ngx/core/list';\nimport { Subject, delay, map, merge, startWith, takeUntil } from 'rxjs';\nimport { VerticalNavigationMainNavigationComponent } from './vertical-navigation-main-navigation.component';\n\n/**\n * @deprecated use the (btp)vertical navigation component instead.\n * The side-navigation is a wrapping component representing\n * a left navigation that can always display or expand/collapse using the menu icon within the global navigation.\n */\n@Component({\n selector: 'fd-vertical-navigation',\n templateUrl: './vertical-navigation.component.html',\n styleUrl: './vertical-navigation.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [VerticalNavigationMainNavigationComponent, ListComponent]\n})\nexport class VerticalNavigationComponent implements AfterContentInit, OnDestroy {\n /** Whether or not this component is to be shown in 'condensed' mode. */\n @Input()\n set condensed(value: boolean) {\n this._condensed.set(value);\n }\n\n get condensed(): boolean {\n return this._condensed();\n }\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent, { descendants: true })\n private readonly _navigationItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden\n * Querylist of list-items in main navigation.\n */\n @ContentChildren(ListNavigationItemComponent)\n private set _mainItems(items: QueryList<ListNavigationItemComponent>) {\n this._mainNavItems.set(items?.toArray() ?? []);\n }\n\n /** @hidden */\n private _keyManager: FocusKeyManager<ListNavigationItemComponent>;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _condensed = signal(false);\n\n /** @hidden */\n private readonly _contentInited = signal(false);\n\n /** @hidden */\n private readonly _mainNavItems = signal<ListNavigationItemComponent[]>([]);\n\n /** @hidden */\n constructor() {\n effect(() => {\n if (!this._contentInited()) {\n return;\n }\n\n const isCondensed = this._condensed();\n\n this._mainNavItems().forEach((item) => {\n item._condensed.set(isCondensed);\n });\n });\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n this._keyManager.onKeydown(event);\n event.stopPropagation();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._contentInited.set(true);\n\n this._keyManager?.destroy();\n this._keyManager = new FocusKeyManager(this._navigationItems)\n .withHomeAndEnd()\n .skipPredicate((item) => !item._isItemVisible || (item._condensed() && item.expanded));\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._keyManager?.destroy();\n this._onRefresh$.next();\n this._onRefresh$.complete();\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number, updateOnly = false): void {\n if (updateOnly) {\n this._keyManager.updateActiveItem(index);\n } else {\n this._keyManager.setActiveItem(index);\n }\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._navigationItems.changes\n .pipe(delay(0), startWith(0), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._listenOnItemsClick();\n setTimeout(() => {\n // using setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n this._navigationItems.forEach((navItem, index) => {\n index !== 0 && navItem._tabIndex.set(-1);\n });\n });\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all the streams, from before */\n this._onRefresh$.next();\n\n /** Merge refresh/destroy observables */\n const completion$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));\n const interactionChangesIndexes = this._navigationItems.map((item, index) =>\n merge(\n item._clicked$.pipe(map(() => ({ index, updateOnly: false }))),\n item._focused$.pipe(map((focusedOn) => ({ index, updateOnly: focusedOn })))\n )\n );\n merge(...interactionChangesIndexes)\n .pipe(takeUntil(completion$))\n .subscribe(({ index, updateOnly }) => this.setItemActive(index, updateOnly));\n }\n}\n","<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list role=\"tree\">\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n","import { NgModule } from '@angular/core';\nimport { VerticalNavigationGroupHeaderDirective } from './vertical-navigation-group-header.directive';\nimport { VerticalNavigationMainNavigationComponent } from './vertical-navigation-main-navigation.component';\nimport { VerticalNavigationComponent } from './vertical-navigation.component';\n\nconst components = [\n VerticalNavigationComponent,\n VerticalNavigationMainNavigationComponent,\n VerticalNavigationGroupHeaderDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of `VerticalNavigationComponent`, `VerticalNavigationMainNavigationComponent`, `VerticalNavigationGroupHeaderDirective`\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class VerticalNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-vertical-navigation.mjs","sources":["../../../../libs/core/vertical-navigation/vertical-navigation-group-header.directive.ts","../../../../libs/core/vertical-navigation/vertical-navigation-main-navigation.component.ts","../../../../libs/core/vertical-navigation/vertical-navigation.component.ts","../../../../libs/core/vertical-navigation/vertical-navigation.component.html","../../../../libs/core/vertical-navigation/vertical-navigation.module.ts","../../../../libs/core/vertical-navigation/fundamental-ngx-core-vertical-navigation.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdVerticalNavigationGroupHeader], [fd-vertical-navigation-group-header]',\n standalone: true\n})\nexport class VerticalNavigationGroupHeaderDirective {\n /** @hidden */\n @HostBinding('class.fd-vertical-nav__group-header')\n fdVerticalNavigationGroupHeaderClass = true;\n}\n","import { ChangeDetectionStrategy, Component, ContentChild, ViewEncapsulation } from '@angular/core';\nimport { FD_LIST_COMPONENT, ListComponent } from '@fundamental-ngx/core/list';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n@Component({\n selector: 'fd-vertical-navigation-main-navigation',\n template: `<nav\n [attr.aria-label]=\"('coreNavigation.mainNavigation' | fdTranslate)()\"\n class=\"fd-vertical-nav__main-navigation\"\n >\n <ng-content></ng-content>\n </nav>`,\n styleUrl: './vertical-navigation.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FdTranslatePipe]\n})\nexport class VerticalNavigationMainNavigationComponent {\n /** @hidden */\n @ContentChild(FD_LIST_COMPONENT)\n _list: ListComponent;\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation,\n effect,\n inject,\n signal\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { ListComponent, ListNavigationItemComponent } from '@fundamental-ngx/core/list';\nimport { Subject, delay, map, merge, startWith, takeUntil } from 'rxjs';\nimport { VerticalNavigationMainNavigationComponent } from './vertical-navigation-main-navigation.component';\n\n/**\n * @deprecated use the (btp)vertical navigation component instead.\n * The side-navigation is a wrapping component representing\n * a left navigation that can always display or expand/collapse using the menu icon within the global navigation.\n */\n@Component({\n selector: 'fd-vertical-navigation',\n templateUrl: './vertical-navigation.component.html',\n styleUrl: './vertical-navigation.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [VerticalNavigationMainNavigationComponent, ListComponent]\n})\nexport class VerticalNavigationComponent implements AfterContentInit, OnDestroy {\n /** Whether or not this component is to be shown in 'condensed' mode. */\n @Input()\n set condensed(value: boolean) {\n this._condensed.set(value);\n }\n\n get condensed(): boolean {\n return this._condensed();\n }\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent, { descendants: true })\n private readonly _navigationItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden\n * Querylist of list-items in main navigation.\n */\n @ContentChildren(ListNavigationItemComponent)\n private set _mainItems(items: QueryList<ListNavigationItemComponent>) {\n this._mainNavItems.set(items?.toArray() ?? []);\n }\n\n /** @hidden */\n private _keyManager: FocusKeyManager<ListNavigationItemComponent>;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _condensed = signal(false);\n\n /** @hidden */\n private readonly _contentInited = signal(false);\n\n /** @hidden */\n private readonly _mainNavItems = signal<ListNavigationItemComponent[]>([]);\n\n /** @hidden */\n constructor() {\n effect(() => {\n if (!this._contentInited()) {\n return;\n }\n\n const isCondensed = this._condensed();\n\n this._mainNavItems().forEach((item) => {\n item._condensed.set(isCondensed);\n });\n });\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n this._keyManager.onKeydown(event);\n event.stopPropagation();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._contentInited.set(true);\n\n this._keyManager?.destroy();\n this._keyManager = new FocusKeyManager(this._navigationItems)\n .withHomeAndEnd()\n .skipPredicate((item) => !item._isItemVisible || (item._condensed() && item.expanded));\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._keyManager?.destroy();\n this._onRefresh$.next();\n this._onRefresh$.complete();\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number, updateOnly = false): void {\n if (updateOnly) {\n this._keyManager.updateActiveItem(index);\n } else {\n this._keyManager.setActiveItem(index);\n }\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._navigationItems.changes\n .pipe(delay(0), startWith(0), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._listenOnItemsClick();\n setTimeout(() => {\n // using setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n this._navigationItems.forEach((navItem, index) => {\n index !== 0 && navItem._tabIndex.set(-1);\n });\n });\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all the streams, from before */\n this._onRefresh$.next();\n\n /** Merge refresh/destroy observables */\n const completion$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));\n const interactionChangesIndexes = this._navigationItems.map((item, index) =>\n merge(\n item._clicked$.pipe(map(() => ({ index, updateOnly: false }))),\n item._focused$.pipe(map((focusedOn) => ({ index, updateOnly: focusedOn })))\n )\n );\n merge(...interactionChangesIndexes)\n .pipe(takeUntil(completion$))\n .subscribe(({ index, updateOnly }) => this.setItemActive(index, updateOnly));\n }\n}\n","<div class=\"fd-vertical-nav\" [class.fd-vertical-nav--condensed]=\"condensed\">\n <fd-vertical-navigation-main-navigation>\n <ul fd-list role=\"tree\">\n <ng-content></ng-content>\n </ul>\n </fd-vertical-navigation-main-navigation>\n</div>\n","import { NgModule } from '@angular/core';\nimport { VerticalNavigationGroupHeaderDirective } from './vertical-navigation-group-header.directive';\nimport { VerticalNavigationMainNavigationComponent } from './vertical-navigation-main-navigation.component';\nimport { VerticalNavigationComponent } from './vertical-navigation.component';\n\nconst components = [\n VerticalNavigationComponent,\n VerticalNavigationMainNavigationComponent,\n VerticalNavigationGroupHeaderDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of `VerticalNavigationComponent`, `VerticalNavigationMainNavigationComponent`, `VerticalNavigationGroupHeaderDirective`\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class VerticalNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fundamental-ngx/core",
|
|
3
|
-
"version": "0.65.0
|
|
3
|
+
"version": "0.65.0",
|
|
4
4
|
"schematics": "./schematics/collection.json",
|
|
5
5
|
"ng-update": {
|
|
6
6
|
"packageGroupName": "@fundamental-ngx/core",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"@angular/forms": "^22.0.0",
|
|
38
38
|
"@angular/platform-browser": "^22.0.0",
|
|
39
39
|
"@angular/router": "^22.0.0",
|
|
40
|
-
"@fundamental-ngx/cdk": "0.65.0
|
|
41
|
-
"@fundamental-ngx/i18n": "0.65.0
|
|
40
|
+
"@fundamental-ngx/cdk": "0.65.0",
|
|
41
|
+
"@fundamental-ngx/i18n": "0.65.0",
|
|
42
42
|
"@sap-theming/theming-base-content": "^11.36.0",
|
|
43
43
|
"fundamental-styles": "0.41.9",
|
|
44
44
|
"rxjs": "^7.8.0"
|
package/schematics/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, OnInit, AfterViewInit, OnChanges, QueryList, ElementRef,
|
|
2
|
+
import { TemplateRef, OnInit, Signal, AfterViewInit, OnChanges, QueryList, ElementRef, InjectionToken } from '@angular/core';
|
|
3
3
|
import { Direction } from '@angular/cdk/bidi';
|
|
4
4
|
import { FocusableItem, Nullable, Size, HasElementRef, CssClassBuilder, FocusableListItemFocusedEvent, FocusableItemDirective, ColorAccent } from '@fundamental-ngx/cdk/utils';
|
|
5
|
+
import { Placement } from '@fundamental-ngx/core/shared';
|
|
5
6
|
import { Observable } from 'rxjs';
|
|
6
7
|
import * as i7 from '@angular/cdk/portal';
|
|
7
8
|
|
|
@@ -129,7 +130,7 @@ type AvatarGroupOrientation = 'horizontal' | 'vertical';
|
|
|
129
130
|
type AvatarGroupSize = Size;
|
|
130
131
|
interface AvatarGroupHostConfig {
|
|
131
132
|
type: AvatarGroupType;
|
|
132
|
-
orientation: AvatarGroupOrientation
|
|
133
|
+
orientation: Signal<AvatarGroupOrientation>;
|
|
133
134
|
size: AvatarGroupSize;
|
|
134
135
|
}
|
|
135
136
|
|
|
@@ -143,11 +144,6 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
|
|
|
143
144
|
* Options include 'individual' and 'group'.
|
|
144
145
|
**/
|
|
145
146
|
type: AvatarGroupHostConfig['type'];
|
|
146
|
-
/**
|
|
147
|
-
* The orientation of the avatar group.
|
|
148
|
-
* Options include 'horizontal' and 'vertical'.
|
|
149
|
-
**/
|
|
150
|
-
orientation: AvatarGroupHostConfig['orientation'];
|
|
151
147
|
/**
|
|
152
148
|
* The size of the avatar group.
|
|
153
149
|
* Options include 'xs', 's', 'm', 'l', and 'xl'.
|
|
@@ -162,6 +158,16 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
|
|
|
162
158
|
* The portals to be rendered in the avatar group.
|
|
163
159
|
**/
|
|
164
160
|
_portals: QueryList<AvatarGroupItemRendererDirective>;
|
|
161
|
+
/**
|
|
162
|
+
* Maximum number of avatars to show before the overflow button.
|
|
163
|
+
* When set, overrides the width-based visibility calculation.
|
|
164
|
+
**/
|
|
165
|
+
readonly maxVisibleItems: i0.InputSignal<number | null>;
|
|
166
|
+
/**
|
|
167
|
+
* The orientation of the avatar group.
|
|
168
|
+
* Options include 'horizontal' and 'vertical'.
|
|
169
|
+
**/
|
|
170
|
+
readonly orientation: i0.InputSignal<AvatarGroupOrientation>;
|
|
165
171
|
/** @hidden */
|
|
166
172
|
_resizeEmitter: Observable<ResizeObserverEntry[]>;
|
|
167
173
|
/** The reference to the host element */
|
|
@@ -169,23 +175,27 @@ declare class AvatarGroupHostComponent implements OnInit, AfterViewInit, OnChang
|
|
|
169
175
|
/** @hidden */
|
|
170
176
|
_hiddenItems: i0.WritableSignal<AvatarGroupItemRendererDirective[]>;
|
|
171
177
|
/** @hidden */
|
|
178
|
+
private readonly _maxVisibleItems$;
|
|
179
|
+
/** @hidden */
|
|
172
180
|
private readonly _destroyRef;
|
|
173
181
|
/** @hidden */
|
|
174
182
|
private _cdr;
|
|
175
183
|
/** @hidden */
|
|
176
|
-
private _onChanges$;
|
|
177
|
-
/** @hidden */
|
|
178
184
|
buildComponentCssClass(): string[];
|
|
179
185
|
/** @hidden */
|
|
180
186
|
ngOnInit(): void;
|
|
181
187
|
/** @hidden */
|
|
182
|
-
ngOnChanges(
|
|
188
|
+
ngOnChanges(): void;
|
|
183
189
|
/** @hidden */
|
|
184
190
|
ngAfterViewInit(): void;
|
|
185
191
|
/** @hidden */
|
|
186
192
|
private _calculateVisibility;
|
|
193
|
+
/** @hidden */
|
|
194
|
+
private _calculateVisibilityWithMaxItems;
|
|
195
|
+
/** @hidden */
|
|
196
|
+
private _calculateVisibilityByWidth;
|
|
187
197
|
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarGroupHostComponent, never>;
|
|
188
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupHostComponent, "fd-avatar-group-host", never, { "class": { "alias": "class"; "required": false; }; "type": { "alias": "type"; "required": false; }; "
|
|
198
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupHostComponent, "fd-avatar-group-host", never, { "class": { "alias": "class"; "required": false; }; "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "items": { "alias": "items"; "required": false; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, ["_portals"], ["*"], true, never>;
|
|
189
199
|
}
|
|
190
200
|
|
|
191
201
|
/**
|
|
@@ -222,13 +232,6 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
|
|
|
222
232
|
* `individual`: The avatars are displayed side-by-side and each avatar has its own click/tap area.
|
|
223
233
|
* */
|
|
224
234
|
type: AvatarGroupHostConfig['type'];
|
|
225
|
-
/**
|
|
226
|
-
* Orientation of the AvatarGroup control.
|
|
227
|
-
*
|
|
228
|
-
* `horizontal`: The avatars are displayed horizontally.
|
|
229
|
-
* `vertical`: The avatars are displayed vertically.
|
|
230
|
-
*/
|
|
231
|
-
orientation: AvatarGroupHostConfig['orientation'];
|
|
232
235
|
/**
|
|
233
236
|
* The spacing between the items depends on the size of the avatars in the group.
|
|
234
237
|
* The size is also used for the default overflow button.
|
|
@@ -256,11 +259,41 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
|
|
|
256
259
|
_overflowButton: AvatarGroupOverflowButtonDirective;
|
|
257
260
|
/** @hidden */
|
|
258
261
|
_avatarGroupPopoverBody: AvatarGroupOverflowBodyDirective;
|
|
262
|
+
/**
|
|
263
|
+
* Orientation of the AvatarGroup control.
|
|
264
|
+
*
|
|
265
|
+
* `horizontal`: The avatars are displayed horizontally.
|
|
266
|
+
* `vertical`: The avatars are displayed vertically.
|
|
267
|
+
*/
|
|
268
|
+
readonly orientation: i0.InputSignal<AvatarGroupOrientation>;
|
|
259
269
|
/**
|
|
260
270
|
* Heading level for the overflow popover title.
|
|
261
271
|
* @default 5
|
|
262
272
|
*/
|
|
263
273
|
readonly overflowHeadingLevel: i0.InputSignal<1 | 3 | 2 | 4 | 5 | 6>;
|
|
274
|
+
/**
|
|
275
|
+
* Placement of the group overflow popover relative to the avatar group.
|
|
276
|
+
* Defaults to `'right'` when `orientation="vertical"`, otherwise `'bottom'`.
|
|
277
|
+
* Use `'bottom-start'` / `'bottom-end'` to align to an edge.
|
|
278
|
+
* Only applies to `type="group"`.
|
|
279
|
+
*/
|
|
280
|
+
readonly popoverPlacement: i0.InputSignal<Placement | undefined>;
|
|
281
|
+
/** @hidden */
|
|
282
|
+
readonly _effectivePlacement: i0.Signal<Placement>;
|
|
283
|
+
/**
|
|
284
|
+
* Shape of the default overflow button.
|
|
285
|
+
* Use `'circle'` when the avatar group displays circle avatars, so the overflow button matches their shape.
|
|
286
|
+
* Has no effect when a custom overflow button is provided via `fdAvatarGroupOverflowButton`.
|
|
287
|
+
* @default 'square'
|
|
288
|
+
*/
|
|
289
|
+
readonly overflowButtonShape: i0.InputSignal<"circle" | "square">;
|
|
290
|
+
/**
|
|
291
|
+
* Maximum number of avatars to display before the overflow button appears.
|
|
292
|
+
* When set, the group shows exactly this many avatars regardless of the container width.
|
|
293
|
+
* When `null` (default), visibility is determined by the available container width.
|
|
294
|
+
* @default null
|
|
295
|
+
*/
|
|
296
|
+
readonly maxVisibleItems: i0.InputSignal<number | null>;
|
|
264
297
|
/** @hidden */
|
|
265
298
|
readonly _avatarGroupHost: i0.Signal<AvatarGroupHostComponent | undefined>;
|
|
266
299
|
/** @hidden */
|
|
@@ -286,7 +319,7 @@ declare class AvatarGroupComponent implements AvatarGroupHostConfig {
|
|
|
286
319
|
/** @hidden */
|
|
287
320
|
protected _popupBodyAriaLabel(count: number): string;
|
|
288
321
|
static ɵfac: i0.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
|
|
289
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupComponent, "fd-avatar-group", never, { "type": { "alias": "type"; "required": false; }; "
|
|
322
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AvatarGroupComponent, "fd-avatar-group", never, { "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "overflowPopoverTitle": { "alias": "overflowPopoverTitle"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "overflowHeadingLevel": { "alias": "overflowHeadingLevel"; "required": false; "isSignal": true; }; "popoverPlacement": { "alias": "popoverPlacement"; "required": false; "isSignal": true; }; "overflowButtonShape": { "alias": "overflowButtonShape"; "required": false; "isSignal": true; }; "maxVisibleItems": { "alias": "maxVisibleItems"; "required": false; "isSignal": true; }; }, {}, ["_overflowButton", "_avatarGroupPopoverBody", "_avatars"], ["*"], true, never>;
|
|
290
323
|
}
|
|
291
324
|
|
|
292
325
|
/**
|