@fundamental-ngx/core 0.43.28 → 0.43.30

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.
Files changed (126) hide show
  1. package/combobox/combobox.module.d.ts +1 -1
  2. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +3 -1
  3. package/esm2020/action-sheet/action-sheet.component.mjs +1 -1
  4. package/esm2020/combobox/combobox-mobile/combobox-mobile.component.mjs +1 -1
  5. package/esm2020/combobox/combobox.component.mjs +3 -3
  6. package/esm2020/combobox/combobox.module.mjs +8 -5
  7. package/esm2020/date-picker/date-picker.component.mjs +1 -1
  8. package/esm2020/datetime-picker/datetime-picker.component.mjs +1 -1
  9. package/esm2020/dialog/dialog-close-button/dialog-close-button.component.mjs +5 -3
  10. package/esm2020/dialog/dialog-default/dialog-default.component.mjs +3 -3
  11. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +9 -3
  12. package/esm2020/menu/directives/menu-interactive.directive.mjs +6 -3
  13. package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +1 -1
  14. package/esm2020/multi-combobox/mobile/mobile-multi-combobox.component.mjs +1 -1
  15. package/esm2020/multi-combobox/multi-combobox.component.mjs +3 -3
  16. package/esm2020/multi-combobox/multi-combobox.module.mjs +8 -5
  17. package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
  18. package/esm2020/multi-input/multi-input.component.mjs +3 -3
  19. package/esm2020/multi-input/multi-input.module.mjs +8 -5
  20. package/esm2020/nested-list/nested-list-popover/nested-list-popover.component.mjs +1 -1
  21. package/esm2020/overflow-layout/overflow-layout.component.mjs +1 -1
  22. package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +2 -2
  23. package/esm2020/popover/popover.component.mjs +19 -9
  24. package/esm2020/product-switch/product-switch/product-switch.component.mjs +1 -1
  25. package/esm2020/progress-indicator/progress-indicator.component.mjs +1 -1
  26. package/esm2020/rating-indicator/components/rating-indicator.component.mjs +1 -1
  27. package/esm2020/select/select-mobile/select-mobile.component.mjs +1 -1
  28. package/esm2020/select/select.component.mjs +3 -3
  29. package/esm2020/slider/slider.component.mjs +1 -1
  30. package/esm2020/step-input/step-input.component.mjs +1 -1
  31. package/esm2020/time-picker/time-picker.component.mjs +1 -1
  32. package/esm2020/token/tokenizer.component.mjs +1 -1
  33. package/esm2020/toolbar/toolbar.component.mjs +1 -1
  34. package/fesm2015/fundamental-ngx-core-action-sheet.mjs +1 -1
  35. package/fesm2015/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  36. package/fesm2015/fundamental-ngx-core-combobox.mjs +10 -7
  37. package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
  38. package/fesm2015/fundamental-ngx-core-date-picker.mjs +1 -1
  39. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  40. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +1 -1
  41. package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  42. package/fesm2015/fundamental-ngx-core-dialog.mjs +6 -4
  43. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  44. package/fesm2015/fundamental-ngx-core-form.mjs +8 -2
  45. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  46. package/fesm2015/fundamental-ngx-core-menu.mjs +6 -3
  47. package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
  48. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +10 -7
  49. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  50. package/fesm2015/fundamental-ngx-core-multi-input.mjs +10 -7
  51. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-core-nested-list.mjs +1 -1
  53. package/fesm2015/fundamental-ngx-core-nested-list.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs +1 -1
  55. package/fesm2015/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  56. package/fesm2015/fundamental-ngx-core-popover.mjs +19 -9
  57. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  58. package/fesm2015/fundamental-ngx-core-product-switch.mjs +1 -1
  59. package/fesm2015/fundamental-ngx-core-product-switch.mjs.map +1 -1
  60. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs +1 -1
  61. package/fesm2015/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  62. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +1 -1
  63. package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  64. package/fesm2015/fundamental-ngx-core-select.mjs +3 -3
  65. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  66. package/fesm2015/fundamental-ngx-core-slider.mjs +1 -1
  67. package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
  68. package/fesm2015/fundamental-ngx-core-step-input.mjs +1 -1
  69. package/fesm2015/fundamental-ngx-core-step-input.mjs.map +1 -1
  70. package/fesm2015/fundamental-ngx-core-time-picker.mjs +1 -1
  71. package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
  72. package/fesm2015/fundamental-ngx-core-token.mjs +1 -1
  73. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  74. package/fesm2015/fundamental-ngx-core-toolbar.mjs +1 -1
  75. package/fesm2015/fundamental-ngx-core-toolbar.mjs.map +1 -1
  76. package/fesm2020/fundamental-ngx-core-action-sheet.mjs +1 -1
  77. package/fesm2020/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  78. package/fesm2020/fundamental-ngx-core-combobox.mjs +10 -7
  79. package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
  80. package/fesm2020/fundamental-ngx-core-date-picker.mjs +1 -1
  81. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  82. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +1 -1
  83. package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  84. package/fesm2020/fundamental-ngx-core-dialog.mjs +6 -4
  85. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  86. package/fesm2020/fundamental-ngx-core-form.mjs +8 -2
  87. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  88. package/fesm2020/fundamental-ngx-core-menu.mjs +6 -3
  89. package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
  90. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +10 -7
  91. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  92. package/fesm2020/fundamental-ngx-core-multi-input.mjs +10 -7
  93. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  94. package/fesm2020/fundamental-ngx-core-nested-list.mjs +1 -1
  95. package/fesm2020/fundamental-ngx-core-nested-list.mjs.map +1 -1
  96. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs +1 -1
  97. package/fesm2020/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  98. package/fesm2020/fundamental-ngx-core-popover.mjs +19 -9
  99. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  100. package/fesm2020/fundamental-ngx-core-product-switch.mjs +1 -1
  101. package/fesm2020/fundamental-ngx-core-product-switch.mjs.map +1 -1
  102. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs +1 -1
  103. package/fesm2020/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
  104. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +1 -1
  105. package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  106. package/fesm2020/fundamental-ngx-core-select.mjs +3 -3
  107. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  108. package/fesm2020/fundamental-ngx-core-slider.mjs +1 -1
  109. package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
  110. package/fesm2020/fundamental-ngx-core-step-input.mjs +1 -1
  111. package/fesm2020/fundamental-ngx-core-step-input.mjs.map +1 -1
  112. package/fesm2020/fundamental-ngx-core-time-picker.mjs +1 -1
  113. package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
  114. package/fesm2020/fundamental-ngx-core-token.mjs +1 -1
  115. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  116. package/fesm2020/fundamental-ngx-core-toolbar.mjs +1 -1
  117. package/fesm2020/fundamental-ngx-core-toolbar.mjs.map +1 -1
  118. package/form/form-input-message-group/form-input-message-group.component.d.ts +5 -1
  119. package/fundamental-ngx-core-v0.43.30.tgz +0 -0
  120. package/menu/directives/menu-interactive.directive.d.ts +2 -0
  121. package/multi-combobox/multi-combobox.module.d.ts +1 -1
  122. package/multi-input/multi-input.module.d.ts +1 -1
  123. package/package.json +3 -3
  124. package/popover/popover.component.d.ts +5 -1
  125. package/schematics/add-dependencies/index.js +4 -4
  126. package/fundamental-ngx-core-v0.43.28.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/src/lib/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/src/lib/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-separator.component.ts","../../../../libs/core/src/lib/toolbar/toolbar.component.ts","../../../../libs/core/src/lib/toolbar/toolbar.component.html","../../../../libs/core/src/lib/toolbar/toolbar-item.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-label.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/src/lib/toolbar/deprecated-toolbar-size.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar.module.ts","../../../../libs/core/src/lib/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 { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer'\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 { Component, ViewEncapsulation, ChangeDetectionStrategy } 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})\nexport class ToolbarSeparatorComponent {}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport {\n applyCssClass,\n CssClassBuilder,\n DestroyedService,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith, takeUntil } from 'rxjs';\nimport { TitleToken } from '@fundamental-ngx/core/title';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_SPACE = 50 + 2 * ELEMENT_MARGIN;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\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 styleUrls: ['./toolbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n DestroyedService\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId: string;\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 /** @deprecated */\n @Input()\n hasTitle = false;\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 /** @hidden */\n @ViewChild('toolbar')\n toolbar: ElementRef;\n\n /** @hidden */\n @ViewChild('titleElement')\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => ToolbarItem))\n toolbarItems: QueryList<ToolbarItem>;\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 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 return (this.toolbar.nativeElement as HTMLElement).clientWidth - OVERFLOW_SPACE;\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private _initialised = 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 _destroy$: DestroyedService,\n private resizeObserverService: ResizeObserverService,\n private ngZone: NgZone,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.toolbar.nativeElement).pipe(map(() => this._toolbarWidth)),\n this.toolbarItems.changes.pipe(\n startWith(this.toolbarItems),\n map((toolbarItems) => toolbarItems.toArray())\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;\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 takeUntil(this._destroy$)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this._initialised = true;\n this.buildComponentCssClass();\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 /** @hidden */\n get elementRef(): ElementRef {\n return this.toolbar;\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.hasTitle || this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\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) => i.priority)\n .filter((prio) => prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER)\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((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\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),\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), []);\n }\n}\n","<div #toolbar [tabindex]=\"tabindex\" [class.fd-toolbar--cozy]=\"_contentDensityObserver.isCozy$ | async\">\n <h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\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\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\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 </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n</div>\n","import { Directive, ElementRef, forwardRef, 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})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** @hidden */\n private lastWidth = 0;\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 constructor(public elementRef: ElementRef) {}\n}\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})\nexport class ToolbarLabelDirective 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})\nexport class ToolbarOverflowButtonDirective 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})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\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})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive, forwardRef, Input, isDevMode, OnDestroy } from '@angular/core';\nimport {\n CONTENT_DENSITY_DIRECTIVE,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { BehaviorSubject } from 'rxjs';\nimport { ModuleDeprecation } from '@fundamental-ngx/cdk/utils';\n\ntype ToolbarSize = 'cozy' | 'compact' | 'condensed' | null;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar[size]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedToolbarSizeDirective)\n }\n ]\n})\nexport class DeprecatedToolbarSizeDirective\n extends BehaviorSubject<LocalContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** Size of the toolbar. */\n @Input()\n set size(value: ToolbarSize) {\n switch (value) {\n case 'cozy':\n this.next(ContentDensityMode.COZY);\n break;\n case 'compact':\n this.next(ContentDensityMode.COMPACT);\n break;\n case 'condensed':\n this.next(ContentDensityMode.CONDENSED);\n break;\n default:\n this.next(ContentDensityMode.COMPACT);\n }\n }\n\n /** @hidden */\n readonly message: string;\n\n /** @hidden */\n readonly alternative = {\n name: 'Use [fdContentDensity] directive instead',\n link: ['/core', 'content-density']\n };\n\n /** @hidden */\n constructor() {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of fd-toolbar[size] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdContentDensity] directive instead.`);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ToolbarComponent } from './toolbar.component';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { DeprecatedToolbarSizeDirective } from './deprecated-toolbar-size.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective,\n DeprecatedToolbarSizeDirective\n];\n\n@NgModule({\n declarations: [...components],\n imports: [CommonModule, ButtonModule, PopoverModule, ContentDensityModule, DynamicPortalComponent],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i6.ToolbarSpacerDirective","i7.ToolbarSeparatorComponent"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-toolbar.mjs","sources":["../../../../libs/core/src/lib/toolbar/abstract-toolbar-item.class.ts","../../../../libs/core/src/lib/toolbar/toolbar-spacer.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-separator.component.ts","../../../../libs/core/src/lib/toolbar/toolbar.component.ts","../../../../libs/core/src/lib/toolbar/toolbar.component.html","../../../../libs/core/src/lib/toolbar/toolbar-item.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-label.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-overflow-button.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-overflow-button-menu.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar-form-label.directive.ts","../../../../libs/core/src/lib/toolbar/deprecated-toolbar-size.directive.ts","../../../../libs/core/src/lib/toolbar/toolbar.module.ts","../../../../libs/core/src/lib/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 { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar-spacer'\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 { Component, ViewEncapsulation, ChangeDetectionStrategy } 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})\nexport class ToolbarSeparatorComponent {}\n","import {\n AfterContentInit,\n AfterViewChecked,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n SkipSelf,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport {\n applyCssClass,\n CssClassBuilder,\n DestroyedService,\n OVERFLOW_PRIORITY_SCORE,\n OverflowPriority,\n ResizeObserverService\n} from '@fundamental-ngx/cdk/utils';\nimport { BehaviorSubject, combineLatest, map, Observable, startWith, takeUntil } from 'rxjs';\nimport { TitleToken } from '@fundamental-ngx/core/title';\nimport {\n ContentDensityMode,\n ContentDensityObserver,\n contentDensityObserverProviders\n} from '@fundamental-ngx/core/content-density';\nimport { ToolbarItem } from './abstract-toolbar-item.class';\n\nconst ELEMENT_MARGIN = 8;\nconst OVERFLOW_SPACE = 50 + 2 * ELEMENT_MARGIN;\nconst MAX_CONTENT_SIZE = 99999999;\n\nexport type ToolbarType = 'solid' | 'transparent' | 'auto' | 'info';\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 styleUrls: ['./toolbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n defaultContentDensity: ContentDensityMode.COMPACT\n }),\n DestroyedService\n ]\n})\nexport class ToolbarComponent implements AfterViewInit, AfterViewChecked, CssClassBuilder, AfterContentInit {\n /**\n * The ID of the toolbar title\n * */\n @Input()\n titleId: string;\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 /** @deprecated */\n @Input()\n hasTitle = false;\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 /** @hidden */\n @ViewChild('toolbar')\n toolbar: ElementRef;\n\n /** @hidden */\n @ViewChild('titleElement')\n titleElement: ElementRef<HTMLHeadElement>;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => ToolbarItem))\n toolbarItems: QueryList<ToolbarItem>;\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 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 return (this.toolbar.nativeElement as HTMLElement).clientWidth - OVERFLOW_SPACE;\n }\n\n /** @hidden */\n private _shouldOverflow = false;\n\n /** @hidden */\n private _initialised = 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 _destroy$: DestroyedService,\n private resizeObserverService: ResizeObserverService,\n private ngZone: NgZone,\n @Optional() @SkipSelf() @Inject(DYNAMIC_PAGE_HEADER_TOKEN) private _dynamicPageHeader?: DynamicPageHeader\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.overflowItems$ = combineLatest([\n this.resizeObserverService.observe(this.toolbar.nativeElement).pipe(map(() => this._toolbarWidth)),\n this.toolbarItems.changes.pipe(\n startWith(this.toolbarItems),\n map((toolbarItems) => toolbarItems.toArray())\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;\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 takeUntil(this._destroy$)\n );\n this.overflowItems$.subscribe((items) => {\n this.overflownItems = items;\n this._cd.detectChanges();\n });\n this._initialised = true;\n this.buildComponentCssClass();\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 /** @hidden */\n get elementRef(): ElementRef {\n return this.toolbar;\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.hasTitle || this.title || this.titleComponent ? 'fd-toolbar--title' : ''}`,\n `${this.clearBorder ? 'fd-toolbar--clear' : ''}`,\n `${this._dynamicPageHeader ? 'fd-dynamic-page__toolbar' : ''}`\n ];\n }\n\n /** Method triggering collapsible toolbar */\n updateCollapsibleItems(): void {\n this._refreshOverflow$.next();\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) => i.priority)\n .filter((prio) => prio !== OverflowPriorityEnum.ALWAYS && prio !== OverflowPriorityEnum.NEVER)\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((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\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),\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), []);\n }\n}\n","<div #toolbar [tabindex]=\"tabindex\" [class.fd-toolbar--cozy]=\"_contentDensityObserver.isCozy$ | async\">\n <h4 *ngIf=\"title\" class=\"fd-title fd-title--h4 fd-toolbar__title\" [id]=\"titleId\" #titleElement>{{ title }}</h4>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"overflownItems.length > 0\">\n <fd-toolbar-spacer></fd-toolbar-spacer>\n <fd-toolbar-separator></fd-toolbar-separator>\n <fd-popover placement=\"bottom-end\" [noArrow]=\"true\" class=\"fd-popover\">\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\n <fd-popover-body>\n <div class=\"fd-toolbar__overflow\">\n <ng-container *ngFor=\"let overflowedItem of overflownItems\">\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 </ng-container>\n </div>\n </fd-popover-body>\n </fd-popover>\n </ng-container>\n</div>\n","import { Directive, ElementRef, forwardRef, 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})\nexport class ToolbarItemDirective implements ToolbarItem {\n /** @hidden */\n private lastWidth = 0;\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 constructor(public elementRef: ElementRef) {}\n}\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})\nexport class ToolbarLabelDirective 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})\nexport class ToolbarOverflowButtonDirective 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})\nexport class ToolbarOverflowButtonMenuDirective extends ToolbarItemDirective {}\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})\nexport class ToolbarFormLabelDirective extends ToolbarItemDirective {}\n","import { Directive, forwardRef, Input, isDevMode, OnDestroy } from '@angular/core';\nimport {\n CONTENT_DENSITY_DIRECTIVE,\n ContentDensityMode,\n LocalContentDensityMode\n} from '@fundamental-ngx/core/content-density';\nimport { BehaviorSubject } from 'rxjs';\nimport { ModuleDeprecation } from '@fundamental-ngx/cdk/utils';\n\ntype ToolbarSize = 'cozy' | 'compact' | 'condensed' | null;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-toolbar[size]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedToolbarSizeDirective)\n }\n ]\n})\nexport class DeprecatedToolbarSizeDirective\n extends BehaviorSubject<LocalContentDensityMode>\n implements OnDestroy, ModuleDeprecation\n{\n /** Size of the toolbar. */\n @Input()\n set size(value: ToolbarSize) {\n switch (value) {\n case 'cozy':\n this.next(ContentDensityMode.COZY);\n break;\n case 'compact':\n this.next(ContentDensityMode.COMPACT);\n break;\n case 'condensed':\n this.next(ContentDensityMode.CONDENSED);\n break;\n default:\n this.next(ContentDensityMode.COMPACT);\n }\n }\n\n /** @hidden */\n readonly message: string;\n\n /** @hidden */\n readonly alternative = {\n name: 'Use [fdContentDensity] directive instead',\n link: ['/core', 'content-density']\n };\n\n /** @hidden */\n constructor() {\n super(ContentDensityMode.COMPACT);\n this.message = `Usage of fd-toolbar[size] is deprecated`;\n if (isDevMode()) {\n console.warn(`${this.message}. Use [fdContentDensity] directive instead.`);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { ToolbarComponent } from './toolbar.component';\nimport { ToolbarItemDirective } from './toolbar-item.directive';\nimport { ToolbarSeparatorComponent } from './toolbar-separator.component';\nimport { ToolbarSpacerDirective } from './toolbar-spacer.directive';\nimport { ToolbarLabelDirective } from './toolbar-label.directive';\nimport { ToolbarOverflowButtonDirective } from './toolbar-overflow-button.directive';\nimport { ToolbarOverflowButtonMenuDirective } from './toolbar-overflow-button-menu.directive';\nimport { ToolbarFormLabelDirective } from './toolbar-form-label.directive';\nimport { DeprecatedToolbarSizeDirective } from './deprecated-toolbar-size.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { DynamicPortalComponent } from '@fundamental-ngx/cdk/utils';\n\nconst components = [\n ToolbarComponent,\n ToolbarItemDirective,\n ToolbarSpacerDirective,\n ToolbarSeparatorComponent,\n ToolbarFormLabelDirective,\n ToolbarLabelDirective,\n ToolbarOverflowButtonDirective,\n ToolbarOverflowButtonMenuDirective,\n DeprecatedToolbarSizeDirective\n];\n\n@NgModule({\n declarations: [...components],\n imports: [CommonModule, ButtonModule, PopoverModule, ContentDensityModule, DynamicPortalComponent],\n exports: [...components, ContentDensityModule]\n})\nexport class ToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i6.ToolbarSpacerDirective","i7.ToolbarSeparatorComponent"],"mappings":"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"}
