@fundamental-ngx/core 0.35.1-rc.2 → 0.35.2-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/directives/avatar-group-overflow-button.directive.d.ts +4 -2
- package/avatar-group/esm2020/directives/avatar-group-overflow-button.directive.mjs +5 -1
- package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/avatar-group/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/avatar-group/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2020/avatar-group/directives/avatar-group-overflow-button.directive.mjs +5 -1
- package/esm2020/fixed-card-layout/fixed-card-layout.component.mjs +17 -26
- package/esm2020/fundamental-ngx.module.mjs +8 -4
- package/esm2020/overflow-layout/directives/overflow-expand.directive.mjs +36 -0
- package/esm2020/overflow-layout/directives/overflow-item-container-ref.directive.mjs +46 -0
- package/esm2020/overflow-layout/directives/overflow-item-ref.directive.mjs +57 -0
- package/esm2020/overflow-layout/directives/overflow-layout-item-container.directive.mjs +26 -0
- package/esm2020/overflow-layout/directives/overflow-layout-item.directive.mjs +100 -0
- package/esm2020/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +68 -0
- package/esm2020/overflow-layout/fundamental-ngx-core-overflow-layout.mjs +5 -0
- package/esm2020/overflow-layout/index.mjs +15 -0
- package/esm2020/overflow-layout/interfaces/overflow-container.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-expand.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-item-ref.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-item.interface.mjs +2 -0
- package/esm2020/overflow-layout/interfaces/overflow-popover-content.interface.mjs +2 -0
- package/esm2020/overflow-layout/overflow-layout.component.mjs +300 -0
- package/esm2020/overflow-layout/overflow-layout.module.mjs +52 -0
- package/esm2020/overflow-layout/tokens/overflow-container.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-expand.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-item-ref.token.mjs +3 -0
- package/esm2020/overflow-layout/tokens/overflow-item.token.mjs +3 -0
- package/esm2020/public_api.mjs +2 -1
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/fesm2015/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
- package/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
- package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/fesm2015/fundamental-ngx-core.mjs +8 -3
- package/fesm2015/fundamental-ngx-core.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs +4 -0
- package/fesm2020/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
- package/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
- package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/fesm2020/fundamental-ngx-core.mjs +8 -3
- package/fesm2020/fundamental-ngx-core.mjs.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/esm2020/fixed-card-layout.component.mjs +17 -26
- package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
- package/fixed-card-layout/fesm2015/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs +16 -25
- package/fixed-card-layout/fesm2020/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fixed-card-layout/fixed-card-layout.component.d.ts +4 -6
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/fundamental-ngx.module.d.ts +2 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/overflow-layout/README.md +7 -0
- package/overflow-layout/directives/overflow-expand.directive.d.ts +15 -0
- package/overflow-layout/directives/overflow-item-container-ref.directive.d.ts +25 -0
- package/overflow-layout/directives/overflow-item-ref.directive.d.ts +42 -0
- package/overflow-layout/directives/overflow-layout-item-container.directive.d.ts +16 -0
- package/overflow-layout/directives/overflow-layout-item.directive.d.ts +38 -0
- package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +31 -0
- package/overflow-layout/esm2020/directives/overflow-expand.directive.mjs +36 -0
- package/overflow-layout/esm2020/directives/overflow-item-container-ref.directive.mjs +46 -0
- package/overflow-layout/esm2020/directives/overflow-item-ref.directive.mjs +57 -0
- package/overflow-layout/esm2020/directives/overflow-layout-item-container.directive.mjs +26 -0
- package/overflow-layout/esm2020/directives/overflow-layout-item.directive.mjs +100 -0
- package/overflow-layout/esm2020/directives/overflow-layout-popover-content.directive.mjs +68 -0
- package/overflow-layout/esm2020/fundamental-ngx-core-overflow-layout.mjs +5 -0
- package/overflow-layout/esm2020/index.mjs +15 -0
- package/overflow-layout/esm2020/interfaces/overflow-container.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-expand.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-item-ref.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-item.interface.mjs +2 -0
- package/overflow-layout/esm2020/interfaces/overflow-popover-content.interface.mjs +2 -0
- package/overflow-layout/esm2020/overflow-layout.component.mjs +300 -0
- package/overflow-layout/esm2020/overflow-layout.module.mjs +52 -0
- package/overflow-layout/esm2020/tokens/overflow-container.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-expand.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-item-ref.token.mjs +3 -0
- package/overflow-layout/esm2020/tokens/overflow-item.token.mjs +3 -0
- package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs +672 -0
- package/overflow-layout/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs +660 -0
- package/overflow-layout/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -0
- package/overflow-layout/fundamental-ngx-core-overflow-layout.d.ts +5 -0
- package/overflow-layout/index.d.ts +14 -0
- package/overflow-layout/interfaces/overflow-container.interface.d.ts +4 -0
- package/overflow-layout/interfaces/overflow-expand.interface.d.ts +11 -0
- package/overflow-layout/interfaces/overflow-item-ref.interface.d.ts +38 -0
- package/overflow-layout/interfaces/overflow-item.interface.d.ts +20 -0
- package/overflow-layout/interfaces/overflow-popover-content.interface.d.ts +11 -0
- package/overflow-layout/overflow-layout.component.d.ts +131 -0
- package/overflow-layout/overflow-layout.module.d.ts +16 -0
- package/overflow-layout/package.json +53 -0
- package/overflow-layout/tokens/overflow-container.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-expand.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-item-ref.token.d.ts +3 -0
- package/overflow-layout/tokens/overflow-item.token.d.ts +3 -0
- package/package.json +9 -1
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/progress-indicator/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/scrollbar/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/package.json +1 -1
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/package.json +1 -1
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/theming/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/package.json +1 -1
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-overflow-layout.mjs","sources":["../../../../libs/core/src/lib/overflow-layout/directives/overflow-item-container-ref.directive.ts","../../../../libs/core/src/lib/overflow-layout/directives/overflow-layout-item-container.directive.ts","../../../../libs/core/src/lib/overflow-layout/tokens/overflow-container.token.ts","../../../../libs/core/src/lib/overflow-layout/tokens/overflow-expand.token.ts","../../../../libs/core/src/lib/overflow-layout/tokens/overflow-item-ref.token.ts","../../../../libs/core/src/lib/overflow-layout/tokens/overflow-item.token.ts","../../../../libs/core/src/lib/overflow-layout/directives/overflow-layout-popover-content.directive.ts","../../../../libs/core/src/lib/overflow-layout/overflow-layout.component.ts","../../../../libs/core/src/lib/overflow-layout/overflow-layout.component.html","../../../../libs/core/src/lib/overflow-layout/directives/overflow-item-ref.directive.ts","../../../../libs/core/src/lib/overflow-layout/directives/overflow-expand.directive.ts","../../../../libs/core/src/lib/overflow-layout/directives/overflow-layout-item.directive.ts","../../../../libs/core/src/lib/overflow-layout/overflow-layout.module.ts","../../../../libs/core/src/lib/overflow-layout/fundamental-ngx-core-overflow-layout.ts"],"sourcesContent":["import { Directive, ElementRef, TemplateRef, ViewContainerRef, ViewRef } from '@angular/core';\n\n/**\n * Directive to hide component without actual destroying of the component instance.\n */\n@Directive({\n selector: '[fdOverflowItemContainerRef]'\n})\nexport class OverflowItemContainerRefDirective {\n /** @hidden */\n private _viewRef: ViewRef;\n\n /** @hidden */\n private _detached = false;\n\n /** @hidden */\n private _hidden = false;\n\n /**\n * Shows or hides element without destroying the view itself.\n * @param value\n */\n set hidden(value: boolean) {\n if (this._hidden === value) {\n return;\n }\n this._hidden = value;\n if (value && !this._detached) {\n this._viewRef = this._viewContainerRef.detach()!;\n this._detached = true;\n } else if (!value && this._viewRef && this._detached) {\n this._viewRef = this._viewContainerRef.insert(this._viewRef);\n this._detached = false;\n }\n }\n\n /** @hidden */\n constructor(\n private _templateRef: TemplateRef<any>,\n private _viewContainerRef: ViewContainerRef,\n private _elmRef: ElementRef\n ) {\n // Create embedded view right away and manipulate its visibility later.\n this._viewContainerRef.createEmbeddedView(this._templateRef);\n }\n}\n","import { ContentChild, Directive, ElementRef, HostBinding } from '@angular/core';\nimport { OverflowItemContainerRefDirective } from './overflow-item-container-ref.directive';\n\n@Directive({\n selector: '[fdOverflowLayoutItemContainer]'\n})\nexport class OverflowLayoutItemContainerDirective {\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-overflow-layout__item';\n\n /**\n * Container reference.\n */\n @ContentChild(OverflowItemContainerRefDirective)\n containerRef: OverflowItemContainerRefDirective;\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n}\n","import { InjectionToken } from '@angular/core';\nimport { OverflowContainer } from '../interfaces/overflow-container.interface';\n\nexport const FD_OVERFLOW_CONTAINER = new InjectionToken<OverflowContainer>('FdOverflowContainer');\n","import { InjectionToken } from '@angular/core';\nimport { OverflowExpand } from '../interfaces/overflow-expand.interface';\n\nexport const FD_OVERFLOW_EXPAND = new InjectionToken<OverflowExpand>('FdOverflowLayoutExpand');\n","import { InjectionToken } from '@angular/core';\nimport { OverflowItemRef } from '../interfaces/overflow-item-ref.interface';\n\nexport const FD_OVERFLOW_ITEM_REF = new InjectionToken<OverflowItemRef>('OverflowLayoutItemRef');\n","import { InjectionToken } from '@angular/core';\nimport { OverflowItem } from '../interfaces/overflow-item.interface';\n\nexport const FD_OVERFLOW_ITEM = new InjectionToken<OverflowItem>('FdOverflowItem');\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport { Directive, HostBinding, HostListener, Inject, Input } from '@angular/core';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { OverflowContainer } from '../interfaces/overflow-container.interface';\nimport { OverflowItem } from '../interfaces/overflow-item.interface';\nimport { OverflowPopoverContent } from '../interfaces/overflow-popover-content.interface';\nimport { OverflowItemRef } from '../interfaces/overflow-item-ref.interface';\nimport { FD_OVERFLOW_CONTAINER } from '../tokens/overflow-container.token';\n\n/**\n * Directive to wrap Overlay Layout \"More\" popover content.\n * Used to apply keyboard navigation through the items.\n */\n@Directive({\n selector: '[fdOverflowLayoutPopoverContent]'\n})\nexport class OverflowLayoutPopoverContentDirective implements OverflowPopoverContent {\n /**\n * Array of hidden items.\n */\n @Input()\n set items(value: OverflowItemRef[]) {\n this._items = value;\n this._keyboardEventsManager = new FocusKeyManager(\n this._items.filter((item) => item.overflowItem.focusable).map((item) => item.overflowItem)\n )\n .withWrap()\n .withHorizontalOrientation('ltr');\n }\n\n /** @hidden */\n private _keyboardEventsManager: FocusKeyManager<OverflowItem>;\n\n /** @hidden */\n private _items: OverflowItemRef[];\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-overflow-layout__popover-container';\n\n /** @hidden */\n constructor(@Inject(FD_OVERFLOW_CONTAINER) private _overflowContainer: OverflowContainer) {\n this._overflowContainer?.registerPopoverContent(this);\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._items.findIndex((item) => item.elementRef.nativeElement === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager, so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /**\n * Focuses on the first tabbable element inside directive's element.\n */\n focusFirstTabbableElement(): void {\n this._keyboardEventsManager.setActiveItem(0);\n }\n}\n","import { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB, UP_ARROW } from '@angular/cdk/keycodes';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n ChangeDetectorRef,\n ContentChild,\n HostBinding,\n ViewChild,\n ElementRef,\n NgZone,\n Output,\n EventEmitter,\n HostListener,\n Optional,\n TemplateRef,\n ViewChildren,\n AfterViewInit,\n OnDestroy,\n Input\n} from '@angular/core';\nimport { KeyUtil, resizeObservable, RtlService } from '@fundamental-ngx/core/utils';\nimport { debounceTime, distinctUntilChanged, filter, skip, Subject, Subscription } from 'rxjs';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\nimport { OverflowContainer } from './interfaces/overflow-container.interface';\nimport { OverflowExpand } from './interfaces/overflow-expand.interface';\nimport { OverflowItemRef } from './interfaces/overflow-item-ref.interface';\nimport { OverflowItem } from './interfaces/overflow-item.interface';\nimport { OverflowPopoverContent } from './interfaces/overflow-popover-content.interface';\nimport { FD_OVERFLOW_CONTAINER } from './tokens/overflow-container.token';\nimport { FD_OVERFLOW_EXPAND } from './tokens/overflow-expand.token';\nimport { FD_OVERFLOW_ITEM_REF } from './tokens/overflow-item-ref.token';\nimport { FD_OVERFLOW_ITEM } from './tokens/overflow-item.token';\n\n@Component({\n selector: 'fd-overflow-layout',\n templateUrl: './overflow-layout.component.html',\n styleUrls: ['./overflow-layout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_OVERFLOW_CONTAINER,\n useExisting: OverflowLayoutComponent\n }\n ]\n})\nexport class OverflowLayoutComponent implements AfterViewInit, OnDestroy, OverflowContainer {\n /**\n * Maximum amount of visible items.\n */\n @Input()\n set maxVisibleItems(value: number) {\n if (value === this._maxVisibleItems) {\n return;\n }\n this._maxVisibleItems = value;\n this.triggerRecalculation();\n }\n\n get maxVisibleItems(): number {\n return this._maxVisibleItems;\n }\n\n /**\n * Event, triggered when amount of visible items has been changed.\n */\n @Output()\n visibleItemsCount = new EventEmitter<number>();\n\n /**\n * Event, triggered when amount of hidden items has been changed.\n */\n @Output()\n hiddenItemsCount = new EventEmitter<number>();\n\n /**\n * @hidden\n * List of items to display.\n */\n @ContentChildren(FD_OVERFLOW_ITEM_REF)\n _items: QueryList<OverflowItemRef>;\n\n /**\n * @hidden\n * Template for the custom \"More\" button.\n */\n @ContentChild(FD_OVERFLOW_EXPAND)\n _moreButton: OverflowExpand;\n\n /**\n * @hidden\n * List of items that can be focused.\n */\n @ContentChildren(FD_OVERFLOW_ITEM)\n _overflowItems: QueryList<OverflowItem>;\n\n /**\n * @hidden\n * List of rendered items.\n */\n @ViewChildren(OverflowLayoutItemContainerDirective)\n _visibleItems: QueryList<OverflowLayoutItemContainerDirective>;\n\n /**\n * @hidden\n * Items wrapper directive.\n */\n @ViewChild('itemsWrapper')\n _itemsWrapper: ElementRef<HTMLElement>;\n\n /**\n * @hidden\n * Layout container element.\n */\n @ViewChild('layoutContainer')\n _layoutContainer: ElementRef<HTMLDivElement>;\n\n /**\n * @hidden\n * \"More\" button container element.\n */\n @ViewChild('showMoreContainer')\n _showMoreContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n _allItems: OverflowItemRef[] = [];\n\n /** @hidden */\n _hiddenItems: OverflowItemRef[] = [];\n\n /** @hidden */\n _showMore = false;\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fd-overflow-layout';\n\n /** @hidden */\n private _keyboardEventsManager: FocusKeyManager<OverflowItem>;\n\n /** @hidden */\n private _listenToItemResize = true;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden */\n private _overflowPopoverContent: OverflowPopoverContent;\n\n /** @hidden */\n private _fillTrigger$ = new Subject<void>();\n\n /** @hidden */\n private _dir: 'rtl' | 'ltr' = 'ltr';\n\n /** @hidden */\n private _maxVisibleItems = Infinity;\n\n /** @hidden */\n constructor(\n private _cdr: ChangeDetectorRef,\n private _zone: NgZone,\n private _elRef: ElementRef,\n @Optional() private _rtlService: RtlService\n ) {\n this._subscription.add(this._fillTrigger$.pipe(debounceTime(30)).subscribe(() => this._fitVisibleItems()));\n }\n\n /**\n * Triggers layout recalculation of the items.\n */\n triggerRecalculation(): void {\n this._fillTrigger$.next();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n private _keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this._allItems.findIndex(\n (item) => item.overflowItem?.focusable && item.elementRef.nativeElement === event.target\n );\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so, we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /**\n * Sets current focused element.\n * @param element Element that needs to be focused.\n */\n setFocusedElement(element: OverflowItem): void {\n const index = this._overflowItems.toArray().findIndex((item) => item === element);\n\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n /**\n * Registers popover content directive for main component.\n * @param content {OverflowPopoverContent} directive\n */\n registerPopoverContent(content: OverflowPopoverContent): void {\n this._overflowPopoverContent = content;\n }\n\n /** @hidden */\n _itemsTrackFn(_: number, item: OverflowItemRef): TemplateRef<any> {\n return item.templateRef;\n }\n\n /** @hidden */\n _onPopoverStateChange(opened: boolean): void {\n if (opened) {\n this._overflowPopoverContent?.focusFirstTabbableElement();\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._fitVisibleItems();\n this._setFocusKeyManager();\n this._listenToChanges();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n private _listenToChanges(): void {\n this._subscription.add(\n this._items.changes.subscribe(() => {\n setTimeout(() => {\n this._fitVisibleItems();\n });\n })\n );\n\n this._listenToSizeChanges(this._elRef.nativeElement, this._itemsWrapper.nativeElement);\n }\n\n /** @hidden */\n private _listenToSizeChanges(...elements: HTMLElement[]): void {\n elements.forEach((element) =>\n this._subscription.add(\n resizeObservable(element)\n .pipe(\n skip(1),\n filter(() => this._listenToItemResize),\n distinctUntilChanged(),\n debounceTime(30)\n )\n .subscribe(() => {\n setTimeout(() => {\n this._fitVisibleItems();\n });\n })\n )\n );\n }\n\n /** @hidden */\n private _fitVisibleItems(): void {\n this._listenToItemResize = false;\n this._allItems = this._items.toArray();\n this._visibleItems.forEach((i) => (i.containerRef.hidden = false));\n this._allItems.forEach((item, index) => {\n item.hidden = false;\n item.index = index;\n });\n this._cdr.detectChanges();\n const containerWidth = this._elRef.nativeElement.getBoundingClientRect().width;\n const itemsContainerWidth = this._itemsWrapper.nativeElement.getBoundingClientRect().width;\n\n if (\n containerWidth >= itemsContainerWidth &&\n this._visibleItems.length <= this.maxVisibleItems &&\n this._hiddenItems.length === 0\n ) {\n this._showMore = false;\n this._cdr.detectChanges();\n this._listenToItemResize = true;\n return;\n }\n this._showMore = true;\n let fittingElmCount = 0;\n let fittingElmsWidth = 0;\n let shouldHideItems = false;\n this._cdr.detectChanges();\n\n const showMoreContainerWidth = this._showMoreContainer.nativeElement.getBoundingClientRect().width;\n let layoutWidth = this._layoutContainer.nativeElement.getBoundingClientRect().width;\n\n // Try to find all forced visible items\n const forcedItemsIndexes = this._getForcedItemsIndexes();\n\n forcedItemsIndexes.forEach((itemIndex) => {\n const container = this._visibleItems.get(itemIndex);\n if (!container) {\n return;\n }\n const elementSize = this._getElementWidth(container.elementRef.nativeElement);\n\n layoutWidth -= elementSize;\n });\n\n if (layoutWidth < 0 && forcedItemsIndexes.length > 0) {\n console.warn(\n 'There is no enough space to fit all forced visible items into the container. Please adjust their visibility accordingly.'\n );\n }\n\n this._visibleItems.forEach((item, index) => {\n const itemRef = this._allItems[index];\n if (shouldHideItems && !itemRef.overflowItem.forceVisibility) {\n item.containerRef.hidden = true;\n itemRef.hidden = true;\n return;\n }\n\n const elementSize = this._getElementWidth(item.elementRef.nativeElement);\n const combinedWidth = fittingElmsWidth + elementSize;\n\n if (\n (combinedWidth <= layoutWidth ||\n (item === this._visibleItems.last && combinedWidth <= layoutWidth + showMoreContainerWidth)) &&\n fittingElmCount < this.maxVisibleItems\n ) {\n fittingElmsWidth += elementSize;\n fittingElmCount++;\n } else if (!itemRef.overflowItem.forceVisibility) {\n shouldHideItems = true;\n item.containerRef.hidden = true;\n itemRef.hidden = true;\n }\n });\n\n this._hiddenItems = this._allItems.filter((i) => i.hidden);\n this.visibleItemsCount.emit(this._allItems.filter((i) => !i.hidden).length);\n this.hiddenItemsCount.emit(this._hiddenItems.length);\n\n this._showMore = this._hiddenItems.length > 0;\n\n this._cdr.detectChanges();\n\n this._listenToItemResize = true;\n }\n\n /** @hidden */\n private _setFocusKeyManager(): void {\n this._dir = this._rtlService?.rtl.value ? 'rtl' : 'ltr';\n this._keyboardEventsManager = new FocusKeyManager(this._overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir)\n .skipPredicate((item) => !item.focusable || item.hidden);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(isRtl ? 'rtl' : 'ltr');\n });\n\n this._subscription.add(rtlSub);\n }\n\n /** @hidden */\n private _getForcedItemsIndexes(): number[] {\n return this._allItems\n .map((item, index) => (item.overflowItem.forceVisibility ? index : -1))\n .filter((i) => i > -1);\n }\n\n /**\n * @hidden\n * Returns combined width of the element including margins.\n * @param element Element to calculate width of.\n */\n private _getElementWidth(element: HTMLElement): number {\n const elementStyle = getComputedStyle(element);\n const elementWidth = element.getBoundingClientRect().width;\n const elementSize = elementWidth + parseFloat(elementStyle.marginLeft) + parseFloat(elementStyle.marginRight);\n\n return elementSize;\n }\n}\n","<div class=\"fd-overflow-layout__items-container\" #layoutContainer>\n <div class=\"fd-overflow-layout__items\" #itemsWrapper>\n <ng-container *ngFor=\"let item of _allItems; trackBy: _itemsTrackFn\">\n <div fdOverflowLayoutItemContainer>\n <ng-container *fdOverflowItemContainerRef>\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item.hidden, index: item.index }\"\n ></ng-template>\n </ng-container>\n </div>\n </ng-container>\n </div>\n</div>\n\n<div class=\"fd-overflow-layout__more\" *ngIf=\"_showMore\" #showMoreContainer>\n <ng-template #defaultShowMore>\n <fd-popover\n (isOpenChange)=\"_onPopoverStateChange($event)\"\n placement=\"bottom\"\n [focusTrapped]=\"true\"\n [focusAutoCapture]=\"true\"\n [maxWidth]=\"312\"\n >\n <fd-popover-control>\n <button\n fd-button\n [fdMenu]=\"true\"\n i18n=\"@overflowLayout.moreItemsButton|Overflow Layout more button text\"\n fdType=\"transparent\"\n >\n {{ _hiddenItems.length }} more\n </button>\n </fd-popover-control>\n <fd-popover-body>\n <div fdOverflowLayoutPopoverContent [items]=\"_hiddenItems\">\n <ng-container *ngFor=\"let item of _hiddenItems\">\n <ng-template\n [ngTemplateOutlet]=\"item.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item.hidden, index: item.index }\"\n ></ng-template>\n </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"_moreButton?.templateRef || defaultShowMore\"\n [ngTemplateOutletContext]=\"{ $implicit: _hiddenItems }\"\n ></ng-template>\n</div>\n","import { Directive, ElementRef, TemplateRef } from '@angular/core';\nimport { OverflowItemDirectiveContext, OverflowItemRef } from '../interfaces/overflow-item-ref.interface';\nimport { OverflowItem } from '../interfaces/overflow-item.interface';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\n\n/**\n * Structural directive which is used to pass the context of the item to the template engine.\n */\n@Directive({\n selector: '[fdOverflowItemRef]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM_REF,\n useExisting: OverflowItemRefDirective\n }\n ]\n})\nexport class OverflowItemRefDirective implements OverflowItemRef {\n /**\n * Element ref of the `fdOverflowLayoutItem` directive.\n */\n elementRef: ElementRef<HTMLElement>;\n /**\n * `fdOverflowLayoutItem` directive.\n */\n overflowItem: OverflowItem;\n /**\n * Whether the item is hidden.\n */\n hidden = false;\n /**\n * Index of the item in the array of Overflow Layout Component's items.\n */\n index: number;\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: OverflowItemRefDirective,\n ctx: OverflowItemDirectiveContext\n ): ctx is OverflowItemDirectiveContext {\n return true;\n }\n\n /** @hidden */\n constructor(public templateRef: TemplateRef<OverflowItemDirectiveContext>) {}\n\n /**\n * Sets the element reference of the `fdOverflowLayoutItem` directive.`\n * @param elmRef\n */\n setElementRef(elmRef: ElementRef): void {\n if (this.elementRef) {\n return;\n }\n this.elementRef = elmRef;\n }\n\n /**\n * Sets the `fdOverflowLayoutItem` directive.\n * @param item\n */\n setOverflowItem(item: OverflowItem): void {\n this.overflowItem = item;\n }\n}\n","import { Directive, TemplateRef } from '@angular/core';\nimport { OverflowExpand, OverflowExpandDirectiveContext } from '../interfaces/overflow-expand.interface';\nimport { FD_OVERFLOW_EXPAND } from '../tokens/overflow-expand.token';\n\n/**\n * Structural directive which is responsible for rendering the \"More\" button and handling further logic.\n */\n@Directive({\n selector: '[fdOverflowExpand]',\n providers: [\n {\n provide: FD_OVERFLOW_EXPAND,\n useExisting: OverflowExpandDirective\n }\n ]\n})\nexport class OverflowExpandDirective implements OverflowExpand {\n /** @hidden */\n static ngTemplateContextGuard(\n dir: OverflowExpandDirective,\n ctx: OverflowExpandDirectiveContext\n ): ctx is OverflowExpandDirectiveContext {\n return true;\n }\n\n /** @hidden */\n constructor(public templateRef: TemplateRef<OverflowExpandDirectiveContext>) {}\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n Optional,\n SkipSelf\n} from '@angular/core';\nimport { OverflowItemRef } from '../interfaces/overflow-item-ref.interface';\nimport { OverflowItem } from '../interfaces/overflow-item.interface';\nimport { OverflowLayoutComponent } from '../overflow-layout.component';\nimport { FD_OVERFLOW_ITEM_REF } from '../tokens/overflow-item-ref.token';\nimport { FD_OVERFLOW_ITEM } from '../tokens/overflow-item.token';\n\n/**\n * Directive to mark element as part of for Overflow Layout Component items.\n */\n@Directive({\n selector: '[fdOverflowLayoutItem]',\n providers: [\n {\n provide: FD_OVERFLOW_ITEM,\n useExisting: OverflowLayoutItemDirective\n }\n ]\n})\nexport class OverflowLayoutItemDirective implements OverflowItem, OnInit {\n /** Whether the item should be focusable. */\n @Input()\n focusable = false;\n\n /** Whether to force the visibility of the item. */\n @Input()\n set forceVisibility(value: boolean) {\n if (value === this._forceVisibility) {\n return;\n }\n\n this._forceVisibility = value;\n this._overflowContainer.triggerRecalculation();\n }\n\n get forceVisibility(): boolean {\n return this._forceVisibility;\n }\n /**\n * Whether the item is hidden.\n */\n get hidden(): boolean {\n return this._overflowItemRef?.hidden === true;\n }\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private get _tabindex(): number {\n return this.focusable ? 0 : -1;\n }\n\n /** @hidden */\n private _forceVisibility = false;\n\n /** @hidden */\n @HostListener('focus')\n onFocus(): void {\n this._overflowContainer.setFocusedElement(this);\n }\n\n /** @hidden */\n constructor(\n private _overflowContainer: OverflowLayoutComponent,\n public elmRef: ElementRef,\n @Optional() @SkipSelf() @Inject(FD_OVERFLOW_ITEM_REF) private _overflowItemRef: OverflowItemRef | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._overflowItemRef?.setElementRef(this.elmRef);\n this._overflowItemRef?.setOverflowItem(this);\n }\n\n /**\n * Focuses connected to the DOM element.\n */\n focus(): void {\n // Since we use detach() method of ViewContainerRef to remove elements from the visible list,\n // we need to check that element is connected to the DOM.\n this.elmRef.nativeElement.isConnected\n ? this.elmRef.nativeElement.focus()\n : this._overflowItemRef?.elementRef.nativeElement.isConnected\n ? this._overflowItemRef?.elementRef.nativeElement.focus()\n : this._overflowItemRef?.overflowItem.elmRef.nativeElement.focus();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { OverflowLayoutComponent } from './overflow-layout.component';\nimport { OverflowItemRefDirective } from './directives/overflow-item-ref.directive';\nimport { OverflowExpandDirective } from './directives/overflow-expand.directive';\nimport { OverflowLayoutItemDirective } from './directives/overflow-layout-item.directive';\nimport { OverflowItemContainerRefDirective } from './directives/overflow-item-container-ref.directive';\nimport { OverflowLayoutPopoverContentDirective } from './directives/overflow-layout-popover-content.directive';\nimport { OverflowLayoutItemContainerDirective } from './directives/overflow-layout-item-container.directive';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, ButtonModule],\n exports: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective\n ],\n declarations: [\n OverflowLayoutComponent,\n OverflowItemRefDirective,\n OverflowExpandDirective,\n OverflowLayoutItemDirective,\n OverflowItemContainerRefDirective,\n OverflowLayoutPopoverContentDirective,\n OverflowLayoutItemContainerDirective\n ]\n})\nexport class OverflowLayoutModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -178,6 +178,8 @@ import { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
|
|
|
178
178
|
export * from '@fundamental-ngx/core/scrollbar';
|
|
179
179
|
import { ThemingModule } from '@fundamental-ngx/core/theming';
|
|
180
180
|
export * from '@fundamental-ngx/core/theming';
|
|
181
|
+
import { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';
|
|
182
|
+
export * from '@fundamental-ngx/core/overflow-layout';
|
|
181
183
|
export * from '@fundamental-ngx/core/datetime';
|
|
182
184
|
export * from '@fundamental-ngx/core/shared';
|
|
183
185
|
export * from '@fundamental-ngx/core/mobile-mode';
|
|
@@ -277,7 +279,8 @@ FundamentalNgxCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0"
|
|
|
277
279
|
TimelineModule,
|
|
278
280
|
ProgressIndicatorModule,
|
|
279
281
|
ScrollbarModule,
|
|
280
|
-
ThemingModule
|
|
282
|
+
ThemingModule,
|
|
283
|
+
OverflowLayoutModule] });
|
|
281
284
|
FundamentalNgxCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FundamentalNgxCoreModule, imports: [[CommonModule, FormsModule], ActionBarModule,
|
|
282
285
|
ActionSheetModule,
|
|
283
286
|
AlertModule,
|
|
@@ -370,7 +373,8 @@ FundamentalNgxCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0"
|
|
|
370
373
|
TimelineModule,
|
|
371
374
|
ProgressIndicatorModule,
|
|
372
375
|
ScrollbarModule,
|
|
373
|
-
ThemingModule
|
|
376
|
+
ThemingModule,
|
|
377
|
+
OverflowLayoutModule] });
|
|
374
378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FundamentalNgxCoreModule, decorators: [{
|
|
375
379
|
type: NgModule,
|
|
376
380
|
args: [{
|
|
@@ -468,7 +472,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
468
472
|
TimelineModule,
|
|
469
473
|
ProgressIndicatorModule,
|
|
470
474
|
ScrollbarModule,
|
|
471
|
-
ThemingModule
|
|
475
|
+
ThemingModule,
|
|
476
|
+
OverflowLayoutModule
|
|
472
477
|
]
|
|
473
478
|
}]
|
|
474
479
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core.mjs","sources":["../../../../libs/core/src/lib/fundamental-ngx.module.ts","../../../../libs/core/src/lib/fundamental-ngx-core.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { BreadcrumbModule } from '@fundamental-ngx/core/breadcrumb';\nimport { ComboboxModule } from '@fundamental-ngx/core/combobox';\nimport { DynamicPageModule } from '@fundamental-ngx/core/dynamic-page';\nimport { ActionBarModule } from '@fundamental-ngx/core/action-bar';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CalendarModule } from '@fundamental-ngx/core/calendar';\nimport { CarouselModule } from '@fundamental-ngx/core/carousel';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { DatetimePickerModule } from '@fundamental-ngx/core/datetime-picker';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { DragAndDropModule, OnlyDigitsModule } from '@fundamental-ngx/core/utils';\nimport { FacetModule } from '@fundamental-ngx/core/facets';\nimport { FeedListItemModule } from '@fundamental-ngx/core/feed-list-item';\nimport { FeedInputModule } from '@fundamental-ngx/core/feed-input';\nimport { FileUploaderModule } from '@fundamental-ngx/core/file-uploader';\nimport { FixedCardLayoutModule } from '@fundamental-ngx/core/fixed-card-layout';\nimport { FlexibleColumnLayoutModule } from '@fundamental-ngx/core/flexible-column-layout';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { FormattedTextModule } from '@fundamental-ngx/core/formatted-text';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\nimport { InputGroupModule } from '@fundamental-ngx/core/input-group';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { TimeModule } from '@fundamental-ngx/core/time';\nimport { TileModule } from '@fundamental-ngx/core/tile';\nimport { TextModule } from '@fundamental-ngx/core/text';\nimport { PanelModule } from '@fundamental-ngx/core/panel';\nimport { ObjectStatusModule } from '@fundamental-ngx/core/object-status';\nimport { NotificationModule } from '@fundamental-ngx/core/notification';\nimport { AlertModule } from '@fundamental-ngx/core/alert';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { AvatarGroupModule } from '@fundamental-ngx/core/avatar-group';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { CardModule } from '@fundamental-ngx/core/card';\nimport { ObjectIdentifierModule } from '@fundamental-ngx/core/object-identifier';\nimport { MessageStripModule } from '@fundamental-ngx/core/message-strip';\nimport { ObjectMarkerModule } from '@fundamental-ngx/core/object-marker';\nimport { ObjectNumberModule } from '@fundamental-ngx/core/object-number';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { TokenModule } from '@fundamental-ngx/core/token';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { QuickViewModule } from '@fundamental-ngx/core/quick-view';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ProductSwitchModule } from '@fundamental-ngx/core/product-switch';\nimport { DynamicSideContentModule } from '@fundamental-ngx/core/dynamic-side-content';\nimport { InfoLabelModule } from '@fundamental-ngx/core/info-label';\nimport { InfiniteScrollModule } from '@fundamental-ngx/core/infinite-scroll';\nimport { DatePickerModule } from '@fundamental-ngx/core/date-picker';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\nimport { TimePickerModule } from '@fundamental-ngx/core/time-picker';\nimport { SliderModule } from '@fundamental-ngx/core/slider';\nimport { TableModule } from '@fundamental-ngx/core/table';\nimport { SwitchModule } from '@fundamental-ngx/core/switch';\nimport { StatusIndicatorModule } from '@fundamental-ngx/core/status-indicator';\nimport { MessageToastModule } from '@fundamental-ngx/core/message-toast';\nimport { MultiInputModule } from '@fundamental-ngx/core/multi-input';\nimport { MessageBoxModule } from '@fundamental-ngx/core/message-box';\nimport { LayoutGridModule } from '@fundamental-ngx/core/layout-grid';\nimport { LayoutPanelModule } from '@fundamental-ngx/core/layout-panel';\nimport { NestedListModule } from '@fundamental-ngx/core/nested-list';\nimport { RatingIndicatorModule } from '@fundamental-ngx/core/rating-indicator';\nimport { SegmentedButtonModule } from '@fundamental-ngx/core/segmented-button';\nimport { StepInputModule } from '@fundamental-ngx/core/step-input';\nimport { GridListModule } from '@fundamental-ngx/core/grid-list';\nimport { IllustratedMessageModule } from '@fundamental-ngx/core/illustrated-message';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { ResizableCardLayoutModule } from '@fundamental-ngx/core/resizable-card-layout';\nimport { UploadCollectionModule } from '@fundamental-ngx/core/upload-collection';\nimport { SplitterModule } from '@fundamental-ngx/core/splitter';\nimport { PaginationModule } from '@fundamental-ngx/core/pagination';\nimport { SelectModule } from '@fundamental-ngx/core/select';\nimport { ShellbarModule } from '@fundamental-ngx/core/shellbar';\nimport { TreeModule } from '@fundamental-ngx/core/tree';\nimport { WizardModule } from '@fundamental-ngx/core/wizard';\nimport { SplitButtonModule } from '@fundamental-ngx/core/split-button';\nimport { SideNavigationModule } from '@fundamental-ngx/core/side-navigation';\nimport { MessagePageModule } from '@fundamental-ngx/core/message-page';\nimport { VerticalNavigationModule } from '@fundamental-ngx/core/vertical-navigation';\nimport { MicroProcessFlowModule } from '@fundamental-ngx/core/micro-process-flow';\nimport { TimelineModule } from '@fundamental-ngx/core/timeline';\nimport { ProgressIndicatorModule } from '@fundamental-ngx/core/progress-indicator';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\nimport { ThemingModule } from '@fundamental-ngx/core/theming';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n exports: [\n ActionBarModule,\n ActionSheetModule,\n AlertModule,\n AvatarModule,\n AvatarGroupModule,\n BarModule,\n BreadcrumbModule,\n BusyIndicatorModule,\n ButtonModule,\n CalendarModule,\n CardModule,\n CarouselModule,\n ComboboxModule,\n CheckboxModule,\n DatePickerModule,\n DatetimePickerModule,\n DragAndDropModule,\n DynamicPageModule,\n DynamicSideContentModule,\n FacetModule,\n FeedListItemModule,\n FeedInputModule,\n FileUploaderModule,\n FixedCardLayoutModule,\n FlexibleColumnLayoutModule,\n FormModule,\n FormattedTextModule,\n IconModule,\n InfoLabelModule,\n InlineHelpModule,\n InfiniteScrollModule,\n InputGroupModule,\n LayoutGridModule,\n LayoutPanelModule,\n LinkModule,\n ListModule,\n MenuModule,\n DialogModule,\n MessageBoxModule,\n MessageStripModule,\n MessageToastModule,\n MultiInputModule,\n NestedListModule,\n NotificationModule,\n ObjectIdentifierModule,\n ObjectMarkerModule,\n ObjectNumberModule,\n ObjectStatusModule,\n PaginationModule,\n PanelModule,\n ProductSwitchModule,\n PopoverModule,\n QuickViewModule,\n RatingIndicatorModule,\n RadioModule,\n ScrollSpyModule,\n SegmentedButtonModule,\n SelectModule,\n ShellbarModule,\n SideNavigationModule,\n SplitButtonModule,\n SwitchModule,\n StepInputModule,\n TableModule,\n TabsModule,\n TextModule,\n TileModule,\n TimeModule,\n TimePickerModule,\n TitleModule,\n ToolbarModule,\n TokenModule,\n TreeModule,\n WizardModule,\n CardModule,\n MessageBoxModule,\n MessageToastModule,\n DynamicSideContentModule,\n SliderModule,\n SplitterModule,\n OnlyDigitsModule,\n IllustratedMessageModule,\n StatusIndicatorModule,\n GridListModule,\n ResizableCardLayoutModule,\n MessagePageModule,\n VerticalNavigationModule,\n UploadCollectionModule,\n MicroProcessFlowModule,\n TimelineModule,\n ProgressIndicatorModule,\n ScrollbarModule,\n ThemingModule\n ]\n})\nexport class FundamentalNgxCoreModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core.mjs","sources":["../../../../libs/core/src/lib/fundamental-ngx.module.ts","../../../../libs/core/src/lib/fundamental-ngx-core.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { BreadcrumbModule } from '@fundamental-ngx/core/breadcrumb';\nimport { ComboboxModule } from '@fundamental-ngx/core/combobox';\nimport { DynamicPageModule } from '@fundamental-ngx/core/dynamic-page';\nimport { ActionBarModule } from '@fundamental-ngx/core/action-bar';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { CalendarModule } from '@fundamental-ngx/core/calendar';\nimport { CarouselModule } from '@fundamental-ngx/core/carousel';\nimport { CheckboxModule } from '@fundamental-ngx/core/checkbox';\nimport { DatetimePickerModule } from '@fundamental-ngx/core/datetime-picker';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { DragAndDropModule, OnlyDigitsModule } from '@fundamental-ngx/core/utils';\nimport { FacetModule } from '@fundamental-ngx/core/facets';\nimport { FeedListItemModule } from '@fundamental-ngx/core/feed-list-item';\nimport { FeedInputModule } from '@fundamental-ngx/core/feed-input';\nimport { FileUploaderModule } from '@fundamental-ngx/core/file-uploader';\nimport { FixedCardLayoutModule } from '@fundamental-ngx/core/fixed-card-layout';\nimport { FlexibleColumnLayoutModule } from '@fundamental-ngx/core/flexible-column-layout';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { FormattedTextModule } from '@fundamental-ngx/core/formatted-text';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InlineHelpModule } from '@fundamental-ngx/core/inline-help';\nimport { InputGroupModule } from '@fundamental-ngx/core/input-group';\nimport { LinkModule } from '@fundamental-ngx/core/link';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { TimeModule } from '@fundamental-ngx/core/time';\nimport { TileModule } from '@fundamental-ngx/core/tile';\nimport { TextModule } from '@fundamental-ngx/core/text';\nimport { PanelModule } from '@fundamental-ngx/core/panel';\nimport { ObjectStatusModule } from '@fundamental-ngx/core/object-status';\nimport { NotificationModule } from '@fundamental-ngx/core/notification';\nimport { AlertModule } from '@fundamental-ngx/core/alert';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { AvatarGroupModule } from '@fundamental-ngx/core/avatar-group';\nimport { BarModule } from '@fundamental-ngx/core/bar';\nimport { BusyIndicatorModule } from '@fundamental-ngx/core/busy-indicator';\nimport { CardModule } from '@fundamental-ngx/core/card';\nimport { ObjectIdentifierModule } from '@fundamental-ngx/core/object-identifier';\nimport { MessageStripModule } from '@fundamental-ngx/core/message-strip';\nimport { ObjectMarkerModule } from '@fundamental-ngx/core/object-marker';\nimport { ObjectNumberModule } from '@fundamental-ngx/core/object-number';\nimport { RadioModule } from '@fundamental-ngx/core/radio';\nimport { TokenModule } from '@fundamental-ngx/core/token';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { QuickViewModule } from '@fundamental-ngx/core/quick-view';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ProductSwitchModule } from '@fundamental-ngx/core/product-switch';\nimport { DynamicSideContentModule } from '@fundamental-ngx/core/dynamic-side-content';\nimport { InfoLabelModule } from '@fundamental-ngx/core/info-label';\nimport { InfiniteScrollModule } from '@fundamental-ngx/core/infinite-scroll';\nimport { DatePickerModule } from '@fundamental-ngx/core/date-picker';\nimport { ScrollSpyModule } from '@fundamental-ngx/core/scroll-spy';\nimport { TimePickerModule } from '@fundamental-ngx/core/time-picker';\nimport { SliderModule } from '@fundamental-ngx/core/slider';\nimport { TableModule } from '@fundamental-ngx/core/table';\nimport { SwitchModule } from '@fundamental-ngx/core/switch';\nimport { StatusIndicatorModule } from '@fundamental-ngx/core/status-indicator';\nimport { MessageToastModule } from '@fundamental-ngx/core/message-toast';\nimport { MultiInputModule } from '@fundamental-ngx/core/multi-input';\nimport { MessageBoxModule } from '@fundamental-ngx/core/message-box';\nimport { LayoutGridModule } from '@fundamental-ngx/core/layout-grid';\nimport { LayoutPanelModule } from '@fundamental-ngx/core/layout-panel';\nimport { NestedListModule } from '@fundamental-ngx/core/nested-list';\nimport { RatingIndicatorModule } from '@fundamental-ngx/core/rating-indicator';\nimport { SegmentedButtonModule } from '@fundamental-ngx/core/segmented-button';\nimport { StepInputModule } from '@fundamental-ngx/core/step-input';\nimport { GridListModule } from '@fundamental-ngx/core/grid-list';\nimport { IllustratedMessageModule } from '@fundamental-ngx/core/illustrated-message';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { ResizableCardLayoutModule } from '@fundamental-ngx/core/resizable-card-layout';\nimport { UploadCollectionModule } from '@fundamental-ngx/core/upload-collection';\nimport { SplitterModule } from '@fundamental-ngx/core/splitter';\nimport { PaginationModule } from '@fundamental-ngx/core/pagination';\nimport { SelectModule } from '@fundamental-ngx/core/select';\nimport { ShellbarModule } from '@fundamental-ngx/core/shellbar';\nimport { TreeModule } from '@fundamental-ngx/core/tree';\nimport { WizardModule } from '@fundamental-ngx/core/wizard';\nimport { SplitButtonModule } from '@fundamental-ngx/core/split-button';\nimport { SideNavigationModule } from '@fundamental-ngx/core/side-navigation';\nimport { MessagePageModule } from '@fundamental-ngx/core/message-page';\nimport { VerticalNavigationModule } from '@fundamental-ngx/core/vertical-navigation';\nimport { MicroProcessFlowModule } from '@fundamental-ngx/core/micro-process-flow';\nimport { TimelineModule } from '@fundamental-ngx/core/timeline';\nimport { ProgressIndicatorModule } from '@fundamental-ngx/core/progress-indicator';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\nimport { ThemingModule } from '@fundamental-ngx/core/theming';\nimport { OverflowLayoutModule } from '@fundamental-ngx/core/overflow-layout';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n exports: [\n ActionBarModule,\n ActionSheetModule,\n AlertModule,\n AvatarModule,\n AvatarGroupModule,\n BarModule,\n BreadcrumbModule,\n BusyIndicatorModule,\n ButtonModule,\n CalendarModule,\n CardModule,\n CarouselModule,\n ComboboxModule,\n CheckboxModule,\n DatePickerModule,\n DatetimePickerModule,\n DragAndDropModule,\n DynamicPageModule,\n DynamicSideContentModule,\n FacetModule,\n FeedListItemModule,\n FeedInputModule,\n FileUploaderModule,\n FixedCardLayoutModule,\n FlexibleColumnLayoutModule,\n FormModule,\n FormattedTextModule,\n IconModule,\n InfoLabelModule,\n InlineHelpModule,\n InfiniteScrollModule,\n InputGroupModule,\n LayoutGridModule,\n LayoutPanelModule,\n LinkModule,\n ListModule,\n MenuModule,\n DialogModule,\n MessageBoxModule,\n MessageStripModule,\n MessageToastModule,\n MultiInputModule,\n NestedListModule,\n NotificationModule,\n ObjectIdentifierModule,\n ObjectMarkerModule,\n ObjectNumberModule,\n ObjectStatusModule,\n PaginationModule,\n PanelModule,\n ProductSwitchModule,\n PopoverModule,\n QuickViewModule,\n RatingIndicatorModule,\n RadioModule,\n ScrollSpyModule,\n SegmentedButtonModule,\n SelectModule,\n ShellbarModule,\n SideNavigationModule,\n SplitButtonModule,\n SwitchModule,\n StepInputModule,\n TableModule,\n TabsModule,\n TextModule,\n TileModule,\n TimeModule,\n TimePickerModule,\n TitleModule,\n ToolbarModule,\n TokenModule,\n TreeModule,\n WizardModule,\n CardModule,\n MessageBoxModule,\n MessageToastModule,\n DynamicSideContentModule,\n SliderModule,\n SplitterModule,\n OnlyDigitsModule,\n IllustratedMessageModule,\n StatusIndicatorModule,\n GridListModule,\n ResizableCardLayoutModule,\n MessagePageModule,\n VerticalNavigationModule,\n UploadCollectionModule,\n MicroProcessFlowModule,\n TimelineModule,\n ProgressIndicatorModule,\n ScrollbarModule,\n ThemingModule,\n OverflowLayoutModule\n ]\n})\nexport class FundamentalNgxCoreModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-avatar-group.mjs","sources":["../../../../libs/core/src/lib/avatar-group/directives/avatar-group-item.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.component.html","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-focusable-avatar.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-body.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-item.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-overflow-button-text.directive.ts","../../../../libs/core/src/lib/avatar-group/directives/avatar-group-popover-control.directive.ts","../../../../libs/core/src/lib/avatar-group/avatar-group.module.ts","../../../../libs/core/src/lib/avatar-group/fundamental-ngx-core-avatar-group.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener, Optional, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupComponent } from '../avatar-group.component';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-item]',\n host: { class: 'fd-avatar-group__item' }\n})\nexport class AvatarGroupItemDirective implements FocusableOption {\n /** Item disable state */\n disabled = false;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional() @Inject(forwardRef(() => AvatarGroupComponent)) private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ViewportRuler } from '@angular/cdk/overlay';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { of, Subscription } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { ColorAccent, KeyUtil, RtlService, Size } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupInterface } from './avatar-group.interface';\n\nexport type AvatarGroupType = 'group' | 'individual';\nexport type AvatarGroupOverflowButtonColor = 'neutral' | 'random' | ColorAccent;\n\nlet avatarGroupCount = 0;\n\n@Component({\n selector: 'fd-avatar-group',\n templateUrl: './avatar-group.component.html',\n styleUrls: ['./avatar-group.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AvatarGroupComponent implements AvatarGroupInterface, OnChanges, OnInit, AfterViewInit, OnDestroy {\n /** Id of the Avatar Group. */\n @Input()\n id = `fd-avatar-group-${avatarGroupCount++}`;\n\n /** Apply user custom class. */\n @Input()\n class: string;\n\n /** The size of the Avatar Group. Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** The type of the Avatar Group. Options include: *group* and *individual* (default: *group*). */\n @Input()\n type: AvatarGroupType = 'group';\n\n /** Aria-label for Avatar Group. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Counter for all avatars. */\n allItemsCount = 0;\n\n /** Counter for visible in overflow popover avatars. */\n overflowItemsCount = 0;\n\n /** @hidden Avatar Group items. */\n @ContentChildren(forwardRef(() => AvatarGroupItemDirective), { descendants: true })\n mainItems: QueryList<AvatarGroupItemDirective>;\n\n /** @hidden */\n @ViewChild('avatarGroupContainer')\n avatarGroupContainer: ElementRef<HTMLDivElement>;\n\n /** @hidden */\n rootClassNames: Record<string, boolean | undefined | null>;\n\n /** @hidden */\n get isGroupType(): boolean {\n return this.type === 'group';\n }\n\n /** @hidden */\n private get _avatarGroupWidth(): number {\n return this.avatarGroupContainer?.nativeElement?.offsetWidth;\n }\n\n /** @hidden */\n private get _avatarGroupItemWidth(): number {\n return this.mainItems.first?._element.offsetWidth ?? 0;\n }\n\n /** @hidden */\n private get _avatarGroupItemWithMarginsWidth(): number {\n if (!this.mainItems.first) {\n return this._avatarGroupItemWidth;\n }\n\n const elementStyles = getComputedStyle(this.mainItems.first._element);\n\n return (\n this._avatarGroupItemWidth +\n parseInt(elementStyles.marginLeft, 10) +\n parseInt(elementStyles.marginRight, 10)\n );\n }\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupItemDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(private readonly _viewportRuler: ViewportRuler, @Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._subscription.add(this._viewportRuler.change().subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this._assignCssClasses();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._reset();\n\n this._subscription.add(\n of(true)\n .pipe(delay(5))\n .subscribe(() => this._collapseItems())\n );\n\n this._listenForItemChanges();\n this._setKeyboardEventsManager();\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.mainItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n event.preventDefault();\n\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupItemDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _onResize(): void {\n this._reset();\n this._collapseItems();\n }\n\n /** @hidden */\n private _reset(): void {\n this.allItemsCount = this.mainItems.length;\n this.overflowItemsCount = 0;\n\n this.mainItems.forEach((it) => {\n it._element.style.display = 'inline-block';\n it.disabled = false;\n });\n }\n\n /** @hidden */\n private _collapseItems(): void {\n const allItemsCounter = this.mainItems?.length || 0;\n let contentWidth = 0;\n let idx = 0;\n const avatarGroupItemWidth = this._avatarGroupItemWidth;\n const avatarGroupItemWithMarginsWidth = this._avatarGroupItemWithMarginsWidth;\n\n while (idx < allItemsCounter) {\n const newContentWidth =\n idx === 0 && this.isGroupType\n ? contentWidth + avatarGroupItemWidth\n : contentWidth + avatarGroupItemWithMarginsWidth;\n\n if (newContentWidth >= this._avatarGroupWidth) {\n // -1 because the last element in the loop will be replaced by the overflow button\n const newIdx = idx - 1;\n this.overflowItemsCount = allItemsCounter - newIdx;\n const mainItemsToHide = this.mainItems.toArray().slice(newIdx);\n mainItemsToHide.forEach((it) => {\n it._element.style.display = 'none';\n it.disabled = true;\n });\n\n break;\n }\n\n contentWidth = newContentWidth;\n idx++;\n }\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this._subscription.add(this.mainItems.changes.subscribe(() => this._onResize()));\n }\n\n /** @hidden */\n private _assignCssClasses(): void {\n this.rootClassNames = {\n 'fd-avatar-group': true,\n [`fd-avatar-group--${this.type}-type`]: !!this.type,\n [`fd-avatar-group--${this.size}`]: !!this.size,\n [this.class]: !!this.class\n };\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.mainItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n\n this._keyboardEventsManager = this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","<div #avatarGroupContainer [class]=\"rootClassNames\" [id]=\"id\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Directive, ElementRef, Optional, HostBinding, HostListener, Input, Inject, forwardRef } from '@angular/core';\nimport { FocusableOption } from '@angular/cdk/a11y';\n\nimport { AvatarGroupOverflowBodyDirective } from './avatar-group-overflow-body.directive';\nimport { AvatarGroupInterface } from '../avatar-group.interface';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-focusable-avatar]',\n host: { class: 'fd-avatar-group__focusable-avatar' }\n})\nexport class AvatarGroupFocusableAvatarDirective implements FocusableOption {\n /** Tabindex of the Avatar. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(forwardRef(() => AvatarGroupOverflowBodyDirective))\n private readonly _component: AvatarGroupInterface\n ) {}\n\n /** @hidden */\n get _element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._component) {\n this._component._setActiveItem(this);\n }\n }\n\n /** @hidden */\n focus(): void {\n this._element.focus();\n }\n}\n","import {\n AfterViewInit,\n ContentChildren,\n Directive,\n forwardRef,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n QueryList\n} from '@angular/core';\nimport { FocusKeyManager } from '@angular/cdk/a11y';\nimport { TAB, DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Subscription } from 'rxjs';\n\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { AvatarGroupFocusableAvatarDirective } from './avatar-group-focusable-avatar.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-body]',\n host: {\n class: 'fd-avatar-group__overflow-body',\n '[class.fd-avatar-group__overflow-body--no-padding]': 'noPadding',\n '[class.fd-avatar-group__overflow-body--no-horizontal-scroll]': 'noHorizontalScroll',\n '[class.fd-avatar-group__overflow-body--no-vertical-scroll]': 'noVerticalScroll'\n }\n})\nexport class AvatarGroupOverflowBodyDirective implements AfterViewInit, OnDestroy {\n /** Remove the padding from the overflow body. */\n @Input()\n noPadding = false;\n\n /** Hide horizontal scrollbar from the overflow body. */\n @Input()\n noHorizontalScroll = true;\n\n /** Hide vertical scrollbar from the overflow body. */\n @Input()\n noVerticalScroll = true;\n\n /** @hidden Avatar Group Overflow items. */\n @ContentChildren(forwardRef(() => AvatarGroupFocusableAvatarDirective), { descendants: true })\n overflowItems: QueryList<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden FocusKeyManager instance */\n private _keyboardEventsManager: FocusKeyManager<AvatarGroupFocusableAvatarDirective>;\n\n /** @hidden */\n private readonly _subscription = new Subscription();\n\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /** @hidden */\n constructor(@Optional() private _rtlService: RtlService) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenForItemChanges();\n\n this._setKeyboardEventsManager();\n\n this._subscribeToRtl();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscription.unsubscribe();\n }\n\n /** @hidden */\n @HostListener('keyup', ['$event'])\n keyUpHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n const index = this.overflowItems.toArray().findIndex((item) => item._element === event.target);\n if (index !== -1) {\n this._keyboardEventsManager.setActiveItem(index);\n }\n }\n\n if (KeyUtil.isKeyCode(event, [DOWN_ARROW, UP_ARROW, LEFT_ARROW, RIGHT_ARROW])) {\n // passing the event to key manager so we get a change fired\n this._keyboardEventsManager.onKeydown(event);\n }\n }\n\n /** @hidden */\n _setActiveItem(item: AvatarGroupFocusableAvatarDirective): void {\n this._keyboardEventsManager.setActiveItem(item);\n }\n\n /** @hidden */\n private _listenForItemChanges(): void {\n this.overflowItems.changes.subscribe(() => this._setKeyboardEventsManager());\n }\n\n /** @hidden */\n private _setKeyboardEventsManager(): void {\n this._keyboardEventsManager = new FocusKeyManager(this.overflowItems)\n .withWrap()\n .withHorizontalOrientation(this._dir);\n\n this._keyboardEventsManager.setFirstItemActive();\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n const rtlSub = this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n this._keyboardEventsManager.withHorizontalOrientation(this._dir);\n });\n\n this._subscription.add(rtlSub);\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { AvatarGroupItemDirective } from './avatar-group-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-item]'\n})\nexport class AvatarGroupOverflowItemDirective extends AvatarGroupItemDirective {}\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n\nimport { Size } from '@fundamental-ngx/core/utils';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { getRandomColorAccent } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\nimport { AvatarGroupOverflowButtonColor } from '../avatar-group.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button]'\n})\nexport class AvatarGroupOverflowButtonDirective implements OnInit, OnChanges, CssClassBuilder {\n /** User's custom classes. */\n @Input()\n class: string;\n\n /** The size of the overflow button.\n * Should be the same as the Avatar Group and Avatar size.\n * Options include: *xs*, *s*, *m*, *l* and *xl* (default: *s*). */\n @Input()\n size: Size = 's';\n\n /** A number from 1 to 10 representing the background color of the Avatar Group's overflow button.\n * Options include: *neutral*, *random*, *1*, *2*, *3*, *4*, *5*, *6*, *7*, *8*, *9*, *10* (default: *neutral*). */\n @Input()\n color: AvatarGroupOverflowButtonColor = 'neutral';\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n 'fd-avatar-group__more-button',\n (this.color && this._getMoreButtonColorCssClass()) || '',\n this.size ? `fd-avatar-group__more-button--${this.size}` : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n private _getMoreButtonColorCssClass(): string | null {\n if (this.color === 'random') {\n return `fd-avatar-group__more-button--accent-color-${getRandomColorAccent()}`;\n }\n\n if (!Number.isNaN(parseInt(this.color as string, 10))) {\n return `fd-avatar-group__more-button--accent-color-${this.color}`;\n }\n return null;\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-overflow-button-text]',\n host: { class: 'fd-button__text fd-avatar-group__button-text' }\n})\nexport class AvatarGroupOverflowButtonTextDirective {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n/** Needed to bind specific class to group type popover control. */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-avatar-group-popover-control]',\n host: { class: 'fd-avatar-group__popover-control' }\n})\nexport class AvatarGroupPopoverControlDirective {\n /** Tabindex of the popover control. */\n @Input()\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** Role of the popover control. */\n @Input()\n @HostBinding('attr.role')\n role = 'button';\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarGroupComponent } from './avatar-group.component';\nimport { AvatarGroupItemDirective } from './directives/avatar-group-item.directive';\nimport { AvatarGroupOverflowBodyDirective } from './directives/avatar-group-overflow-body.directive';\nimport { AvatarGroupOverflowItemDirective } from './directives/avatar-group-overflow-item.directive';\nimport { AvatarGroupOverflowButtonDirective } from './directives/avatar-group-overflow-button.directive';\nimport { AvatarGroupOverflowButtonTextDirective } from './directives/avatar-group-overflow-button-text.directive';\nimport { AvatarGroupFocusableAvatarDirective } from './directives/avatar-group-focusable-avatar.directive';\nimport { AvatarGroupPopoverControlDirective } from './directives/avatar-group-popover-control.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ],\n declarations: [\n AvatarGroupComponent,\n AvatarGroupItemDirective,\n AvatarGroupFocusableAvatarDirective,\n AvatarGroupPopoverControlDirective,\n AvatarGroupOverflowBodyDirective,\n AvatarGroupOverflowItemDirective,\n AvatarGroupOverflowButtonDirective,\n AvatarGroupOverflowButtonTextDirective\n ]\n})\nexport class AvatarGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import * as i1 from '@fundamental-ngx/core/utils';
|
|
|
8
8
|
import { resizeObservable, DragAndDropModule } from '@fundamental-ngx/core/utils';
|
|
9
9
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
10
10
|
import { Subject } from 'rxjs';
|
|
11
|
-
import { takeUntil, debounceTime } from 'rxjs/operators';
|
|
11
|
+
import { takeUntil, debounceTime, delay } from 'rxjs/operators';
|
|
12
12
|
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
13
13
|
|
|
14
14
|
class FixedCardLayoutItemComponent {
|
|
@@ -165,14 +165,6 @@ class FixedCardLayoutComponent {
|
|
|
165
165
|
this._accessibilitySetup();
|
|
166
166
|
}
|
|
167
167
|
/** @hidden */
|
|
168
|
-
ngAfterViewChecked() {
|
|
169
|
-
/**
|
|
170
|
-
* Update column layout when orientation of screen changes.
|
|
171
|
-
* actual width is returned when view is stable. In AfterViewInit, correct value does not come.
|
|
172
|
-
*/
|
|
173
|
-
this.updateLayout();
|
|
174
|
-
}
|
|
175
|
-
/** @hidden */
|
|
176
168
|
ngOnChanges(changes) {
|
|
177
169
|
if (!this._cards?.length) {
|
|
178
170
|
return;
|
|
@@ -198,7 +190,7 @@ class FixedCardLayoutComponent {
|
|
|
198
190
|
}
|
|
199
191
|
/** Distribute cards on window resize */
|
|
200
192
|
updateLayout() {
|
|
201
|
-
if (!this._cards.length) {
|
|
193
|
+
if (!this._cards.length || !this._availableWidth) {
|
|
202
194
|
return;
|
|
203
195
|
}
|
|
204
196
|
const possibleNumberOfColumns = getNumberOfColumns(this._availableWidth, this.cardMinimumWidth);
|
|
@@ -214,19 +206,6 @@ class FixedCardLayoutComponent {
|
|
|
214
206
|
}
|
|
215
207
|
this._setColumnsWidth();
|
|
216
208
|
}
|
|
217
|
-
/** @hidden Calculate container height basing on the card wrapper columns */
|
|
218
|
-
_calculateContainerHeight(additionalSpace = 0) {
|
|
219
|
-
this._changeDetector.detectChanges();
|
|
220
|
-
const wrapperColumns = this._cardColumns.map((column) => column
|
|
221
|
-
.map((card) => this._cardWrappers.find((wrapper) => wrapper.getSortedItems()[0].data === card)?.element)
|
|
222
|
-
.filter((v) => !!v));
|
|
223
|
-
const columnsHeights = wrapperColumns
|
|
224
|
-
.map((column) => column.map((card) => card.nativeElement.getBoundingClientRect().height))
|
|
225
|
-
.map((column) => column.reduce((height, cardHeight) => (height += cardHeight), 0));
|
|
226
|
-
// +4px because it's the top & bottom borders of card placeholder
|
|
227
|
-
this._containerHeight = Math.max(...columnsHeights) + 4 + additionalSpace;
|
|
228
|
-
this._changeDetector.detectChanges();
|
|
229
|
-
}
|
|
230
209
|
/** @hidden */
|
|
231
210
|
_onDropListExited() {
|
|
232
211
|
this._shouldCalculateContainerHeight = true;
|
|
@@ -297,7 +276,7 @@ class FixedCardLayoutComponent {
|
|
|
297
276
|
}
|
|
298
277
|
/** @hidden Listen card change and distribute cards on column change */
|
|
299
278
|
_listenOnCardsChange() {
|
|
300
|
-
this._cards.changes.subscribe(() => {
|
|
279
|
+
this._cards.changes.pipe(delay(0)).subscribe(() => {
|
|
301
280
|
this._processCards();
|
|
302
281
|
this._updateColumns();
|
|
303
282
|
});
|
|
@@ -313,7 +292,6 @@ class FixedCardLayoutComponent {
|
|
|
313
292
|
this._cardsArray = this._cards
|
|
314
293
|
.toArray()
|
|
315
294
|
.sort((firstCard, secondCard) => firstCard.fdCardDef - secondCard.fdCardDef);
|
|
316
|
-
this._changeDetector.detectChanges();
|
|
317
295
|
this.updateLayout();
|
|
318
296
|
}
|
|
319
297
|
/** @hidden Distribute cards among columns to arrange them in "Z" flow */
|
|
@@ -356,6 +334,19 @@ class FixedCardLayoutComponent {
|
|
|
356
334
|
this._changeDetector.detectChanges();
|
|
357
335
|
}
|
|
358
336
|
}
|
|
337
|
+
/** @hidden Calculate container height basing on the card wrapper columns */
|
|
338
|
+
_calculateContainerHeight(additionalSpace = 0) {
|
|
339
|
+
this._changeDetector.detectChanges();
|
|
340
|
+
const wrapperColumns = this._cardColumns.map((column) => column
|
|
341
|
+
.map((card) => this._cardWrappers.find((wrapper) => wrapper.getSortedItems()[0].data === card)?.element)
|
|
342
|
+
.filter((v) => !!v));
|
|
343
|
+
const columnsHeights = wrapperColumns
|
|
344
|
+
.map((column) => column.map((card) => card.nativeElement.getBoundingClientRect().height))
|
|
345
|
+
.map((column) => column.reduce((height, cardHeight) => (height += cardHeight), 0));
|
|
346
|
+
// +4px because it's the top & bottom borders of card placeholder
|
|
347
|
+
this._containerHeight = Math.max(...columnsHeights) + 4 + additionalSpace;
|
|
348
|
+
this._changeDetector.detectChanges();
|
|
349
|
+
}
|
|
359
350
|
}
|
|
360
351
|
FixedCardLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.4", ngImport: i0, type: FixedCardLayoutComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
361
352
|
FixedCardLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.4", type: FixedCardLayoutComponent, selector: "fd-fixed-card-layout", inputs: { disableDragDrop: "disableDragDrop", dragStartDelay: "dragStartDelay", cardMinimumWidth: "cardMinimumWidth", columnsWidthConfig: "columnsWidthConfig", maxColumns: "maxColumns" }, outputs: { layoutChange: "layoutChange", cardDraggedDropped: "cardDraggedDropped" }, host: { listeners: { "keydown": "handleKeydown($event)" }, classAttribute: "fd-fixed-card-layout" }, queries: [{ propertyName: "_cards", predicate: CardDefinitionDirective }], viewQueries: [{ propertyName: "_layout", first: true, predicate: ["layout"], descendants: true }, { propertyName: "_cardContainers", predicate: FixedCardLayoutItemComponent, descendants: true }, { propertyName: "_cardWrappers", predicate: ["dropList"], descendants: true, read: CdkDropList }], usesOnChanges: true, ngImport: i0, template: "<div\n #layout\n cdkDropListGroup\n fdDndKeyboardGroup\n class=\"fd-fixed-card-layout__card-layout fd-fixed-card-layout__card-layout--columns-{{ this._numberOfColumns }}\"\n [style.height]=\"_containerHeight + 'px'\"\n [groups]=\"_cardColumns\"\n orientation=\"horizontal\"\n [customMoveFn]=\"_customMoveFn\"\n [customTransferFn]=\"_customTransferFn\"\n [disableKeyboardDragDrop]=\"disableDragDrop\"\n [cdkDropListGroupDisabled]=\"disableDragDrop\"\n [attr.dir]=\"_dir\"\n>\n <div\n #dropList\n *ngFor=\"let card of _cardsArray; let cardIndex = index\"\n cdkDropList\n cdkDropListSortingDisabled\n class=\"fd-fixed-card-layout__card\"\n [class.fd-fixed-card-layout__card--single]=\"_singleItemColumns.has(card.fdCardDef)\"\n [style.min-width.px]=\"_columnsWidth.get(card.fdCardDef)\"\n [style.max-width.px]=\"_columnsWidth.get(card.fdCardDef)\"\n [cdkDropListData]=\"cardIndex\"\n [cdkDropListEnterPredicate]=\"_enterPredicate\"\n (cdkDropListEntered)=\"_onDropListEntered($event)\"\n (cdkDropListExited)=\"_onDropListExited()\"\n >\n <div\n cdkDrag\n fdDndKeyboardItem\n tabindex=\"0\"\n cdkDragPreviewClass=\"fd-fixed-card-layout__card-preview\"\n [cdkDragData]=\"card\"\n [cdkDragStartDelay]=\"dragStartDelay\"\n [itemIndex]=\"_itemIndexes.get(card.fdCardDef)!\"\n [groupIndex]=\"_groupIndexes.get(card.fdCardDef)!\"\n (cdkDragDropped)=\"_onDragDropped($event)\"\n (cdkDragStarted)=\"_setPlaceholderStyle(false)\"\n >\n <fd-fixed-card-layout-item>\n <ng-container *ngTemplateOutlet=\"card?.template || null\"> </ng-container>\n </fd-fixed-card-layout-item>\n\n <div *cdkDragPlaceholder class=\"fd-fixed-card-layout__card-placeholder\" [style]=\"_placeholderMargin\">\n <ng-container *ngTemplateOutlet=\"card?.template || null\"></ng-container>\n </div>\n </div>\n </div>\n\n <ng-container *ngFor=\"let column of _cardColumns; let last = last; let index = index\">\n <div *ngIf=\"!last\" class=\"fd-fixed-card-layout__clearfix\" [style.order]=\"index + 1\"></div>\n </ng-container>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.24.1-rc.1\n * Copyright (c) 2022 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-fixed-card-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0}.fd-fixed-card-layout:before,.fd-fixed-card-layout:after{box-sizing:inherit;font-size:inherit}.fd-fixed-card-layout__card-layout{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;margin-left:-1rem;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;flex-direction:column;margin-top:-1rem}.fd-fixed-card-layout__card-layout:before,.fd-fixed-card-layout__card-layout:after{box-sizing:inherit;font-size:inherit}[dir=rtl] .fd-fixed-card-layout__card-layout,.fd-fixed-card-layout__card-layout[dir=rtl]{margin-right:-1rem;margin-left:0}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-2 .fd-fixed-card-layout__card{width:50%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-2 .fd-fixed-card-layout__card:nth-of-type(2n){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-2 .fd-fixed-card-layout__card:nth-of-type(2n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-3 .fd-fixed-card-layout__card{width:33.3333333333%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-3 .fd-fixed-card-layout__card:nth-of-type(3n){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-3 .fd-fixed-card-layout__card:nth-of-type(3n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-3 .fd-fixed-card-layout__card:nth-of-type(3n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-4 .fd-fixed-card-layout__card{width:25%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-4 .fd-fixed-card-layout__card:nth-of-type(4n){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-4 .fd-fixed-card-layout__card:nth-of-type(4n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-4 .fd-fixed-card-layout__card:nth-of-type(4n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-4 .fd-fixed-card-layout__card:nth-of-type(4n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card{width:20%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card:nth-of-type(5n){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card:nth-of-type(5n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card:nth-of-type(5n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card:nth-of-type(5n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-5 .fd-fixed-card-layout__card:nth-of-type(5n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card{width:16.6666666667%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n){order:6}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-6 .fd-fixed-card-layout__card:nth-of-type(6n + 5){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card{width:14.2857142857%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n){order:7}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 5){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-7 .fd-fixed-card-layout__card:nth-of-type(7n + 6){order:6}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card{width:12.5%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n){order:8}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 5){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 6){order:6}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-8 .fd-fixed-card-layout__card:nth-of-type(8n + 7){order:7}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card{width:11.1111111111%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n){order:9}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 5){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 6){order:6}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 7){order:7}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-9 .fd-fixed-card-layout__card:nth-of-type(9n + 8){order:8}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card{width:10%}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n){order:10}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 1){order:1}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 2){order:2}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 3){order:3}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 4){order:4}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 5){order:5}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 6){order:6}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 7){order:7}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 8){order:8}.fd-fixed-card-layout__card-layout.fd-fixed-card-layout__card-layout--columns-10 .fd-fixed-card-layout__card:nth-of-type(10n + 9){order:9}.fd-fixed-card-layout__card,.fd-fixed-card-layout__card-placeholder{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;min-width:20rem;min-height:.0625rem}.fd-fixed-card-layout__card:before,.fd-fixed-card-layout__card:after,.fd-fixed-card-layout__card-placeholder:before,.fd-fixed-card-layout__card-placeholder:after{box-sizing:inherit;font-size:inherit}.fd-fixed-card-layout__card{padding-left:1rem;order:1;padding-top:1rem}[dir=rtl] .fd-fixed-card-layout__card,.fd-fixed-card-layout__card[dir=rtl]{padding-right:1rem;padding-left:0}.fd-fixed-card-layout__card--single{flex-basis:100%}.fd-fixed-card-layout__card:empty{padding-top:0}.fd-fixed-card-layout__card-placeholder{opacity:.3;border:.125rem dashed var(--sapContent_DragAndDropActiveColor);cursor:grabbing}.fd-fixed-card-layout__card-preview{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;padding:0;margin:0;border:0;box-sizing:border-box;border-radius:var(--sapElement_BorderCornerRadius);box-shadow:var(--sapContent_Shadow2)}.fd-fixed-card-layout__card-preview:before,.fd-fixed-card-layout__card-preview:after{box-sizing:inherit;font-size:inherit}.fd-fixed-card-layout__clearfix{font-size:var(--sapFontSize);line-height:var(--sapContent_LineHeight);color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;box-sizing:border-box;padding:0;margin:0;border:0;width:0;flex-basis:100%}.fd-fixed-card-layout__clearfix:before,.fd-fixed-card-layout__clearfix:after{box-sizing:inherit;font-size:inherit}.fd-fixed-card-layout__card{width:100%}.fd-fixed-card-layout__card-placeholder{width:100%;min-width:100%;max-width:100%}\n"], components: [{ type: FixedCardLayoutItemComponent, selector: "fd-fixed-card-layout-item" }], directives: [{ type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { type: i1.DndKeyboardGroupDirective, selector: "[fdDndKeyboardGroup]", inputs: ["groups", "disableKeyboardDragDrop", "orientation", "customMoveFn", "customTransferFn"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i1.DndKeyboardItemDirective, selector: "[fdDndKeyboardItem]", inputs: ["itemIndex", "groupIndex"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|