@fundamental-ngx/core 0.61.2-rc.9 → 0.61.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +2 -3
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +4 -6
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +13 -11
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +7 -5
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +31 -35
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +3 -5
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +13 -7
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +16 -11
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +65 -59
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +5 -5
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +49 -44
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +20 -25
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +8 -6
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +21 -22
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +16 -13
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +14 -11
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +9 -3
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +7 -4
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +11 -10
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +6 -7
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +6 -6
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +29 -4
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +15 -12
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +3 -5
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +4 -4
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +3 -5
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/package.json +3 -3
- package/types/fundamental-ngx-core-breadcrumb.d.ts +5 -5
- package/types/fundamental-ngx-core-busy-indicator.d.ts +3 -3
- package/types/fundamental-ngx-core-combobox.d.ts +2 -4
- package/types/fundamental-ngx-core-datetime.d.ts +5 -1
- package/types/fundamental-ngx-core-dialog.d.ts +1 -1
- package/types/fundamental-ngx-core-dynamic-page.d.ts +2 -1
- package/types/fundamental-ngx-core-inline-help.d.ts +45 -24
- package/types/fundamental-ngx-core-menu.d.ts +0 -2
- package/types/fundamental-ngx-core-message-box.d.ts +1 -1
- package/types/fundamental-ngx-core-message-strip.d.ts +12 -3
- package/types/fundamental-ngx-core-multi-combobox.d.ts +1 -1
- package/types/fundamental-ngx-core-nested-list.d.ts +10 -10
- package/types/fundamental-ngx-core-notification.d.ts +7 -5
- package/types/fundamental-ngx-core-pagination.d.ts +4 -3
- package/types/fundamental-ngx-core-rating-indicator.d.ts +2 -3
- package/types/fundamental-ngx-core-segmented-button.d.ts +5 -3
- package/types/fundamental-ngx-core-slider.d.ts +1 -1
- package/types/fundamental-ngx-core-time-picker.d.ts +17 -1
- package/types/fundamental-ngx-core-token.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Inject,\n Injector,\n Input,\n Optional,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n intersectionObservable,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { BehaviorSubject, combineLatest, EMPTY, filter, first, map, Observable, switchMap } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nlet toolbarTitleId = 0;\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent,\n FdTranslatePipe\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId = `fd-toolbar-title-${toolbarTitleId++}`;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected readonly _role = 'toolbar';\n\n /** @hidden */\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n private readonly _injector: Injector,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n toObservable(this.toolbarItems, { injector: this._injector }).pipe(\n map((toolbarItems) => [...toolbarItems])\n ),\n this._titleComponent$.pipe(\n map((titleComponent): HTMLElement | null => {\n if (!titleComponent) {\n return this.titleElement?.nativeElement;\n }\n return titleComponent.elementRef?.nativeElement;\n })\n ),\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce((_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n }, titleElement?.clientWidth || 0);\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n\n // Use IntersectionObserver to detect when toolbar becomes visible\n // (e.g., when rendered inside a tab that was initially hidden).\n // This triggers a recalculation once the toolbar is visible and has proper dimensions.\n this.shouldOverflow$\n .pipe(\n switchMap((shouldOverflow) =>\n shouldOverflow\n ? intersectionObservable(this.elementRef.nativeElement).pipe(\n filter((entries) => entries[0]?.isIntersecting),\n first()\n )\n : EMPTY\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._refreshOverflow$.next();\n });\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** @hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce(\n (gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n },\n {} as Record<number, Array<{ element: ToolbarItem; index: number }>>\n );\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity,\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), [] as ToolbarItem[]);\n }\n}\n","@if (title) {\n <span\n fd-title\n role=\"heading\"\n [headerSize]=\"4\"\n [attr.aria-level]=\"_headingLevel\"\n class=\"fd-toolbar__title\"\n [id]=\"titleId\"\n #titleElement\n >\n {{ title }}\n </span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <button\n fd-button\n [title]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n [attr.aria-label]=\"('coreToolbar.moreButton' | fdTranslate)()\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;MAEsB,WAAW,CAAA;AAMhC;;MCNY,UAAU,GAAG,IAAI,cAAc,CAAC,oBAAoB;;MCQpD,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;;AAQI,QAAA,IAAA,CAAA,kBAAkB,GAAA,MAAA;;QAGlB,IAAA,CAAA,eAAe,GAAG,CAAC;;QAgCX,IAAA,CAAA,SAAS,GAAG,CAAC;;AAGJ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AACpD,IAAA;;AAjCG,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,eAAe;IAC/B;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,kBAAkB;IAClC;;AAGA,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa;IACzC;;AAGA,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAChE;;AAGA,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC3B,OAAO,IAAI,CAAC,SAAS;QACzB;AACA,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,SAAS;IACzB;8GAnCS,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,mMAHlB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGjF,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4DAA4D;AACtE,oBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,oBAAqB,CAAC,EAAE,CAAC;AAC1F,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAGI;;sBAGA;;;ACJC,MAAO,yBAA0B,SAAQ,oBAAoB,CAAA;8GAAtD,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qFAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBARrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACEK,MAAO,qBAAsB,SAAQ,oBAAoB,CAAA;8GAAlD,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,qCAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACDK,MAAO,kCAAmC,SAAQ,oBAAoB,CAAA;8GAA/D,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kEAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mCAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlC,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAP9C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kEAAkE;AAC5E,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACCK,MAAO,8BAA+B,SAAQ,oBAAoB,CAAA;8GAA3D,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,6BAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yDAAyD;AACnE,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCGY,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,mIARxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE;AACV,qBAAA;AACD,oBAAA,UAAU,EAAE;AACf,iBAAA;;;MCJY,sBAAsB,CAAA;AALnC,IAAA,WAAA,GAAA;AAMI;;;AAGG;QAGH,IAAA,CAAA,KAAK,GAAG,KAAK;AAEb;AACG;QAEH,IAAA,CAAA,KAAK,GAAG,EAAE;AAEV;;;AAGG;QAEH,IAAA,CAAA,KAAK,GAAG,KAAK;AAOhB,IAAA;;AAJG,IAAA,IACI,GAAG,GAAA;AACH,QAAA,OAAO,sBAAsB,IAAI,CAAC,KAAK,GAAG,2BAA2B,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,KAAK,EAAE;IAC9F;8GAzBS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAMI,WAAW;uBAAC,aAAa;;sBACzB;;sBAKA;;sBAOA;;sBAIA,WAAW;uBAAC,YAAY;;;ACsB7B,MAAM,cAAc,GAAG,CAAC;AACxB,MAAM,iBAAiB,GAAG,EAAE;AAC5B,MAAM,oBAAoB,GAAG,EAAE;AAC/B,MAAM,gBAAgB,GAAG,QAAQ;AAIjC,IAAI,cAAc,GAAG,CAAC;MAmCT,gBAAgB,CAAA;AAYzB;;AAEG;IACH,IACI,cAAc,CAAC,GAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG;AAC1B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;IAClC;AAEA,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,eAAe;IAC/B;AAiCA;;AAEG;IACH,IACI,YAAY,CAAC,KAA6B,EAAA;AAC1C,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK;QAC9B;AAAO,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE;IACJ;;IAwBA,IACI,cAAc,CAAC,KAAwB,EAAA;AACvC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;AAEA,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK;IACtC;;AA8BA,IAAA,IAAY,aAAa,GAAA;AACrB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,GAAG,oBAAoB,GAAG,iBAAiB;AAC5G,QAAA,QACK,IAAI,CAAC,UAAU,CAAC,aAA6B,CAAC,WAAW;AAC1D,aAAC,kBAAkB,GAAG,CAAC,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAEzF;;IASA,WAAA,CACY,GAAsB,EACrB,uBAA+C,EACvC,WAAuB,EAChC,qBAA4C,EACnC,SAAmB,EAC+B,kBAAsC,EAAA;QALjG,IAAA,CAAA,GAAG,GAAH,GAAG;QACF,IAAA,CAAA,uBAAuB,GAAvB,uBAAuB;QACf,IAAA,CAAA,WAAW,GAAX,WAAW;QACpB,IAAA,CAAA,qBAAqB,GAArB,qBAAqB;QACZ,IAAA,CAAA,SAAS,GAAT,SAAS;QACyC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;AAnJzF;;AAEK;AAEL,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,iBAAA,EAAoB,cAAc,EAAE,EAAE;AAoBhD;;;AAGG;QAEH,IAAA,CAAA,MAAM,GAAgB,OAAO;AAM7B;;AAEG;QAEH,IAAA,CAAA,MAAM,GAAG,KAAK;AAEd;;AAEG;QAEH,IAAA,CAAA,WAAW,GAAG,KAAK;;QAInB,IAAA,CAAA,aAAa,GAAG,KAAK;;QAIrB,IAAA,CAAA,QAAQ,GAAG,CAAC,CAAC;;QA8BM,IAAA,CAAA,KAAK,GAAG,SAAS;;QAG3B,IAAA,CAAA,YAAY,GAAG,eAAe,CAAC,WAAW,yDAAI,WAAW,EAAE,IAAI,EAAA,CAAG;;QAgB3E,IAAA,CAAA,cAAc,GAAkB,EAAE;;AAGlC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK,sDAAC;;AAG1B,QAAA,IAAA,CAAA,gBAAgB,GAAG,eAAe,CAAC,sBAAsB,4DAAC;;AAG1D,QAAA,IAAA,CAAA,mBAAmB,GAAG,eAAe,CAAC,yBAAyB,+DAAC;;QAGhE,IAAA,CAAA,aAAa,GAAG,CAAC;;AAGR,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;;AAGhC,QAAA,IAAA,CAAA,gBAAgB,GAAuC,IAAI,eAAe,CAAoB,IAAI,CAAC;;AAGnG,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAO,SAAS,CAAC;;QAYxD,IAAA,CAAA,eAAe,GAAG,KAAK;;AAGvB,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;QAWzD,uBAAuB,CAAC,SAAS,EAAE;IACvC;;IAIA,sBAAsB,GAAA;QAClB,OAAO;YACH,YAAY;YACZ,CAAA,YAAA,EAAe,IAAI,CAAC,MAAM,CAAA,CAAE;AAC5B,YAAA,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,GAAG,oBAAoB,GAAG,EAAE,CAAA,CAAE;AACtE,YAAA,CAAA,EAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YACjE,CAAA,EAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,EAAE,CAAA,CAAE;YAChD,CAAA,EAAG,IAAI,CAAC,kBAAkB,GAAG,0BAA0B,GAAG,EAAE,CAAA;SAC/D;IACL;;IAGA,eAAe,GAAA;QACX,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;YAChC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;AACrG,YAAA,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAC9D,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAC3C;YACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtB,GAAG,CAAC,CAAC,cAAc,KAAwB;gBACvC,IAAI,CAAC,cAAc,EAAE;AACjB,oBAAA,OAAO,IAAI,CAAC,YAAY,EAAE,aAAa;gBAC3C;AACA,gBAAA,OAAO,cAAc,CAAC,UAAU,EAAE,aAAa;AACnD,YAAA,CAAC,CAAC,CACL;AACD,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC;AACR,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,KAAI;YAC/D,IAAI,cAAc,EAAE;gBAChB,MAAM,8BAA8B,GAAG,IAAI,CAAC,iCAAiC,CAAC,YAAY,CAAC;gBAC3F,MAAM,aAAa,GAAkB,EAAE;gBACvC,8BAA8B,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,WAAW,KAAI;AACjE,oBAAA,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC;AACvC,oBAAA,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ;AACzC,oBAAA,MAAM,0BAA0B,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY;oBAC3E,MAAM,wBAAwB,GAC1B,YAAY,KAAA,QAAA,sCAAoC,IAAI,CAAC,aAAa;AACtE,oBAAA,MAAM,uBAAuB,GAAG,YAAY,KAAA,OAAA;oBAC5C,IAAI,CAAC,0BAA0B,IAAI,CAAC,uBAAuB,KAAK,wBAAwB,EAAE;AACtF,wBAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC/B,OAAO,wBAAwB,GAAG,aAAa,GAAG,gBAAgB;oBACtE;yBAAO;wBACH,OAAO,aAAa,GAAG,SAAS;oBACpC;AACJ,gBAAA,CAAC,EAAE,YAAY,EAAE,WAAW,IAAI,CAAC,CAAC;;AAElC,gBAAA,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE;oBACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC;oBAClE,MAAM,2BAA2B,GAAG,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,CAAC;AACzF,oBAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK;AAC/B,oBAAA,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ;AACzC,oBAAA,IAAI,KAAK,KAAK,CAAC,IAAI,YAAY,KAAA,WAAA,uCAAqC;AAChE,wBAAA,MAAM,qBAAqB,GACvB,IAAI,CAAC,4BAA4B,CAC7B,KAAK,EACL,iBAAiB,EACjB,2BAA2B,CAC9B,IAAI,EAAE;AACX,wBAAA,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;4BAChC,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACjC,gCAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;4BACzB;AACJ,wBAAA,CAAC,CAAC;oBACN;gBACJ;gBACA,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrF;AACA,YAAA,OAAO,EAAE;QACb,CAAC,CAAC,EACF,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CACvC;QACD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACpC,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,YAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC5B,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE;;;;AAK7B,QAAA,IAAI,CAAC;aACA,IAAI,CACD,SAAS,CAAC,CAAC,cAAc,KACrB;AACI,cAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,IAAI,CACtD,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,EAC/C,KAAK,EAAE;cAEX,KAAK,CACd,EACD,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;aAEvC,SAAS,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;AACjC,QAAA,CAAC,CAAC;IACV;;IAGA,kBAAkB,GAAA;QACd,IAAI,CAAC,sBAAsB,EAAE;IACjC;;IAGA,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChF,IAAI,CAAC,sBAAsB,EAAE;QACjC;IACJ;;IAGA,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC5B;;IAGA,sBAAsB,GAAA;AAClB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;IACjC;;IAGQ,iBAAiB,GAAA;;;AAGrB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAChG;IACL;AAEA;;AAEM;IACE,2BAA2B,CAC/B,SAAiB,EACjB,yBAA4D,EAAA;QAE5D,MAAM,QAAQ,GAAG,yBAAyB;AAC1C,QAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE;AAChE,YAAA,OAAO,SAAS;QACpB;QAEA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAEpC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,YAAY,KAAI;AAC/C,YAAA,MAAM,mBAAmB,GAAG,QAAQ,CAAC,WAAW,CAAC;AACjD,YAAA,MAAM,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;AACnD,YAAA,IACI,uBAAuB,CAAC,GAAG,CAAC,oBAAoB,CAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,mBAAmB,CAAE,EACxG;gBACE,OAAO,CAAC,YAAY;YACxB;AAEA,YAAA,OAAO,WAAW;QACtB,CAAC,EAAE,SAAmB,CAAC;IAC3B;;AAGQ,IAAA,4BAA4B,CAChC,SAAiB,EACjB,iBAAiD,EACjD,yBAA4D,EAAA;QAE5D,MAAM,uBAAuB,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,yBAAyB,CAAC;AACtG,QAAA,IAAI,CAAC,iBAAiB,IAAI,CAAC,yBAAyB,EAAE;AAClD,YAAA,OAAO,EAAE;QACb;AACA,QAAA,IAAI,aAAa,GAAG,iBAAiB,CAAC,uBAAuB,CAAC;AAE9D,QAAA,OAAO,iBAAiB,CAAC,uBAAuB,CAAC;AACjD,QAAA,OAAO,yBAAyB,CAAC,uBAAuB,CAAC;AAEzD,QAAA,IAAI,uBAAuB,KAAK,SAAS,EAAE;YACvC,aAAa,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACnE,YAAA,OAAO,iBAAiB,CAAC,SAAS,CAAC;AACnC,YAAA,OAAO,yBAAyB,CAAC,SAAS,CAAC;QAC/C;AAEA,QAAA,OAAO,aAAa;IACxB;;AAGQ,IAAA,qBAAqB,CAAC,YAA2B,EAAA;QACrD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;AACrC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;AAC5B,YAAA,IACI,QAAQ,KAAA,OAAA;AACR,gBAAA,QAAQ,KAAA,QAAA;gBACR,SAAS,KAAK,CAAC,EACjB;AACE,gBAAA,OAAO,GAAG;YACd;AACA,YAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;AACjB,gBAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACvB;YACA,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACzB,YAAA,OAAO,GAAG;QACd,CAAC,EAAE,EAAE,CAAC;IACV;;AAGQ,IAAA,6BAA6B,CACjC,iBAAgD,EAAA;QAEhD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,SAAS,KAAI;AACpC,YAAA,MAAM,gBAAgB,GAAG,iBAAkB,CAAC,SAAS;iBAChD,GAAG,CAAC,CAAC,CAAc,KAAK,CAAC,CAAC,QAAQ;iBAClC,MAAM,CACH,CAAC,IAAsB,KACnB,IAAI,KAAA,QAAA,sCAAoC,IAAI,KAAA,OAAA;AAEnD,iBAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;YAE/B,GAAG,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;AAEpC,YAAA,OAAO,GAAG;QACd,CAAC,EAAE,EAAE,CAAC;IACV;;IAGQ,eAAe,CAAC,CAAmB,EAAE,CAAmB,EAAA;AAC5D,QAAA,OAAO,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAE;IAC5E;;AAGQ,IAAA,iCAAiC,CAAC,YAA2B,EAAA;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAC3B,CAAC,EAAE,EAAE,IAAI,KAAI;AACT,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK;AAChC,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;AACtC,YAAA,IAAI,QAAQ,KAAA,OAAA,qCAAmC,QAAQ,KAAA,QAAA,oCAAkC;gBACrF,OAAO,GAAG,CAAC;YACf;AAEA,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;AACd,gBAAA,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YACpB;YAEA,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAEtB,YAAA,OAAO,EAAE;QACb,CAAC,EACD,EAAoE,CACvE;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;AAC9B,aAAA,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE3B,QAAA,OAAO;AACF,aAAA,GAAG,CAAC,CAAC,CAAC,KAAI;AACP,YAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB;YACtC,IAAI,WAAW,GAAG,CAAC;YACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC1B,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;gBACzC,WAAW,GAAG,IAAI,CAAC,GAAG,CAClB,WAAW,EACX,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAClE;YACL;YAEA,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE;AACpF,QAAA,CAAC;AACA,aAAA,MAAM,CACH,CAAC,MAAM,CAAC,CAAC;AACL,cAAE;AACF,cAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACrB,gBAAA,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;AACrB,gBAAA,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ;gBAC5E,QAAQ,EAAE,IAAI,CAAC;AAClB,aAAA,CAAC,CAAC;aAEZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ;AACvE,aAAA,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAmB,CAAC;IACrE;AArbS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,gLAoJW,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApJpD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EAnBd;AACP,YAAA,+BAA+B,CAAC;gBAC5B,qBAAqB,EAAE,kBAAkB,CAAC;aAC7C,CAAC;AACF,YAAA;AACI,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EAAE;AAChB;SACJ,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAkGuC,WAAW,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,SAAA,EAsBhB,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,SAAA,EAGnB,yBAAyB,8EAtBjD,UAAU,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAXW,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5KjD,slDA4CA,EAAA,MAAA,EAAA,CAAA,s6PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDwCQ,sBAAsB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,yBAAyB,EAAA,QAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACzB,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,eAAe,sIACf,sBAAsB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACtB,cAAc,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACd,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;AA8JnB,UAAA,CAAA;IADC,aAAa;;;;AAUb,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,IAAA,CAAA;2FApKQ,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAzB5B,SAAS;+BACI,YAAY,EAAA,aAAA,EAGP,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACP,wBAAA,+BAA+B,CAAC;4BAC5B,qBAAqB,EAAE,kBAAkB,CAAC;yBAC7C,CAAC;AACF,wBAAA;AACI,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,WAAW,EAAA;AACd;qBACJ,EAAA,OAAA,EACQ;wBACL,sBAAsB;wBACtB,yBAAyB;wBACzB,aAAa;wBACb,eAAe;wBACf,sBAAsB;wBACtB,cAAc;wBACd;AACH,qBAAA,EAAA,QAAA,EAAA,slDAAA,EAAA,MAAA,EAAA,CAAA,s6PAAA,CAAA,EAAA;;0BAsJI;;0BAAY;;0BAAY,MAAM;2BAAC,yBAAyB;;sBAhJ5D;;sBAKA;;sBAMA;;sBAcA;;sBAIA;;sBAMA;;sBAMA;;sBAIA;;sBAIA;;sBAMA;;sBAUA;;sBACA,WAAW;uBAAC,iBAAiB;;sBAI7B;;sBACA,WAAW;uBAAC,sBAAsB;;sBAIlC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;;sBAI9C,WAAW;uBAAC,WAAW;AAIgB,aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,WAAW,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA;sBAGzE,YAAY;uBAAC,UAAU;AAmBW,aAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,sBAAsB,wGAGnB,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;AElMnE,MAAM,UAAU,GAAG;IACf,gBAAgB;IAChB,oBAAoB;IACpB,sBAAsB;IACtB,yBAAyB;IACzB,yBAAyB;IACzB,qBAAqB;IACrB,8BAA8B;IAC9B;CACH;AAED;;;AAGG;MAKU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAb,aAAa,EAAA,OAAA,EAAA,CAHZ,oBAAoB,EAf9B,gBAAgB;YAChB,oBAAoB;YACpB,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;YACzB,qBAAqB;YACrB,8BAA8B;AAC9B,YAAA,kCAAkC,aAPlC,gBAAgB;YAChB,oBAAoB;YACpB,sBAAsB;YACtB,yBAAyB;YACzB,yBAAyB;YACzB,qBAAqB;YACrB,8BAA8B;AAC9B,YAAA,kCAAkC,EAST,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAEpC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,OAAA,EAAA,CAHZ,oBAAoB,EAf9B,gBAAgB,EAgBS,oBAAoB,CAAA,EAAA,CAAA,CAAA;;2FAEpC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,GAAG,UAAU,CAAC;AAC9C,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,oBAAoB;AAChD,iBAAA;;;AC7BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/toolbar/tokens.ts","../../../../libs/core/toolbar/toolbar-item.directive.ts","../../../../libs/core/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/toolbar/toolbar-label.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/toolbar/toolbar-separator.component.ts","../../../../libs/core/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/toolbar/toolbar.component.ts","../../../../libs/core/toolbar/toolbar.component.html","../../../../libs/core/toolbar/toolbar.module.ts","../../../../libs/core/toolbar/fundamental-ngx-core-toolbar.ts"],"sourcesContent":["import { OverflowPriority } from '@fundamental-ngx/cdk/utils';\n\nexport abstract class ToolbarItem {\n abstract element: HTMLElement;\n abstract isSpacer: boolean;\n abstract width: number;\n abstract priority: OverflowPriority;\n abstract group: number;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_TOOLBAR = new InjectionToken('FdToolbarComponent');\n","import { Directive, ElementRef, forwardRef, inject, Input } from '@angular/core';\nimport { OverflowPriority } from '@fundamental-ngx/cdk/utils';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { OverflowPriorityEnum } from './toolbar.component';\n\n@Directive({\n selector: '[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]',\n providers: [{ provide: ToolbarItem, useExisting: forwardRef(() => ToolbarItemDirective) }],\n standalone: true\n})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** The priority of the item. */\n @Input()\n fdOverflowPriority: OverflowPriority = OverflowPriorityEnum.HIGH;\n /** The group number of the item. */\n @Input()\n fdOverflowGroup = 0;\n\n /** @hidden */\n get group(): number {\n return this.fdOverflowGroup;\n }\n\n /** @hidden */\n get priority(): OverflowPriority {\n return this.fdOverflowPriority;\n }\n\n /** @hidden */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** @hidden */\n get isSpacer(): boolean {\n return this.element.classList.contains('fd-toolbar__spacer');\n }\n\n /** @hidden */\n get width(): number {\n if (!this.element.clientWidth) {\n return this.lastWidth;\n }\n this.lastWidth = this.element.clientWidth + 8; // ELEMENT_MARGIN\n return this.lastWidth;\n }\n\n /** @hidden */\n private lastWidth = 0;\n\n /** @hidden */\n private readonly _elementRef = inject(ElementRef);\n}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-form-label]',\n host: {\n class: 'fd-form-label fd-toolbar__overflow-form-label fd-toolbar__overflow-form-label--text'\n },\n standalone: true\n})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\n\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-toolbar-label]',\n host: {\n class: 'fd-label fd-toolbar__overflow-label'\n },\n standalone: true\n})\nexport class ToolbarLabelDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButtonMenu], [fd-toolbar-overflow-button-menu]',\n host: {\n class: 'fd-toolbar__overflow-button--menu'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\n","import { Directive } from '@angular/core';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\n\n@Directive({\n selector: '[fdToolbarOverflowButton], [fd-toolbar-overflow-button]',\n host: {\n class: 'fd-toolbar__overflow-button'\n },\n standalone: true\n})\nexport class ToolbarOverflowButtonDirective extends ToolbarItemDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-toolbar-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-toolbar__separator'\n },\n standalone: true\n})\nexport class ToolbarSeparatorComponent {}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer',\n standalone: true\n})\nexport class ToolbarSpacerDirective {\n /** Determines the width of spacer when fixed property is set to true\n * Allowed values: absolute and relative metrics\n * Default value: 0px\n */\n @HostBinding('style.width')\n @Input()\n width = '0px';\n\n /** Property allows user to pass additional class\n */\n @Input()\n class = '';\n\n /** Determines if spacer should take only size taken from width property\n * Default value: false\n * Default behaviour: spacer takes remaining space automatically\n */\n @Input()\n fixed = false;\n\n /** @hidden */\n @HostBinding('attr.class')\n get css(): string {\n return `fd-toolbar__spacer ${this.fixed ? 'fd-toolbar__spacer--fixed' : ''} ${this.class}`;\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n contentChildren,\n DestroyRef,\n ElementRef,\n HostBinding,\n inject,\n Inject,\n Injector,\n Input,\n Optional,\n signal,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport {\n applyCssClass,\n CssClassBuilder,\n DynamicPortalComponent,\n intersectionObservable,\n Nullable,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent, TitleToken } from '@fundamental-ngx/core/title';\nimport { BehaviorSubject, combineLatest, EMPTY, filter, first, map, Observable, switchMap } from 'rxjs';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\nimport { FD_TOOLBAR } from './tokens';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_BTN_COZY = 36;\nconst OVERFLOW_BTN_COMPACT = 32;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\n\nlet toolbarTitleId = 0;\n\nexport const enum OverflowPriorityEnum {\n ALWAYS = 'always',\n NEVER = 'never',\n LOW = 'low',\n HIGH = 'high',\n DISAPPEAR = 'disappear'\n}\n\n@Component({\n selector: 'fd-toolbar',\n templateUrl: './toolbar.component.html',\n styleUrl: './toolbar.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n {\n provide: FD_TOOLBAR,\n useExisting: ToolbarComponent\n }\n ],\n imports: [\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n PopoverModule,\n ButtonComponent,\n DynamicPortalComponent,\n TitleComponent\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId = `fd-toolbar-title-${toolbarTitleId++}`;\n\n /** Property allows user to pass additional class\n */\n @Input()\n class: string;\n\n /** Determines if overflow button should be visible\n * Default value: false\n */\n @Input()\n set shouldOverflow(val: boolean) {\n this._shouldOverflow = val;\n this.shouldOverflow$.next(val);\n }\n\n get shouldOverflow(): boolean {\n return this._shouldOverflow;\n }\n\n /** Determines the type of toolbar\n * Available options: 'solid' | 'transparent' | 'auto' | 'info'\n * Default value: 'solid'\n */\n @Input()\n fdType: ToolbarType = 'solid';\n\n /** The title for the toolbar. */\n @Input()\n title: string;\n\n /** Determines if toolbar should has active state (only when fdType == 'info')\n * Default value: false\n */\n @Input()\n active = false;\n\n /** Determines if toolbar should clear border bottom\n * Default value: false\n */\n @Input()\n clearBorder = false;\n\n /** Whether all items should be inside overflow */\n @Input()\n forceOverflow = false;\n\n /** Tabindex of the toolbar element, to be used when fdType=\"info\" */\n @Input()\n tabindex = -1;\n\n /**\n * Heading level of the toolbar title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /** Toolbar Aria-label attribute. */\n @Input()\n @HostBinding('attr.aria-label')\n ariaLabel: string;\n\n /** Toolbar Aria-labelledby attribute. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledBy: string;\n\n /** @hidden */\n @ViewChild('titleElement', { read: ElementRef })\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @HostBinding('attr.role')\n protected readonly _role = 'toolbar';\n\n /** @hidden */\n readonly toolbarItems = contentChildren(ToolbarItem, { descendants: true });\n\n /** @hidden */\n @ContentChild(TitleToken)\n set titleComponent(title: TitleToken | null) {\n this._titleComponent$.next(title);\n }\n\n get titleComponent(): TitleToken | null {\n return this._titleComponent$.value;\n }\n\n /** @hidden */\n overflowItems$: Observable<ToolbarItem[]>;\n\n /** @hidden */\n overflownItems: ToolbarItem[] = [];\n\n /** @hidden */\n spacerUsed = signal(false);\n\n /** @hidden */\n spacerDirectives = contentChildren(ToolbarSpacerDirective);\n\n /** @hidden */\n separatorDirectives = contentChildren(ToolbarSeparatorComponent);\n\n /** @hidden */\n _headingLevel = 2;\n\n /** HTML Element Reference. */\n readonly elementRef = inject(ElementRef);\n\n /** @hidden */\n private _titleComponent$: BehaviorSubject<TitleToken | null> = new BehaviorSubject<TitleToken | null>(null);\n\n /** @hidden */\n private _refreshOverflow$ = new BehaviorSubject<void>(undefined);\n\n /** @hidden */\n private get _toolbarWidth(): number {\n const _overflow_btn_size = this._contentDensityObserver.isCompact ? OVERFLOW_BTN_COMPACT : OVERFLOW_BTN_COZY;\n return (\n (this.elementRef.nativeElement as HTMLElement).clientWidth -\n (_overflow_btn_size + 4 * ELEMENT_MARGIN + 1 + this.separatorDirectives().length)\n );\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private shouldOverflow$ = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver,\n private readonly _destroyRef: DestroyRef,\n private resizeObserverService: ResizeObserverService,\n private readonly _injector: Injector,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-toolbar',\n `fd-toolbar--${this.fdType}`,\n `${this.active && this.fdType === 'info' ? 'fd-toolbar--active' : ''}`,\n `${this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._updateSpacerUsed();\n\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.elementRef.nativeElement).pipe(map(() => this._toolbarWidth)),\n toObservable(this.toolbarItems, { injector: this._injector }).pipe(\n map((toolbarItems) => [...toolbarItems])\n ),\n this._titleComponent$.pipe(\n map((titleComponent): HTMLElement | null => {\n if (!titleComponent) {\n return this.titleElement?.nativeElement;\n }\n return titleComponent.elementRef?.nativeElement;\n })\n ),\n this.shouldOverflow$,\n this._refreshOverflow$\n ]).pipe(\n map(([toolbarWidth, toolbarItems, titleElement, shouldOverflow]) => {\n if (shouldOverflow) {\n const _sortedByPriorityAndGroupItems = this._getSortedByPriorityAndGroupItems(toolbarItems);\n const overflowItems: ToolbarItem[] = [];\n _sortedByPriorityAndGroupItems.reduce((_contentWidth, toolbarItem) => {\n const itemWidth = toolbarItem.width + 2;\n const itemPriority = toolbarItem.priority;\n const shouldItemBeRemovedByWidth = itemWidth + _contentWidth > toolbarWidth;\n const shouldAlwaysBeInOverflow =\n itemPriority === OverflowPriorityEnum.ALWAYS || this.forceOverflow;\n const shouldNeverBeInOverflow = itemPriority === OverflowPriorityEnum.NEVER;\n if ((shouldItemBeRemovedByWidth && !shouldNeverBeInOverflow) || shouldAlwaysBeInOverflow) {\n overflowItems.push(toolbarItem);\n return shouldAlwaysBeInOverflow ? _contentWidth : MAX_CONTENT_SIZE;\n } else {\n return _contentWidth + itemWidth;\n }\n }, titleElement?.clientWidth || 0);\n // Hide orphans\n for (const toolbarItem of overflowItems) {\n const groupedCollection = this._getGroupedCollection(toolbarItems);\n const groupedCollectionPriorities = this._getGroupedCollectionPriority(groupedCollection);\n const group = toolbarItem.group;\n const itemPriority = toolbarItem.priority;\n if (group !== 0 && itemPriority !== OverflowPriorityEnum.DISAPPEAR) {\n const itemsFromCurrentGroup =\n this._getElementsFromCurrentGroup(\n group,\n groupedCollection,\n groupedCollectionPriorities\n ) || [];\n itemsFromCurrentGroup.forEach((i) => {\n if (overflowItems.indexOf(i) === -1) {\n overflowItems.push(i);\n }\n });\n }\n }\n return overflowItems.sort((a, b) => this._sortPriorities(a.priority, b.priority));\n }\n return [];\n }),\n takeUntilDestroyed(this._destroyRef)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this.buildComponentCssClass();\n\n // Use IntersectionObserver to detect when toolbar becomes visible\n // (e.g., when rendered inside a tab that was initially hidden).\n // This triggers a recalculation once the toolbar is visible and has proper dimensions.\n this.shouldOverflow$\n .pipe(\n switchMap((shouldOverflow) =>\n shouldOverflow\n ? intersectionObservable(this.elementRef.nativeElement).pipe(\n filter((entries) => entries[0]?.isIntersecting),\n first()\n )\n : EMPTY\n ),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n this._refreshOverflow$.next();\n });\n }\n\n /** @hidden */\n ngAfterViewChecked(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this.titleComponent) {\n this.titleComponent.elementRef?.nativeElement.classList.add('fd-toolbar__title');\n this.buildComponentCssClass();\n }\n }\n\n /** Change detection reference */\n detectChanges(): void {\n this._cd.detectChanges();\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\n }\n\n /** @hidden */\n private _updateSpacerUsed(): void {\n // do not render extra spacer if there is at least one passed by the application\n // and it is not fixed this.spacerUsed.set(this.spacer.length > 0 && this.spacer.some((spacer) => !spacer.fixed));\n this.spacerUsed.set(\n this.spacerDirectives().length > 0 && this.spacerDirectives().some((spacer) => !spacer.fixed)\n );\n }\n\n /** @hidden Get group number with the lowest priority.\n * Uses for detecting a group of elements which would be hidden from the toolbar.\n * */\n private _getLowestPriorityFromGroup(\n itemGroup: number,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): number {\n const priority = groupedCollectionPriority;\n if (!priority || !OVERFLOW_PRIORITY_SCORE.get(priority[itemGroup])) {\n return itemGroup;\n }\n\n const groups = Object.keys(priority);\n\n return groups.reduce((lowestGroup, currentGroup) => {\n const lowestGroupPriority = priority[lowestGroup];\n const currentGroupPriority = priority[currentGroup];\n if (\n OVERFLOW_PRIORITY_SCORE.get(currentGroupPriority)! < OVERFLOW_PRIORITY_SCORE.get(lowestGroupPriority)!\n ) {\n return +currentGroup;\n }\n\n return lowestGroup;\n }, itemGroup as number);\n }\n\n /** @hidden */\n private _getElementsFromCurrentGroup(\n itemGroup: number,\n groupedCollection?: Record<number, ToolbarItem[]>,\n groupedCollectionPriority?: Record<number, OverflowPriority>\n ): ToolbarItem[] {\n const lowestPriorityFromGroup = this._getLowestPriorityFromGroup(itemGroup, groupedCollectionPriority);\n if (!groupedCollection || !groupedCollectionPriority) {\n return [];\n }\n let itemsToRemove = groupedCollection[lowestPriorityFromGroup];\n\n delete groupedCollection[lowestPriorityFromGroup];\n delete groupedCollectionPriority[lowestPriorityFromGroup];\n\n if (lowestPriorityFromGroup !== itemGroup) {\n itemsToRemove = [...itemsToRemove, ...groupedCollection[itemGroup]];\n delete groupedCollection[itemGroup];\n delete groupedCollectionPriority[itemGroup];\n }\n\n return itemsToRemove;\n }\n\n /** @hidden Get the object with grouped arrays of elements. */\n private _getGroupedCollection(toolbarItems: ToolbarItem[]): Record<number, ToolbarItem[]> {\n return toolbarItems.reduce((acc, item) => {\n const itemPrio = item.priority;\n const itemGroup = item.group;\n if (\n itemPrio === OverflowPriorityEnum.NEVER ||\n itemPrio === OverflowPriorityEnum.ALWAYS ||\n itemGroup === 0\n ) {\n return acc;\n }\n if (!acc[itemGroup]) {\n acc[itemGroup] = [];\n }\n acc[itemGroup].push(item);\n return acc;\n }, {});\n }\n\n /** @hidden Get the object with the highest priority for each group of elements. */\n private _getGroupedCollectionPriority(\n groupedCollection: Record<number, ToolbarItem[]>\n ): Record<number, OverflowPriority> {\n const groups = Object.keys(groupedCollection);\n\n return groups.reduce((acc, itemGroup) => {\n const sortedPriorities = groupedCollection![itemGroup]\n .map((i: ToolbarItem) => i.priority)\n .filter(\n (prio: OverflowPriority) =>\n prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER\n )\n .sort(this._sortPriorities);\n\n acc[itemGroup] = sortedPriorities[0];\n\n return acc;\n }, {});\n }\n\n /** @hidden Sort priorities of elements/groups. */\n private _sortPriorities(a: OverflowPriority, b: OverflowPriority): number {\n return OVERFLOW_PRIORITY_SCORE.get(b)! - OVERFLOW_PRIORITY_SCORE.get(a)!;\n }\n\n /** @hidden Sort by group and priority and initial position */\n private _getSortedByPriorityAndGroupItems(toolbarItems: ToolbarItem[]): ToolbarItem[] {\n const notSorted = toolbarItems.map((element, index) => ({ element, index }));\n\n const groups = notSorted.reduce(\n (gr, item) => {\n let groupId = item.element.group;\n const itemPrio = item.element.priority;\n if (itemPrio === OverflowPriorityEnum.NEVER || itemPrio === OverflowPriorityEnum.ALWAYS) {\n groupId = 0;\n }\n\n if (!gr[groupId]) {\n gr[groupId] = [];\n }\n\n gr[groupId].push(item);\n\n return gr;\n },\n {} as Record<number, Array<{ element: ToolbarItem; index: number }>>\n );\n\n const groupIds = Object.keys(groups)\n .map((g) => parseInt(g, 10))\n .filter((g) => g !== 0);\n\n return groupIds\n .map((g) => {\n let minIndex = Number.MAX_SAFE_INTEGER;\n let maxPriority = 0;\n for (const item of groups[g]) {\n minIndex = Math.min(minIndex, item.index);\n maxPriority = Math.max(\n maxPriority,\n OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity\n );\n }\n\n return { group: groups[g].map(({ element }) => element), minIndex, maxPriority };\n })\n .concat(\n !groups[0]\n ? []\n : groups[0].map((item) => ({\n group: [item.element],\n maxPriority: OVERFLOW_PRIORITY_SCORE.get(item.element.priority) ?? -Infinity,\n minIndex: item.index\n }))\n )\n .sort((a, b) => b.maxPriority - a.maxPriority || a.minIndex - b.minIndex)\n .reduce((arr, i) => arr.concat(i.group), [] as ToolbarItem[]);\n }\n}\n","@if (title) {\n <span\n fd-title\n role=\"heading\"\n [headerSize]=\"4\"\n [attr.aria-level]=\"_headingLevel\"\n class=\"fd-toolbar__title\"\n [id]=\"titleId\"\n #titleElement\n >\n {{ title }}\n </span>\n}\n<ng-content></ng-content>\n@if (overflownItems.length > 0) {\n @if (!spacerUsed()) {\n <fd-toolbar-spacer></fd-toolbar-spacer>\n }\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\" [focusAutoCapture]=\"true\">\n <fd-popover-control>\n <button\n fd-button\n title=\"More\"\n aria-label=\"More\"\n aria-haspopup=\"true\"\n fdType=\"transparent\"\n glyph=\"overflow\"\n ></button>\n </fd-popover-control>\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n @for (overflowedItem of overflownItems; track overflowedItem) {\n <fdk-dynamic-portal\n [domElement]=\"overflowedItem.element\"\n [style.display]=\"overflowedItem.priority === 'disappear' ? 'none' : 'flex'\"\n [style.flex-direction]=\"overflowedItem.priority === 'disappear' ? undefined : 'column'\"\n >\n </fdk-dynamic-portal>\n }\n </div>\n </fd-popover-body>\n </fd-popover>\n}\n","import { NgModule } from '@angular/core';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarComponent } from './toolbar.component';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ContentDensityModule, ...components],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|