@@ -34,6 +34,10 @@ export declare class FormInputMessageGroupComponent {
34
34
  placementContainer: 'body' | 'self';
35
35
  /** Whether the message is open. Can be used through two-way binding. */
36
36
  isOpen: boolean;
37
+ /**
38
+ * Whether the popover should prevent page scrolling when space key is pressed.
39
+ **/
40
+ preventSpaceKeyScroll: boolean;
37
41
  /** Event emitted when the state of the isOpen property changes. */
38
42
  isOpenChange: EventEmitter<boolean>;
39
43
  /** @hidden */
@@ -45,5 +49,5 @@ export declare class FormInputMessageGroupComponent {
45
49
  */
46
50
  openChanged(isOpen: boolean): void;
47
51
  static ɵfac: i0.ɵɵFactoryDeclaration<FormInputMessageGroupComponent, never>;
48
- static ɵcmp: i0.ɵɵComponentDeclaration<FormInputMessageGroupComponent, "fd-form-input-message-group", never, { "triggers": "triggers"; "closeOnOutsideClick": "closeOnOutsideClick"; "fillControlMode": "fillControlMode"; "noArrow": "noArrow"; "closeOnEscapeKey": "closeOnEscapeKey"; "placement": "placement"; "placementContainer": "placementContainer"; "isOpen": "isOpen"; }, { "isOpenChange": "isOpenChange"; }, never, ["*", "fd-form-message"], false, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormInputMessageGroupComponent, "fd-form-input-message-group", never, { "triggers": "triggers"; "closeOnOutsideClick": "closeOnOutsideClick"; "fillControlMode": "fillControlMode"; "noArrow": "noArrow"; "closeOnEscapeKey": "closeOnEscapeKey"; "placement": "placement"; "placementContainer": "placementContainer"; "isOpen": "isOpen"; "preventSpaceKeyScroll": "preventSpaceKeyScroll"; }, { "isOpenChange": "isOpenChange"; }, never, ["*", "fd-form-message"], false, never>;
49
53
  }
@@ -12,6 +12,8 @@ export declare class MenuInteractiveDirective {
12
12
  /** @hidden */
13
13
  selected: boolean;
14
14
  /** @hidden */
15
+ ariaExpanded: Nullable<boolean>;
16
+ /** @hidden */
15
17
  ariaHaspopup: boolean;
16
18
  /** @hidden */
17
19
  readonly fdMenuLinkClass: boolean;
@@ -16,6 +16,6 @@ import * as i14 from "@fundamental-ngx/core/toolbar";
16
16
  import * as i15 from "./multi-announcer/multi-announcer.directive";
17
17
  export declare class MultiComboboxModule {
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiComboboxModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<MultiComboboxModule, [typeof i1.MultiComboboxComponent, typeof i2.SelectAllTogglerComponent], [typeof i3.CommonModule, typeof i4.I18nModule, typeof i5.PopoverModule, typeof i6.CheckboxModule, typeof i7.InputGroupModule, typeof i8.TokenModule, typeof i9.FormModule, typeof i10.ListModule, typeof i11.FormsModule, typeof i12.PipeModule, typeof i12.AutoCompleteModule, typeof i13.ContentDensityModule, typeof i14.ToolbarModule, typeof i15.MultiAnnouncerModule], [typeof i1.MultiComboboxComponent]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MultiComboboxModule, [typeof i1.MultiComboboxComponent, typeof i2.SelectAllTogglerComponent], [typeof i3.CommonModule, typeof i4.I18nModule, typeof i5.PopoverModule, typeof i6.CheckboxModule, typeof i7.InputGroupModule, typeof i8.TokenModule, typeof i9.FormModule, typeof i10.ListModule, typeof i11.FormsModule, typeof i12.PipeModule, typeof i12.AutoCompleteModule, typeof i13.ContentDensityModule, typeof i14.ToolbarModule, typeof i15.MultiAnnouncerModule, typeof i12.TruncateModule], [typeof i1.MultiComboboxComponent]>;
20
20
  static ɵinj: i0.ɵɵInjectorDeclaration<MultiComboboxModule>;
21
21
  }
@@ -16,6 +16,6 @@ import * as i14 from "@fundamental-ngx/i18n";
16
16
  import * as i15 from "@fundamental-ngx/core/multi-combobox";
17
17
  export declare class MultiInputModule {
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiInputModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<MultiInputModule, [typeof i1.MultiInputComponent, typeof i2.DeprecatedMultiInputCompactDirective], [typeof i3.CommonModule, typeof i4.TokenModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.ListModule, typeof i7.PopoverModule, typeof i8.PipeModule, typeof i9.InputGroupModule, typeof i10.FormModule, typeof i11.CheckboxModule, typeof i12.LinkModule, typeof i8.AutoCompleteModule, typeof i13.ContentDensityModule, typeof i14.I18nModule, typeof i15.MultiAnnouncerModule], [typeof i1.MultiInputComponent, typeof i2.DeprecatedMultiInputCompactDirective, typeof i13.ContentDensityModule]>;
19
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MultiInputModule, [typeof i1.MultiInputComponent, typeof i2.DeprecatedMultiInputCompactDirective], [typeof i3.CommonModule, typeof i4.TokenModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.ListModule, typeof i7.PopoverModule, typeof i8.PipeModule, typeof i9.InputGroupModule, typeof i10.FormModule, typeof i11.CheckboxModule, typeof i12.LinkModule, typeof i8.AutoCompleteModule, typeof i13.ContentDensityModule, typeof i14.I18nModule, typeof i15.MultiAnnouncerModule, typeof i8.TruncateModule], [typeof i1.MultiInputComponent, typeof i2.DeprecatedMultiInputCompactDirective, typeof i13.ContentDensityModule]>;
20
20
  static ɵinj: i0.ɵɵInjectorDeclaration<MultiInputModule>;
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.43.28",
3
+ "version": "0.43.30",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -28,8 +28,8 @@
28
28
  "rxjs": "^7.8.0"
29
29
  },
30
30
  "dependencies": {
31
- "@fundamental-ngx/cdk": "0.43.28",
32
- "@fundamental-ngx/i18n": "0.43.28",
31
+ "@fundamental-ngx/cdk": "0.43.30",
32
+ "@fundamental-ngx/i18n": "0.43.30",
33
33
  "compare-versions": "^5.0.0",
34
34
  "fast-deep-equal": "3.1.3",
35
35
  "focus-trap": "^7.1.0",
@@ -38,6 +38,10 @@ export declare class PopoverComponent extends BasePopoverClass implements AfterV
38
38
  mobile: boolean;
39
39
  /** Config for the popover in mobile mode */
40
40
  mobileConfig: MobileModeConfig;
41
+ /**
42
+ * Whether the popover should prevent page scrolling when space key is pressed.
43
+ **/
44
+ preventSpaceKeyScroll: boolean;
41
45
  /** @hidden */
42
46
  templateRef: TemplateRef<any>;
43
47
  /** @hidden */
@@ -111,5 +115,5 @@ export declare class PopoverComponent extends BasePopoverClass implements AfterV
111
115
  /** @hidden */
112
116
  private _destroyMobileComponent;
113
117
  static ɵfac: i0.ɵɵFactoryDeclaration<PopoverComponent, [null, null, null, null, null, { optional: true; }]>;
114
- static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "fd-popover", never, { "title": "title"; "trigger": "trigger"; "fixedPosition": "fixedPosition"; "id": "id"; "mobile": "mobile"; "mobileConfig": "mobileConfig"; }, {}, ["popoverBody", "popoverBodyDirective", "popoverControl", "popoverBodyContentTemplate", "popoverFooterContentTemplate"], ["fd-popover-control", "fd-popover-body", "*"], true, never>;
118
+ static ɵcmp: i0.ɵɵComponentDeclaration<PopoverComponent, "fd-popover", never, { "title": "title"; "trigger": "trigger"; "fixedPosition": "fixedPosition"; "id": "id"; "mobile": "mobile"; "mobileConfig": "mobileConfig"; "preventSpaceKeyScroll": "preventSpaceKeyScroll"; }, {}, ["popoverBody", "popoverBodyDirective", "popoverControl", "popoverBodyContentTemplate", "popoverFooterContentTemplate"], ["fd-popover-control", "fd-popover-body", "*"], true, never>;
115
119
  }
@@ -54,21 +54,21 @@ function addExternalLibraries(options) {
54
54
  });
55
55
  }
56
56
  if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/i18n') ||
57
- (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.43.28', '<')) {
57
+ (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/i18n', '0.43.30', '<')) {
58
58
  dependencies.push({
59
59
  type: dependencies_1.NodeDependencyType.Default,
60
60
  // Will be replaced with the real version during sync-version script run
61
- version: `0.43.28`,
61
+ version: `0.43.30`,
62
62
  name: '@fundamental-ngx/i18n',
63
63
  overwrite: true
64
64
  });
65
65
  }
66
66
  if (!(0, package_utils_1.hasPackage)(tree, '@fundamental-ngx/cdk') ||
67
- (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.43.28', '<')) {
67
+ (0, package_utils_1.checkPackageVersion)(tree, '@fundamental-ngx/cdk', '0.43.30', '<')) {
68
68
  dependencies.push({
69
69
  type: dependencies_1.NodeDependencyType.Default,
70
70
  // Will be replaced with the real version during sync-version script run
71
- version: `0.43.28`,
71
+ version: `0.43.30`,
72
72
  name: '@fundamental-ngx/cdk',
73
73
  overwrite: true
74
74
  });
Binary file