@fundamental-ngx/core 0.44.0-rc.2 → 0.44.0-rc.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.
Files changed (77) hide show
  1. package/breadcrumb/breadcrumb.component.d.ts +4 -4
  2. package/content-density/providers/content-density-observer-providers.d.ts +1 -1
  3. package/content-density/services/content-density-observer.service.d.ts +3 -3
  4. package/dialog/dialog-container/dialog-container.component.d.ts +4 -4
  5. package/esm2022/breadcrumb/breadcrumb.component.mjs +9 -11
  6. package/esm2022/content-density/providers/content-density-observer-providers.mjs +4 -4
  7. package/esm2022/content-density/services/content-density-observer.service.mjs +13 -13
  8. package/esm2022/dialog/dialog-container/dialog-container.component.mjs +12 -13
  9. package/esm2022/message-box/message-box-container/message-box-container.component.mjs +12 -15
  10. package/esm2022/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.mjs +8 -9
  11. package/esm2022/message-strip/auto-dismiss-message-strip.directive.mjs +10 -9
  12. package/esm2022/multi-combobox/base-multi-combobox.class.mjs +17 -14
  13. package/esm2022/multi-combobox/multi-combobox.component.mjs +44 -45
  14. package/esm2022/multi-combobox/select-all-toggler/select-all-toggler.component.mjs +8 -10
  15. package/esm2022/overflow-layout/directives/overflow-layout-popover-content.directive.mjs +9 -11
  16. package/esm2022/segmented-button/segmented-button.component.mjs +19 -21
  17. package/esm2022/shellbar/shellbar.component.mjs +12 -11
  18. package/esm2022/split-button/split-button.component.mjs +15 -16
  19. package/esm2022/table/directives/table-cell.directive.mjs +5 -7
  20. package/esm2022/table/directives/table-row.directive.mjs +17 -20
  21. package/esm2022/table/table.component.mjs +10 -9
  22. package/esm2022/tabs/tab-list.component.mjs +26 -28
  23. package/esm2022/token/token.component.mjs +13 -13
  24. package/esm2022/toolbar/toolbar.component.mjs +23 -24
  25. package/esm2022/tree/components/tree-item/tree-item.component.mjs +21 -21
  26. package/esm2022/tree/tree.component.mjs +23 -22
  27. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +9 -10
  28. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-content-density.mjs +15 -14
  30. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-dialog.mjs +10 -9
  32. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-message-box.mjs +11 -11
  34. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-message-strip.mjs +16 -14
  36. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +62 -63
  38. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +9 -10
  40. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +17 -19
  42. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-shellbar.mjs +11 -10
  44. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-split-button.mjs +13 -13
  46. package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-core-table.mjs +26 -30
  48. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-tabs.mjs +27 -28
  50. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  51. package/fesm2022/fundamental-ngx-core-token.mjs +13 -12
  52. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-toolbar.mjs +21 -22
  54. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-tree.mjs +38 -38
  56. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  57. package/fundamental-ngx-core-v0.44.0-rc.3.tgz +0 -0
  58. package/message-box/message-box-container/message-box-container.component.d.ts +4 -6
  59. package/message-strip/alert/message-strip-alert-container-footer/message-strip-alert-container-footer.component.d.ts +1 -1
  60. package/message-strip/auto-dismiss-message-strip.directive.d.ts +3 -3
  61. package/multi-combobox/base-multi-combobox.class.d.ts +30 -30
  62. package/multi-combobox/multi-combobox.component.d.ts +17 -18
  63. package/multi-combobox/select-all-toggler/select-all-toggler.component.d.ts +1 -1
  64. package/overflow-layout/directives/overflow-layout-popover-content.directive.d.ts +5 -6
  65. package/package.json +3 -3
  66. package/schematics/add-dependencies/index.js +4 -4
  67. package/segmented-button/segmented-button.component.d.ts +6 -7
  68. package/shellbar/shellbar.component.d.ts +1 -1
  69. package/split-button/split-button.component.d.ts +3 -4
  70. package/table/directives/table-row.directive.d.ts +2 -4
  71. package/table/table.component.d.ts +3 -4
  72. package/tabs/tab-list.component.d.ts +4 -5
  73. package/token/token.component.d.ts +5 -5
  74. package/toolbar/toolbar.component.d.ts +6 -6
  75. package/tree/components/tree-item/tree-item.component.d.ts +28 -28
  76. package/tree/tree.component.d.ts +7 -7
  77. package/fundamental-ngx-core-v0.44.0-rc.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-segmented-button.mjs","sources":["../../../../libs/core/src/lib/segmented-button/segmented-button.component.ts","../../../../libs/core/src/lib/segmented-button/segmented-button.component.html","../../../../libs/core/src/lib/segmented-button/segmented-button.module.ts","../../../../libs/core/src/lib/segmented-button/fundamental-ngx-core-segmented-button.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { filter, observeOn, startWith, takeUntil, tap } from 'rxjs/operators';\nimport { Subject, merge, fromEvent, asyncScheduler } from 'rxjs';\nimport { DestroyedService, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const isDisabledClass = 'is-disabled';\n\nexport type SegmentedButtonValue = string | (string | null)[] | null;\n\n/**\n * Container for grouped buttons.\n *\n * ```html\n * <fd-segmented-button [(ngModel)]=\"value\">\n * <button fd-button value=\"first\">Button</button>\n * <button fd-button value=\"second\">Button</button>\n * <button fd-button value=\"third\">Button</button>\n * </fd-segmented-button>\n * ```\n */\n@Component({\n selector: 'fd-segmented-button',\n templateUrl: './segmented-button.component.html',\n styleUrls: ['./segmented-button.component.scss'],\n host: {\n role: 'group'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SegmentedButtonComponent),\n multi: true\n },\n DestroyedService\n ]\n})\nexport class SegmentedButtonComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\n /** Whether segmented button is on toggle mode, which allows to toggle more than 1 button */\n @Input()\n toggle = false;\n\n /** @hidden */\n @HostBinding('class.fd-segmented-button')\n _fdSegmentedButtonClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n _buttons: QueryList<ButtonComponent>;\n\n /**\n * Value of segmented button can have 2 types:\n * - string, when there is no toggle mode and only 1 value can be chosen.\n * - array of strings, when there is toggle mode and more than 1 value can be chosen.\n */\n private _currentValue: SegmentedButtonValue;\n\n /** @hidden */\n private _isDisabled = false;\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n onChange: (value: SegmentedButtonValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n constructor(\n private readonly _changeDetRef: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _onDestroy$: DestroyedService\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToButtonChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onRefresh$.complete();\n }\n\n /** @hidden */\n writeValue(values: string[] | string): void {\n this._currentValue = values;\n this._pickButtonsByValues(values);\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the SegmentedButtons.\n */\n registerOnChange(fn: (value: SegmentedButtonValue) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the SegmentedButtons.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the SegmentedButtons.\n */\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this._toggleDisableButtons(isDisabled);\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n private _click(event: MouseEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n private _listenToButtonChanges(): void {\n this._buttons.changes\n .pipe(startWith(1), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe(() => {\n this._onRefresh$.next();\n this._toggleDisableButtons(this._isDisabled);\n this._pickButtonsByValues(this._currentValue);\n this._buttons.forEach((button) => this._listenToTriggerEvents(button));\n });\n }\n\n /** @hidden */\n private _listenToTriggerEvents(buttonComponent: ButtonComponent): void {\n const htmlElement = buttonComponent.elementRef.nativeElement;\n\n const refresh$ = merge(this._onDestroy$, this._onRefresh$);\n\n const triggerEvents$ = merge(\n fromEvent(htmlElement, 'click'),\n fromEvent<KeyboardEvent>(htmlElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [ENTER, SPACE])),\n tap((event) => {\n event.preventDefault();\n this.onTouched();\n })\n )\n );\n\n triggerEvents$.pipe(takeUntil(refresh$)).subscribe(() => this._handleTriggerOnButton(buttonComponent));\n }\n\n /** @hidden */\n private _handleTriggerOnButton(buttonComponent: ButtonComponent): void {\n if (!this._isButtonDisabled(buttonComponent)) {\n if (!this._isButtonSelected(buttonComponent) && !this.toggle) {\n this._buttons.forEach((button) => this._deselectButton(button));\n this._selectButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n\n if (this.toggle) {\n this._toggleButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n }\n }\n\n /** @hidden */\n private _propagateChange(): void {\n this.onChange(this._getValuesBySelected());\n this._currentValue = this._getValuesBySelected();\n }\n\n /** @hidden */\n private _toggleButton(buttonComponent: ButtonComponent): void {\n if (this._isButtonSelected(buttonComponent)) {\n this._deselectButton(buttonComponent);\n } else {\n this._selectButton(buttonComponent);\n }\n }\n\n /** @hidden */\n private _pickButtonsByValues(values: SegmentedButtonValue): void {\n if (!this._buttons) {\n return;\n }\n this._buttons.forEach((button) => this._deselectButton(button));\n this._getButtonsByValues(values).forEach((button) => this._selectButton(button));\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _getButtonsByValues(values: SegmentedButtonValue): ButtonComponent[] {\n if (!values) {\n return [];\n }\n\n if (Array.isArray(values)) {\n return this._buttons.filter((button) => !!values.find((value) => this._getButtonValue(button) === value));\n } else {\n return this._buttons.filter((button) => this._getButtonValue(button) === values);\n }\n }\n\n /** @hidden */\n private _selectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = true;\n }\n\n /** @hidden */\n private _deselectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = false;\n }\n\n /** @hidden */\n private _isButtonSelected(buttonComponent: ButtonComponent): boolean {\n return buttonComponent.toggled;\n }\n\n /** @hidden */\n private _isButtonDisabled(buttonComponent: ButtonComponent): boolean {\n return buttonComponent._disabled || buttonComponent.ariaDisabled;\n }\n\n /** @hidden */\n private _toggleDisableButtons(disable: boolean): void {\n if (!this._buttons) {\n return;\n }\n\n this._buttons.forEach((button) => (button.disabled = disable));\n if (disable) {\n this._buttons.forEach((button) => button.elementRef.nativeElement.setAttribute('disabled', 'true'));\n }\n this._changeDetRef.markForCheck();\n }\n\n /** @hidden */\n private _getButtonValue(buttonComponent: ButtonComponent): string | null {\n const element = buttonComponent.elementRef.nativeElement;\n if (element instanceof HTMLButtonElement) {\n return element.value;\n }\n return element.getAttribute('value');\n }\n\n /** @hidden\n * Returns values depending on selected state of buttons\n */\n private _getValuesBySelected(): SegmentedButtonValue {\n if (!this._buttons) {\n return [];\n }\n\n const resButtons = this._buttons\n .filter((button) => this._isButtonSelected(button))\n .map((button) => this._getButtonValue(button));\n if (!this.toggle) {\n return resButtons.length === 1 ? resButtons[0] : null;\n } else {\n return resButtons;\n }\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SegmentedButtonComponent } from './segmented-button.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [SegmentedButtonComponent],\n declarations: [SegmentedButtonComponent]\n})\nexport class SegmentedButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-segmented-button.mjs","sources":["../../../../libs/core/src/lib/segmented-button/segmented-button.component.ts","../../../../libs/core/src/lib/segmented-button/segmented-button.component.html","../../../../libs/core/src/lib/segmented-button/segmented-button.module.ts","../../../../libs/core/src/lib/segmented-button/fundamental-ngx-core-segmented-button.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { filter, observeOn, startWith, takeUntil, tap } from 'rxjs/operators';\nimport { asyncScheduler, fromEvent, merge, Subject } from 'rxjs';\nimport { destroyObservable, KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nexport const isDisabledClass = 'is-disabled';\n\nexport type SegmentedButtonValue = string | (string | null)[] | null;\n\n/**\n * Container for grouped buttons.\n *\n * ```html\n * <fd-segmented-button [(ngModel)]=\"value\">\n * <button fd-button value=\"first\">Button</button>\n * <button fd-button value=\"second\">Button</button>\n * <button fd-button value=\"third\">Button</button>\n * </fd-segmented-button>\n * ```\n */\n@Component({\n selector: 'fd-segmented-button',\n templateUrl: './segmented-button.component.html',\n styleUrls: ['./segmented-button.component.scss'],\n host: {\n role: 'group'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SegmentedButtonComponent),\n multi: true\n }\n ]\n})\nexport class SegmentedButtonComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {\n /** Whether segmented button is on toggle mode, which allows to toggle more than 1 button */\n @Input()\n toggle = false;\n\n /** @hidden */\n @HostBinding('class.fd-segmented-button')\n _fdSegmentedButtonClass = true;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n _buttons: QueryList<ButtonComponent>;\n\n /**\n * Value of segmented button can have 2 types:\n * - string, when there is no toggle mode and only 1 value can be chosen.\n * - array of strings, when there is toggle mode and more than 1 value can be chosen.\n */\n private _currentValue: SegmentedButtonValue;\n\n /** @hidden */\n private _isDisabled = false;\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private readonly _changeDetRef: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _destroyRef: DestroyRef\n ) {}\n\n /** @hidden */\n @HostListener('click', ['$event'])\n private _click(event: MouseEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n onChange: (value: SegmentedButtonValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToButtonChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onRefresh$.complete();\n }\n\n /** @hidden */\n writeValue(values: string[] | string): void {\n this._currentValue = values;\n this._pickButtonsByValues(values);\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the SegmentedButtons.\n */\n registerOnChange(fn: (value: SegmentedButtonValue) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the SegmentedButtons.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the SegmentedButtons.\n */\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this._toggleDisableButtons(isDisabled);\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _listenToButtonChanges(): void {\n this._buttons.changes\n .pipe(startWith(1), observeOn(asyncScheduler), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._onRefresh$.next();\n this._toggleDisableButtons(this._isDisabled);\n this._pickButtonsByValues(this._currentValue);\n this._buttons.forEach((button) => this._listenToTriggerEvents(button));\n });\n }\n\n /** @hidden */\n private _listenToTriggerEvents(buttonComponent: ButtonComponent): void {\n const htmlElement = buttonComponent.elementRef.nativeElement;\n\n const refresh$ = merge(destroyObservable(this._destroyRef), this._onRefresh$);\n\n const triggerEvents$ = merge(\n fromEvent(htmlElement, 'click'),\n fromEvent<KeyboardEvent>(htmlElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [ENTER, SPACE])),\n tap((event) => {\n event.preventDefault();\n this.onTouched();\n })\n )\n );\n\n triggerEvents$.pipe(takeUntil(refresh$)).subscribe(() => this._handleTriggerOnButton(buttonComponent));\n }\n\n /** @hidden */\n private _handleTriggerOnButton(buttonComponent: ButtonComponent): void {\n if (!this._isButtonDisabled(buttonComponent)) {\n if (!this._isButtonSelected(buttonComponent) && !this.toggle) {\n this._buttons.forEach((button) => this._deselectButton(button));\n this._selectButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n\n if (this.toggle) {\n this._toggleButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n }\n }\n\n /** @hidden */\n private _propagateChange(): void {\n this.onChange(this._getValuesBySelected());\n this._currentValue = this._getValuesBySelected();\n }\n\n /** @hidden */\n private _toggleButton(buttonComponent: ButtonComponent): void {\n if (this._isButtonSelected(buttonComponent)) {\n this._deselectButton(buttonComponent);\n } else {\n this._selectButton(buttonComponent);\n }\n }\n\n /** @hidden */\n private _pickButtonsByValues(values: SegmentedButtonValue): void {\n if (!this._buttons) {\n return;\n }\n this._buttons.forEach((button) => this._deselectButton(button));\n this._getButtonsByValues(values).forEach((button) => this._selectButton(button));\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _getButtonsByValues(values: SegmentedButtonValue): ButtonComponent[] {\n if (!values) {\n return [];\n }\n\n if (Array.isArray(values)) {\n return this._buttons.filter((button) => !!values.find((value) => this._getButtonValue(button) === value));\n } else {\n return this._buttons.filter((button) => this._getButtonValue(button) === values);\n }\n }\n\n /** @hidden */\n private _selectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = true;\n }\n\n /** @hidden */\n private _deselectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = false;\n }\n\n /** @hidden */\n private _isButtonSelected(buttonComponent: ButtonComponent): boolean {\n return buttonComponent.toggled;\n }\n\n /** @hidden */\n private _isButtonDisabled(buttonComponent: ButtonComponent): boolean {\n return buttonComponent._disabled || buttonComponent.ariaDisabled;\n }\n\n /** @hidden */\n private _toggleDisableButtons(disable: boolean): void {\n if (!this._buttons) {\n return;\n }\n\n this._buttons.forEach((button) => (button.disabled = disable));\n if (disable) {\n this._buttons.forEach((button) => button.elementRef.nativeElement.setAttribute('disabled', 'true'));\n }\n this._changeDetRef.markForCheck();\n }\n\n /** @hidden */\n private _getButtonValue(buttonComponent: ButtonComponent): string | null {\n const element = buttonComponent.elementRef.nativeElement;\n if (element instanceof HTMLButtonElement) {\n return element.value;\n }\n return element.getAttribute('value');\n }\n\n /** @hidden\n * Returns values depending on selected state of buttons\n */\n private _getValuesBySelected(): SegmentedButtonValue {\n if (!this._buttons) {\n return [];\n }\n\n const resButtons = this._buttons\n .filter((button) => this._isButtonSelected(button))\n .map((button) => this._getButtonValue(button));\n if (!this.toggle) {\n return resButtons.length === 1 ? resButtons[0] : null;\n } else {\n return resButtons;\n }\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { SegmentedButtonComponent } from './segmented-button.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [SegmentedButtonComponent],\n declarations: [SegmentedButtonComponent]\n})\nexport class SegmentedButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, InjectionToken, ViewEncapsulation, inject, ChangeDetectorRef, ContentChildren, ContentChild, HostBinding, ElementRef, Directive, forwardRef, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ViewChild, InjectionToken, ViewEncapsulation, inject, ChangeDetectorRef, ContentChildren, ContentChild, HostBinding, DestroyRef, ElementRef, Directive, forwardRef, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i2$1 from '@fundamental-ngx/core/action-sheet';
6
6
  import { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';
7
7
  import * as i2$3 from '@angular/cdk/portal';
8
8
  import { CdkPortalOutlet, DomPortal, PortalModule } from '@angular/cdk/portal';
9
- import { DestroyedService, resizeObservable, DragAndDropModule } from '@fundamental-ngx/cdk/utils';
9
+ import { resizeObservable, DragAndDropModule } from '@fundamental-ngx/cdk/utils';
10
10
  import * as i3 from '@fundamental-ngx/core/button';
11
11
  import { FD_BUTTON_COMPONENT, ButtonModule } from '@fundamental-ngx/core/button';
12
12
  import { FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';
13
13
  import * as i2$2 from '@fundamental-ngx/core/content-density';
14
14
  import { contentDensityObserverProviders, ContentDensityMode, DeprecatedCompactDirective, CONTENT_DENSITY_DIRECTIVE, ContentDensityModule } from '@fundamental-ngx/core/content-density';
15
15
  import equal from 'fast-deep-equal';
16
- import { BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';
16
+ import { BehaviorSubject, debounceTime, distinctUntilChanged } from 'rxjs';
17
17
  import { FD_PRODUCT_SWITCH_COMPONENT, ProductSwitchModule } from '@fundamental-ngx/core/product-switch';
18
18
  import * as i2 from '@fundamental-ngx/core/menu';
19
19
  import { MenuComponent, MenuModule } from '@fundamental-ngx/core/menu';
@@ -21,6 +21,7 @@ import * as i4 from '@fundamental-ngx/core/avatar';
21
21
  import { AvatarModule } from '@fundamental-ngx/core/avatar';
22
22
  import * as i4$1 from '@fundamental-ngx/i18n';
23
23
  import { I18nModule } from '@fundamental-ngx/i18n';
24
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
24
25
  import * as i5 from '@fundamental-ngx/core/icon';
25
26
  import { IconModule } from '@fundamental-ngx/core/icon';
26
27
  import { PopoverModule } from '@fundamental-ngx/core/popover';
@@ -356,7 +357,7 @@ class ShellbarComponent {
356
357
  /** @hidden */
357
358
  this._cd = inject(ChangeDetectorRef);
358
359
  /** @hidden */
359
- this._destroy$ = inject(DestroyedService);
360
+ this._destroyRef = inject(DestroyRef);
360
361
  /** @hidden */
361
362
  this._breakpoints = this._normalizeBreakpoints({
362
363
  s: 0,
@@ -420,7 +421,9 @@ class ShellbarComponent {
420
421
  removeGroupButtonClass: true
421
422
  };
422
423
  this._searchSubmitSubscription?.unsubscribe();
423
- this._searchSubmitSubscription = component.searchSubmit.pipe(takeUntil(this._destroy$)).subscribe((state) => {
424
+ this._searchSubmitSubscription = component.searchSubmit
425
+ .pipe(takeUntilDestroyed(this._destroyRef))
426
+ .subscribe((state) => {
424
427
  if (!state.text) {
425
428
  this._showMobileSearch = false;
426
429
  this._actions._setSearchVisibility(false);
@@ -452,7 +455,7 @@ class ShellbarComponent {
452
455
  /** @hidden */
453
456
  ngAfterViewInit() {
454
457
  resizeObservable(this._shellbar.nativeElement)
455
- .pipe(debounceTime(10), takeUntil(this._destroy$))
458
+ .pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))
456
459
  .subscribe(() => this._setCurrentBreakpoint());
457
460
  this._setSearchComponentListeners();
458
461
  }
@@ -463,7 +466,7 @@ class ShellbarComponent {
463
466
  }
464
467
  /** @hidden */
465
468
  _setSearchComponentListeners() {
466
- this._actions?.searchOpen.pipe(takeUntil(this._destroy$)).subscribe((showSearch) => {
469
+ this._actions?.searchOpen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((showSearch) => {
467
470
  this._showMobileSearch = showSearch;
468
471
  this._cd.detectChanges();
469
472
  if (this._currentSize !== 's') {
@@ -476,7 +479,7 @@ class ShellbarComponent {
476
479
  this._detachSearch();
477
480
  }
478
481
  });
479
- this._currentSize$.pipe(distinctUntilChanged(), takeUntil(this._destroy$)).subscribe((size) => {
482
+ this._currentSize$.pipe(distinctUntilChanged(), takeUntilDestroyed(this._destroyRef)).subscribe((size) => {
480
483
  if (!this._searchPortal) {
481
484
  return;
482
485
  }
@@ -561,7 +564,6 @@ class ShellbarComponent {
561
564
  }
562
565
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ShellbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
563
566
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: ShellbarComponent, selector: "fd-shellbar", inputs: { size: "size", breakpoints: "breakpoints", sideNav: "sideNav", groupFlex: "groupFlex" }, providers: [
564
- DestroyedService,
565
567
  contentDensityObserverProviders({
566
568
  supportedContentDensity: [ContentDensityMode.COZY],
567
569
  restrictChildContentDensity: true
@@ -575,7 +577,6 @@ class ShellbarComponent {
575
577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: ShellbarComponent, decorators: [{
576
578
  type: Component,
577
579
  args: [{ selector: 'fd-shellbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
578
- DestroyedService,
579
580
  contentDensityObserverProviders({
580
581
  supportedContentDensity: [ContentDensityMode.COZY],
581
582
  restrictChildContentDensity: true
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-shellbar.mjs","sources":["../../../../libs/core/src/lib/shellbar/user-menu/shellbar-user-menu.component.ts","../../../../libs/core/src/lib/shellbar/user-menu/shellbar-user-menu.component.html","../../../../libs/core/src/lib/shellbar/tokens.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.html","../../../../libs/core/src/lib/shellbar/shellbar-action/shellbar-action.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-action/shellbar-action.component.html","../../../../libs/core/src/lib/shellbar/shellbar-actions/shellbar-actions.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions/shellbar-actions.component.html","../../../../libs/core/src/lib/shellbar/shellbar.component.ts","../../../../libs/core/src/lib/shellbar/shellbar.component.html","../../../../libs/core/src/lib/shellbar/product-menu/product-menu.component.ts","../../../../libs/core/src/lib/shellbar/product-menu/product-menu.component.html","../../../../libs/core/src/lib/shellbar/shellbar-subtitle/shellbar-subtitle.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-subtitle/shellbar-subtitle.component.html","../../../../libs/core/src/lib/shellbar/shellbar-logo/shellbar-logo.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-logo/shellbar-logo.component.html","../../../../libs/core/src/lib/shellbar/shellbar-title/shellbar-title.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-title/shellbar-title.component.html","../../../../libs/core/src/lib/shellbar/shellbar-sidenav.directive.ts","../../../../libs/core/src/lib/shellbar/deprecated-shellbar-compact.directive.ts","../../../../libs/core/src/lib/shellbar/shellbar.module.ts","../../../../libs/core/src/lib/shellbar/fundamental-ngx-core-shellbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * This Component extends popover component and passes all the options and events from outside to popover component\n * and Vice Versa\n * */\n@Component({\n selector: 'fd-shellbar-user-menu',\n templateUrl: './shellbar-user-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarUserMenuComponent {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Whether or not to show the popover arrow */\n @Input()\n noArrow = false;\n\n /** Event emitted on item click */\n @Output()\n itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** Reference to Menu Component */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /**\n * @hidden\n */\n itemClick(item: ShellbarUserMenu, event: MouseEvent): void {\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Shellbar } from './model/shellbar';\n\nexport const FD_SHELLBAR_SEARCH_CONFIG = new InjectionToken('FdShellbarSearchConfig');\n\nexport const FD_SHELLBAR_SEARCH_COMPONENT = new InjectionToken<SearchComponent>('FdShellbarSearchComponent');\n\nexport const FD_SHELLBAR_ACTION_COMPONENT = new InjectionToken('FdShellbarActionComponent');\n\nexport const FD_SHELLBAR_COMPONENT = new InjectionToken<Shellbar>('FdShellbarComponent');\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\n\n@Component({\n selector: 'fd-shellbar-actions-mobile',\n templateUrl: './shellbar-actions-mobile.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarActionsMobileComponent implements AfterContentChecked {\n /** @hidden */\n @Input()\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @Input()\n collapsedItemMenuLabel: string;\n\n /**\n * Whether the search is present in the shellbar.\n */\n @Input()\n searchExists = false;\n\n /** @hidden */\n totalNotifications: number;\n\n /** @hidden */\n @Output()\n showSearch = new EventEmitter<void>();\n\n /** @hidden */\n actionClicked(item: ShellbarActionComponent, event: MouseEvent): void {\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this.totalNotifications = 0;\n\n this.shellbarActions.forEach((action) => {\n if (action.notificationCount && typeof action.notificationCount === 'number') {\n this.totalNotifications = this.totalNotifications + action.notificationCount;\n }\n });\n }\n}\n","<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"collapsedItemMenuLabel || ('coreShellbar.collapsedItemMenuLabel' | fdTranslate)\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * The component that represents a shellbar action.\n * ```html\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-action',\n templateUrl: './shellbar-action.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_SHELLBAR_ACTION_COMPONENT,\n useExisting: ShellbarActionComponent\n }\n ]\n})\nexport class ShellbarActionComponent {\n /** The glyph (icon) name */\n @Input()\n glyph: string;\n\n /** Callback that hanldles the response to clicks on any of the actions. */\n @Input()\n callback: Nullable<(event: MouseEvent) => void>;\n\n /** The action label. */\n @Input()\n label: string;\n\n /** The notification label. */\n @Input()\n notificationLabel: string;\n\n /** Represents the number of notifications. */\n @Input()\n notificationCount: number;\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation,\n ContentChild,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n inject,\n Output,\n EventEmitter,\n OnDestroy,\n HostBinding\n} from '@angular/core';\n\nimport { FD_COMBOBOX_COMPONENT, ComboboxInterface } from '@fundamental-ngx/core/combobox';\nimport { FD_PRODUCT_SWITCH_COMPONENT, ProductSwitchComponent } from '@fundamental-ngx/core/product-switch';\n\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenuComponent } from '../user-menu/shellbar-user-menu.component';\nimport { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';\nimport { FD_SHELLBAR_ACTION_COMPONENT, FD_SHELLBAR_COMPONENT } from '../tokens';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ShellbarSizes } from '../model/shellbar-sizes';\n\n/**\n * The component that represents shellbar actions.\n * It is a container wrapper for all product actions and links (required element).\n * ```html\n * <fd-shellbar-actions [user]=\"user\"\n * [userMenu]=\"userMenu\"\n * [productSwitcher]=\"productSwitcher\">\n * <button fd-button fdType=\"standard\">Custom Button</button>\n *\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * </fd-shellbar-actions>\n * ```\n */\n\n@Component({\n selector: 'fd-shellbar-actions',\n templateUrl: './shellbar-actions.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-shellbar__group]': 'true',\n '[class.fd-shellbar__group--actions]': 'true'\n }\n})\nexport class ShellbarActionsComponent implements OnDestroy {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for the collapsed item menu.\n */\n @Input()\n collapsedItemMenuLabel: string;\n\n /**\n * Event emitted when search opened.\n */\n @Output()\n searchOpen = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(FD_SHELLBAR_ACTION_COMPONENT)\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuComponent)\n userComponent: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ViewChild(ShellbarUserMenuComponent)\n userComponentView: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT)\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT, { static: false })\n productSwitchComponent: ProductSwitchComponent;\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n _portalOutlet: CdkPortalOutlet;\n\n /** @hidden */\n _addSearchIcon = false;\n\n /** @hidden */\n _searchPortal: DomPortal;\n\n /**\n * Whether to show the search field.\n */\n showSearch = false;\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT, {\n optional: true\n });\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--shrink')\n private get _groupShrink(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.shrink;\n }\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--basis-auto')\n private get _groupBasisAuto(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.flexBasisAuto;\n }\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n currentSize: ShellbarSizes;\n\n /** @hidden */\n _toggleSearch: () => void = () => {\n this._setSearchVisibility(!this.showSearch);\n };\n\n /** @hidden */\n public get userItem(): ShellbarUser {\n if (this.userComponent) {\n return this.userComponent.user;\n } else {\n return this.user;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._portalOutlet?.dispose();\n }\n\n /** @hidden */\n _attachSearch(portal: DomPortal, searchComponent: Nullable<SearchComponent>, size: ShellbarSizes): void {\n this._searchPortal = portal;\n this._addSearchIcon = true;\n this.currentSize = size;\n this._searchComponent = searchComponent;\n this._toggleSearchPortal(this.showSearch);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _detachSearch(): void {\n if (this._portalOutlet?.hasAttached()) {\n this._portalOutlet.detach();\n }\n\n this._addSearchIcon = false;\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _triggerItems(): void {\n if (!this.closePopoverOnSelect) {\n return;\n }\n this.userComponentView?.menu.close();\n this.userComponent?.menu.close();\n }\n\n /** @hidden */\n _setSearchVisibility(visible: boolean): void {\n this.showSearch = visible;\n this.searchOpen.emit(this.showSearch);\n\n if (this.currentSize === 's') {\n return;\n }\n\n this._toggleSearchPortal(visible, visible);\n }\n\n /** @hidden */\n private _toggleSearchPortal(visible: boolean, focusSearch = false): void {\n if (visible) {\n this._portalOutlet.detach();\n this._portalOutlet.attach(this._searchPortal);\n } else {\n this._portalOutlet.detach();\n }\n this._cd.detectChanges();\n if (focusSearch) {\n this._searchComponent?.focus();\n }\n }\n}\n","<div *ngIf=\"comboboxComponent\" class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content select=\"fd-combobox\"></ng-content>\n</div>\n\n<!-- If portal outlet placed outside div, it will be added to the end of the root container. So this div actually keeps outlet in desired place. -->\n<div class=\"fd-shellbar__action\" cdkPortalOutlet></div>\n\n<div class=\"fd-shellbar__action fd-shellbar__action--mobile\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [collapsedItemMenuLabel]=\"collapsedItemMenuLabel\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n ></fd-shellbar-actions-mobile>\n</div>\n\n<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content></ng-content>\n</div>\n\n<fd-shellbar-action\n *ngIf=\"_addSearchIcon && !showSearch\"\n glyph=\"search\"\n [callback]=\"_toggleSearch\"\n></fd-shellbar-action>\n\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n\n<ng-container *ngIf=\"userItem\">\n <ng-container *ngIf=\"!userComponent\">\n <fd-shellbar-user-menu\n placement=\"bottom-end\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n (itemClicked)=\"_triggerItems()\"\n ></fd-shellbar-user-menu>\n </ng-container>\n\n <ng-container *ngIf=\"userComponent\">\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"productSwitchComponent\" class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n</div>\n","import { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService, Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject, debounceTime, distinctUntilChanged, Subscription, takeUntil } from 'rxjs';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { FD_SHELLBAR_COMPONENT, FD_SHELLBAR_SEARCH_COMPONENT } from './tokens';\nimport { SideNavigationInterface } from '@fundamental-ngx/core/side-navigation';\nimport { Breakpoints, NormalizedBreakpoint, ShellbarGroupFlexOptions, ShellbarSizes } from './model/shellbar-sizes';\n\n/**\n * The shellbar offers consistent, responsive navigation across all products and applications.\n * Includes support for branding, product navigation, search, notifications, and user settings.\n * Shellbar is a composite component comprised of mandatory and optional elements.\n */\n@Component({\n selector: 'fd-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrls: ['./shellbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n DestroyedService,\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COZY],\n restrictChildContentDensity: true\n }),\n {\n provide: FD_SHELLBAR_COMPONENT,\n useExisting: ShellbarComponent\n }\n ]\n})\nexport class ShellbarComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of Shellbar component 's' | 'm' | 'l' | 'xl' */\n @Input()\n set size(value: ShellbarSizes | undefined) {\n this._size = value;\n this._currentSize$.next(this._currentSize);\n }\n get size(): ShellbarSizes | undefined {\n return this._size;\n }\n\n /**\n * Responsive breakpoints.\n */\n @Input()\n set breakpoints(breakpoints: Breakpoints) {\n this._breakpoints = this._normalizeBreakpoints(breakpoints);\n this._setCurrentBreakpoint();\n }\n\n /**\n * Whether the Shellbar is used with Side Navigation.\n * When set to true, the responsive paddings are not applied.\n * Can also accept a template variable referring to a SideNavigationInterface (fd-side-nav or fdx-side-nav), and\n * will add the corresponding class.\n */\n @Input()\n sideNav: boolean | SideNavigationInterface = false;\n\n /**\n * Shellbar group flex configuration.\n */\n @Input()\n set groupFlex(value: Nullable<ShellbarGroupFlexOptions>) {\n if (equal(value, this._groupFlex)) {\n return;\n }\n\n this._groupFlex = value;\n this._cd.detectChanges();\n }\n\n get groupFlex(): Nullable<ShellbarGroupFlexOptions> {\n return this._groupFlex;\n }\n\n /** @hidden */\n private _groupFlex: Nullable<ShellbarGroupFlexOptions>;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT, { static: false })\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT, { read: ElementRef })\n buttons: QueryList<ElementRef>;\n\n /** @hidden */\n @ContentChild(ShellbarActionsComponent)\n private _actions: ShellbarActionsComponent;\n\n /** @hidden */\n private _searchPortal: DomPortal;\n\n /** @hidden */\n @ViewChild('searchPortalOutlet', { static: false, read: CdkPortalOutlet })\n private readonly _searchPortalOutlet: CdkPortalOutlet;\n\n /**\n * Search component placed inside the shellbar\n */\n @ContentChild(FD_SHELLBAR_SEARCH_COMPONENT, { descendants: true, static: false })\n set searchComponent(component: Nullable<SearchComponent>) {\n this._searchComponent = component;\n if (!component) {\n return;\n }\n\n if (this._searchPortal?.isAttached) {\n this._searchPortal.detach();\n }\n\n this._searchPortal = new DomPortal(component.elementRef.nativeElement);\n component.categoryMode = 'select';\n component.disableRefresh = true;\n component.forceSearchButton = true;\n component.appearance = {\n searchClass: 'fd-shellbar__search-field',\n searchFieldClass: 'fd-shellbar__search-field-input',\n searchCategoryClass: 'fd-shellbar__search-field-category',\n searchSubmitClass: 'fd-shellbar__search-submit',\n buttonClass: 'fd-shellbar__button',\n addonClass: 'fd-shellbar__search-field-addon',\n categoryButtonClass: 'fd-shellbar__search-category',\n categoryDropdownButtonClass: 'fd-shellbar__search-dropdown',\n removeGroupButtonClass: true\n };\n\n this._searchSubmitSubscription?.unsubscribe();\n\n this._searchSubmitSubscription = component.searchSubmit.pipe(takeUntil(this._destroy$)).subscribe((state) => {\n if (!state.text) {\n this._showMobileSearch = false;\n this._actions._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n });\n\n this._cd.detectChanges();\n }\n\n get searchComponent(): Nullable<SearchComponent> {\n return this._searchComponent;\n }\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n @ViewChild('shellbar')\n private readonly _shellbar: ElementRef<HTMLElement>;\n\n /** @hidden */\n get _hideTitleComponents(): boolean {\n return this._currentSize !== 'xl' && this._currentSize !== 'l' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _hideAllComponents(): boolean {\n return this._currentSize === 's' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _currentSize(): ShellbarSizes {\n return this._size || this._breakpointSize;\n }\n\n /** @hidden */\n private readonly _currentSize$ = new BehaviorSubject<ShellbarSizes>(this._currentSize);\n\n /** @hidden */\n _showMobileSearch = false;\n\n /** @hidden */\n private _size: ShellbarSizes | undefined;\n\n /** @hidden */\n private _breakpointSize: ShellbarSizes = 'm';\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n private _breakpoints: NormalizedBreakpoint[] = this._normalizeBreakpoints({\n s: 0,\n m: 320,\n l: 600,\n xl: 1240\n });\n\n /** @hidden */\n private _searchSubmitSubscription: Nullable<Subscription>;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.applyShellbarModeToCombobox();\n this.applyShellbarModeToButtons();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._shellbar.nativeElement)\n .pipe(debounceTime(10), takeUntil(this._destroy$))\n .subscribe(() => this._setCurrentBreakpoint());\n\n this._setSearchComponentListeners();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._searchSubmitSubscription?.unsubscribe();\n this._searchPortalOutlet?.dispose();\n }\n\n /** @hidden */\n private _setSearchComponentListeners(): void {\n this._actions?.searchOpen.pipe(takeUntil(this._destroy$)).subscribe((showSearch) => {\n this._showMobileSearch = showSearch;\n this._cd.detectChanges();\n if (this._currentSize !== 's') {\n return;\n }\n\n if (showSearch) {\n this._attachSearch(true);\n } else {\n this._detachSearch();\n }\n });\n this._currentSize$.pipe(distinctUntilChanged(), takeUntil(this._destroy$)).subscribe((size) => {\n if (!this._searchPortal) {\n return;\n }\n\n if (size === 'xl' || (size === 's' && this._showMobileSearch)) {\n this._attachSearch();\n } else {\n this._detachSearch();\n }\n });\n }\n\n /** @hidden */\n applyShellbarModeToCombobox(): void {\n if (this.comboboxComponent) {\n this.comboboxComponent.inShellbar = true;\n }\n }\n\n /** @hidden */\n applyShellbarModeToButtons(): void {\n this.buttons?.forEach((button) => {\n button.nativeElement.classList.add('fd-shellbar__button');\n });\n }\n\n /** @hidden */\n _closeMobileSearch(): void {\n this._showMobileSearch = false;\n this._actions._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _getSideNavClass(): string {\n let retVal = ' ';\n\n if (this.sideNav && (this.sideNav as SideNavigationInterface).additionalShellbarCssClass) {\n retVal += (this.sideNav as SideNavigationInterface).additionalShellbarCssClass;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setCurrentBreakpoint(): void {\n const { width } = this._shellbar.nativeElement.getBoundingClientRect();\n\n const breakpoint = this._breakpoints.find((item) => width >= item.min && width < item.max + 1);\n\n if (!breakpoint || breakpoint.size === this._currentSize) {\n return;\n }\n\n this._breakpointSize = breakpoint.size;\n this._currentSize$.next(this._currentSize);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n private _normalizeBreakpoints(breakpoints: Breakpoints): NormalizedBreakpoint[] {\n const keys = Object.keys(breakpoints) as ShellbarSizes[];\n const normalizedBreakpoints: NormalizedBreakpoint[] = [];\n\n keys.forEach((key, index) => {\n const breakpoint: NormalizedBreakpoint = {\n size: key,\n min: breakpoints[key],\n max: keys[index + 1] ? breakpoints[keys[index + 1]] : Infinity\n };\n\n normalizedBreakpoints.push(breakpoint);\n });\n\n return normalizedBreakpoints;\n }\n\n /** @hidden */\n private _attachSearch(shouldFocus = false): void {\n if (this._searchPortalOutlet?.hasAttached()) {\n return;\n }\n\n this._actions._detachSearch();\n this._searchPortalOutlet?.attach(this._searchPortal);\n\n if (shouldFocus) {\n this._searchComponent?.focus();\n }\n }\n\n /** @hidden */\n private _detachSearch(): void {\n if (!this._searchPortalOutlet?.hasAttached()) {\n this._actions._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n return;\n }\n\n this._searchPortalOutlet.detach();\n\n this._actions._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n }\n}\n","<div\n class=\"fd-shellbar\"\n [class]=\"'fd-shellbar--' + _currentSize + _getSideNavClass()\"\n [class.fd-shellbar--side-nav]=\"sideNav === true\"\n #shellbar\n>\n <div\n class=\"fd-shellbar__group fd-shellbar__group--product\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.product?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.product?.flexBasisAuto\"\n *ngIf=\"!_hideAllComponents\"\n >\n <ng-content select=\"[fd-shellbar-side-nav]\"></ng-content>\n\n <ng-content select=\"fd-shellbar-logo\"></ng-content>\n\n <ng-content select=\"fd-shellbar-title\" *ngIf=\"!_hideTitleComponents\"></ng-content>\n\n <div class=\"fd-shellbar__product\" *ngIf=\"!_hideTitleComponents\">\n <ng-content select=\"fd-product-menu\"></ng-content>\n </div>\n\n <ng-content select=\"fd-shellbar-subtitle\" *ngIf=\"!_hideTitleComponents\"></ng-content>\n </div>\n <div hidden>\n <ng-content></ng-content>\n </div>\n <div\n class=\"fd-shellbar__group fd-shellbar__group--center fd-shellbar__group--mobile-flex\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.search?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.search?.flexBasisAuto\"\n *ngIf=\"searchComponent\"\n >\n <div class=\"fd-shellbar__action fd-shellbar__action--grow\">\n <ng-container cdkPortalOutlet #searchPortalOutlet></ng-container>\n </div>\n <div\n *ngIf=\"_currentSize === 'xl' || _hideAllComponents\"\n class=\"fd-shellbar__action fd-shellbar__action--mobile fd-shellbar__action--shrink\"\n >\n <button class=\"fd-button fd-button--transparent\" (click)=\"_closeMobileSearch()\">\n {{ 'coreShellbar.cancel' | fdTranslate }}\n </button>\n </div>\n </div>\n\n <ng-content select=\"fd-shellbar-actions\" *ngIf=\"!_hideAllComponents\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { ShellbarMenuItem } from '../model/shellbar-menu-item';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * The component that represents a product menu.\n * Product menu is used for navigating to applications within the product.\n * ```html\n * <fd-product-menu [control]=\"productMenuControl\"\n * [items]=\"productMenuItems\">\n * </fd-product-menu>\n * ```\n */\n@Component({\n selector: 'fd-product-menu',\n templateUrl: './product-menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProductMenuComponent {\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /**\n * The control element to toggle the product menu,\n * represented by the name of the current application.\n */\n @Input()\n control: string;\n\n /**\n * The items in the product menu. If the value is not passed or there is empty array,\n * the template changes and shows only control\n */\n @Input()\n items: ShellbarMenuItem[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /** @hidden */\n itemClicked(item: any, event: MouseEvent): void {\n if (this.closePopoverOnSelect) {\n this.menu.close();\n }\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"megamenu\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar subtitle.\n * The subtitle is optional and should be used rarely.\n * ```html\n * <fd-shellbar-subtitle>\n * Corporate Portal\n * </fd-shellbar-subtitle>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-subtitle',\n templateUrl: './shellbar-subtitle.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n fd-shellbar-subtitle {\n display: flex;\n }\n `\n ]\n})\nexport class ShellbarSubtitleComponent {}\n","<div class=\"fd-shellbar__subtitle\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar logo.\n * The logo is a required element and is used for company branding.\n * ```html\n * <fd-shellbar-logo>\n * <a href=\"#\" class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\" aria-label=\"SAP\"></a>\n * </fd-shellbar-logo>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-logo',\n templateUrl: './shellbar-logo.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarLogoComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar title.\n * The title is a required element and displays the current application name.\n * ```html\n * <fd-shellbar-title>\n * Corporate Portal\n * </fd-shellbar-title>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-title',\n templateUrl: './shellbar-title.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarTitleComponent {}\n","<span class=\"fd-shellbar__title\">\n <ng-content></ng-content>\n</span>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdShellbarSidenav], [fd-shellbar-side-nav]',\n host: {\n class: 'fd-shellbar__button'\n }\n})\nexport class ShellbarSidenavDirective {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-shellbar-user-menu[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedShellbarCompactDirective)\n }\n ]\n})\nexport class DeprecatedShellbarCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-shellbar-user-menu');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { ShellbarComponent } from './shellbar.component';\nimport { ProductMenuComponent } from './product-menu/product-menu.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\nimport { ShellbarSubtitleComponent } from './shellbar-subtitle/shellbar-subtitle.component';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { ShellbarActionComponent } from './shellbar-action/shellbar-action.component';\nimport { ShellbarLogoComponent } from './shellbar-logo/shellbar-logo.component';\nimport { ShellbarTitleComponent } from './shellbar-title/shellbar-title.component';\n\nimport { ShellbarUserMenuComponent } from './user-menu/shellbar-user-menu.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DragAndDropModule } from '@fundamental-ngx/cdk/utils';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ProductSwitchModule } from '@fundamental-ngx/core/product-switch';\nimport { ShellbarSidenavDirective } from './shellbar-sidenav.directive';\nimport { ShellbarActionsMobileComponent } from './shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { DeprecatedShellbarCompactDirective } from './deprecated-shellbar-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n DeprecatedShellbarCompactDirective\n ],\n imports: [\n CommonModule,\n PopoverModule,\n MenuModule,\n ActionSheetModule,\n ButtonModule,\n DragAndDropModule,\n DragDropModule,\n ProductSwitchModule,\n IconModule,\n I18nModule,\n AvatarModule,\n ContentDensityModule,\n PortalModule,\n I18nModule\n ],\n exports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n DeprecatedShellbarCompactDirective,\n ContentDensityModule\n ]\n})\nexport class ShellbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i3.ShellbarActionsMobileComponent","i4.ShellbarActionComponent","i5.ShellbarUserMenuComponent","i3"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-shellbar.mjs","sources":["../../../../libs/core/src/lib/shellbar/user-menu/shellbar-user-menu.component.ts","../../../../libs/core/src/lib/shellbar/user-menu/shellbar-user-menu.component.html","../../../../libs/core/src/lib/shellbar/tokens.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions-mobile/shellbar-actions-mobile.component.html","../../../../libs/core/src/lib/shellbar/shellbar-action/shellbar-action.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-action/shellbar-action.component.html","../../../../libs/core/src/lib/shellbar/shellbar-actions/shellbar-actions.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-actions/shellbar-actions.component.html","../../../../libs/core/src/lib/shellbar/shellbar.component.ts","../../../../libs/core/src/lib/shellbar/shellbar.component.html","../../../../libs/core/src/lib/shellbar/product-menu/product-menu.component.ts","../../../../libs/core/src/lib/shellbar/product-menu/product-menu.component.html","../../../../libs/core/src/lib/shellbar/shellbar-subtitle/shellbar-subtitle.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-subtitle/shellbar-subtitle.component.html","../../../../libs/core/src/lib/shellbar/shellbar-logo/shellbar-logo.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-logo/shellbar-logo.component.html","../../../../libs/core/src/lib/shellbar/shellbar-title/shellbar-title.component.ts","../../../../libs/core/src/lib/shellbar/shellbar-title/shellbar-title.component.html","../../../../libs/core/src/lib/shellbar/shellbar-sidenav.directive.ts","../../../../libs/core/src/lib/shellbar/deprecated-shellbar-compact.directive.ts","../../../../libs/core/src/lib/shellbar/shellbar.module.ts","../../../../libs/core/src/lib/shellbar/fundamental-ngx-core-shellbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * This Component extends popover component and passes all the options and events from outside to popover component\n * and Vice Versa\n * */\n@Component({\n selector: 'fd-shellbar-user-menu',\n templateUrl: './shellbar-user-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarUserMenuComponent {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Whether or not to show the popover arrow */\n @Input()\n noArrow = false;\n\n /** Event emitted on item click */\n @Output()\n itemClicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** Reference to Menu Component */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /**\n * @hidden\n */\n itemClick(item: ShellbarUserMenu, event: MouseEvent): void {\n this.itemClicked.emit();\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action--show-always\" *ngIf=\"user\">\n <div class=\"fd-user-menu\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--user-menu\"\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <fd-avatar\n size=\"xs\"\n *ngIf=\"!user.image\"\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n label=\"{{ user.fullName }}\"\n >\n </fd-avatar>\n\n <fd-avatar\n [colorAccent]=\"user.colorAccent\"\n [circle]=\"true\"\n size=\"xs\"\n *ngIf=\"user.image\"\n image=\"{{ user.image }}\"\n ></fd-avatar>\n </button>\n\n <fd-menu\n #menu\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [noArrow]=\"noArrow\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li fd-menu-item *ngFor=\"let item of userMenu\" (click)=\"itemClick(item, $event)\">\n <div fd-menu-interactive>\n <span fd-menu-title>{{ item.text }}</span>\n </div>\n </li>\n </fd-menu>\n </div>\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Shellbar } from './model/shellbar';\n\nexport const FD_SHELLBAR_SEARCH_CONFIG = new InjectionToken('FdShellbarSearchConfig');\n\nexport const FD_SHELLBAR_SEARCH_COMPONENT = new InjectionToken<SearchComponent>('FdShellbarSearchComponent');\n\nexport const FD_SHELLBAR_ACTION_COMPONENT = new InjectionToken('FdShellbarActionComponent');\n\nexport const FD_SHELLBAR_COMPONENT = new InjectionToken<Shellbar>('FdShellbarComponent');\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\n\n@Component({\n selector: 'fd-shellbar-actions-mobile',\n templateUrl: './shellbar-actions-mobile.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarActionsMobileComponent implements AfterContentChecked {\n /** @hidden */\n @Input()\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @Input()\n collapsedItemMenuLabel: string;\n\n /**\n * Whether the search is present in the shellbar.\n */\n @Input()\n searchExists = false;\n\n /** @hidden */\n totalNotifications: number;\n\n /** @hidden */\n @Output()\n showSearch = new EventEmitter<void>();\n\n /** @hidden */\n actionClicked(item: ShellbarActionComponent, event: MouseEvent): void {\n if (item.callback) {\n item.callback(event);\n }\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this.totalNotifications = 0;\n\n this.shellbarActions.forEach((action) => {\n if (action.notificationCount && typeof action.notificationCount === 'number') {\n this.totalNotifications = this.totalNotifications + action.notificationCount;\n }\n });\n }\n}\n","<div class=\"fd-shellbar-collapse\">\n <fd-action-sheet placement=\"bottom-end\" #actionSheet>\n <fd-action-sheet-control>\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"overflow\"\n class=\"fd-shellbar__button\"\n [attr.aria-label]=\"collapsedItemMenuLabel || ('coreShellbar.collapsedItemMenuLabel' | fdTranslate)\"\n >\n <span *ngIf=\"totalNotifications\" class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n </button>\n </fd-action-sheet-control>\n\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngIf=\"searchExists\"\n tabindex=\"-1\"\n [glyph]=\"'search'\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n <li\n fd-action-sheet-item\n *ngFor=\"let action of shellbarActions\"\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n <span *ngIf=\"action.notificationCount\" class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n </li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { FD_SHELLBAR_ACTION_COMPONENT } from '../tokens';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * The component that represents a shellbar action.\n * ```html\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-action',\n templateUrl: './shellbar-action.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_SHELLBAR_ACTION_COMPONENT,\n useExisting: ShellbarActionComponent\n }\n ]\n})\nexport class ShellbarActionComponent {\n /** The glyph (icon) name */\n @Input()\n glyph: string;\n\n /** Callback that hanldles the response to clicks on any of the actions. */\n @Input()\n callback: Nullable<(event: MouseEvent) => void>;\n\n /** The action label. */\n @Input()\n label: string;\n\n /** The notification label. */\n @Input()\n notificationLabel: string;\n\n /** Represents the number of notifications. */\n @Input()\n notificationCount: number;\n}\n","<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button\"\n fdCozy\n [glyph]=\"glyph\"\n (click)=\"callback ? callback($event) : ''\"\n >\n <span *ngIf=\"notificationCount\" class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n </button>\n</div>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n ViewEncapsulation,\n ContentChild,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n inject,\n Output,\n EventEmitter,\n OnDestroy,\n HostBinding\n} from '@angular/core';\n\nimport { FD_COMBOBOX_COMPONENT, ComboboxInterface } from '@fundamental-ngx/core/combobox';\nimport { FD_PRODUCT_SWITCH_COMPONENT, ProductSwitchComponent } from '@fundamental-ngx/core/product-switch';\n\nimport { ShellbarActionComponent } from '../shellbar-action/shellbar-action.component';\nimport { ShellbarUserMenu } from '../model/shellbar-user-menu';\nimport { ShellbarUser } from '../model/shellbar-user';\nimport { ShellbarUserMenuComponent } from '../user-menu/shellbar-user-menu.component';\nimport { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';\nimport { FD_SHELLBAR_ACTION_COMPONENT, FD_SHELLBAR_COMPONENT } from '../tokens';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { ShellbarSizes } from '../model/shellbar-sizes';\n\n/**\n * The component that represents shellbar actions.\n * It is a container wrapper for all product actions and links (required element).\n * ```html\n * <fd-shellbar-actions [user]=\"user\"\n * [userMenu]=\"userMenu\"\n * [productSwitcher]=\"productSwitcher\">\n * <button fd-button fdType=\"standard\">Custom Button</button>\n *\n * <fd-shellbar-action *ngFor=\"let action of actions\"\n * [glyph]=\"action.glyph\"\n * [callback]=\"action.callback\"\n * [label]=\"action.label\"\n * [notificationCount]=\"action.notificationCount\"\n * [notificationLabel]=\"action.notificationLabel\">\n * </fd-shellbar-action>\n * </fd-shellbar-actions>\n * ```\n */\n\n@Component({\n selector: 'fd-shellbar-actions',\n templateUrl: './shellbar-actions.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.fd-shellbar__group]': 'true',\n '[class.fd-shellbar__group--actions]': 'true'\n }\n})\nexport class ShellbarActionsComponent implements OnDestroy {\n /** The user data. */\n @Input()\n user: ShellbarUser;\n\n /** The user menu data. */\n @Input()\n userMenu: ShellbarUserMenu[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /**\n * @deprecated use i18n capabilities instead\n * Label for the collapsed item menu.\n */\n @Input()\n collapsedItemMenuLabel: string;\n\n /**\n * Event emitted when search opened.\n */\n @Output()\n searchOpen = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChildren(FD_SHELLBAR_ACTION_COMPONENT)\n shellbarActions: QueryList<ShellbarActionComponent>;\n\n /** @hidden */\n @ContentChild(ShellbarUserMenuComponent)\n userComponent: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ViewChild(ShellbarUserMenuComponent)\n userComponentView: ShellbarUserMenuComponent;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT)\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChild(FD_PRODUCT_SWITCH_COMPONENT, { static: false })\n productSwitchComponent: ProductSwitchComponent;\n\n /** @hidden */\n @ViewChild(CdkPortalOutlet)\n _portalOutlet: CdkPortalOutlet;\n\n /** @hidden */\n _addSearchIcon = false;\n\n /** @hidden */\n _searchPortal: DomPortal;\n\n /**\n * Whether to show the search field.\n */\n showSearch = false;\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _shellbar = inject(FD_SHELLBAR_COMPONENT, {\n optional: true\n });\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--shrink')\n private get _groupShrink(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.shrink;\n }\n\n /** @hidden */\n @HostBinding('class.fd-shellbar__group--basis-auto')\n private get _groupBasisAuto(): boolean {\n return !!this._shellbar?.groupFlex?.actions?.flexBasisAuto;\n }\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n currentSize: ShellbarSizes;\n\n /** @hidden */\n _toggleSearch: () => void = () => {\n this._setSearchVisibility(!this.showSearch);\n };\n\n /** @hidden */\n public get userItem(): ShellbarUser {\n if (this.userComponent) {\n return this.userComponent.user;\n } else {\n return this.user;\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._portalOutlet?.dispose();\n }\n\n /** @hidden */\n _attachSearch(portal: DomPortal, searchComponent: Nullable<SearchComponent>, size: ShellbarSizes): void {\n this._searchPortal = portal;\n this._addSearchIcon = true;\n this.currentSize = size;\n this._searchComponent = searchComponent;\n this._toggleSearchPortal(this.showSearch);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _detachSearch(): void {\n if (this._portalOutlet?.hasAttached()) {\n this._portalOutlet.detach();\n }\n\n this._addSearchIcon = false;\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _triggerItems(): void {\n if (!this.closePopoverOnSelect) {\n return;\n }\n this.userComponentView?.menu.close();\n this.userComponent?.menu.close();\n }\n\n /** @hidden */\n _setSearchVisibility(visible: boolean): void {\n this.showSearch = visible;\n this.searchOpen.emit(this.showSearch);\n\n if (this.currentSize === 's') {\n return;\n }\n\n this._toggleSearchPortal(visible, visible);\n }\n\n /** @hidden */\n private _toggleSearchPortal(visible: boolean, focusSearch = false): void {\n if (visible) {\n this._portalOutlet.detach();\n this._portalOutlet.attach(this._searchPortal);\n } else {\n this._portalOutlet.detach();\n }\n this._cd.detectChanges();\n if (focusSearch) {\n this._searchComponent?.focus();\n }\n }\n}\n","<div *ngIf=\"comboboxComponent\" class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content select=\"fd-combobox\"></ng-content>\n</div>\n\n<!-- If portal outlet placed outside div, it will be added to the end of the root container. So this div actually keeps outlet in desired place. -->\n<div class=\"fd-shellbar__action\" cdkPortalOutlet></div>\n\n<div class=\"fd-shellbar__action fd-shellbar__action--mobile\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [collapsedItemMenuLabel]=\"collapsedItemMenuLabel\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n ></fd-shellbar-actions-mobile>\n</div>\n\n<div class=\"fd-shellbar__action fd-shellbar__action--desktop\">\n <ng-content></ng-content>\n</div>\n\n<fd-shellbar-action\n *ngIf=\"_addSearchIcon && !showSearch\"\n glyph=\"search\"\n [callback]=\"_toggleSearch\"\n></fd-shellbar-action>\n\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n\n<ng-container *ngIf=\"userItem\">\n <ng-container *ngIf=\"!userComponent\">\n <fd-shellbar-user-menu\n placement=\"bottom-end\"\n [user]=\"user\"\n [userMenu]=\"userMenu\"\n (itemClicked)=\"_triggerItems()\"\n ></fd-shellbar-user-menu>\n </ng-container>\n\n <ng-container *ngIf=\"userComponent\">\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n </ng-container>\n</ng-container>\n\n<div *ngIf=\"productSwitchComponent\" class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n</div>\n","import { CdkPortalOutlet, DomPortal } from '@angular/cdk/portal';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n ElementRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { ComboboxInterface, FD_COMBOBOX_COMPONENT } from '@fundamental-ngx/core/combobox';\nimport { ContentDensityMode, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { SearchComponent } from '@fundamental-ngx/core/shared';\nimport equal from 'fast-deep-equal';\nimport { BehaviorSubject, debounceTime, distinctUntilChanged, Subscription } from 'rxjs';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { FD_SHELLBAR_COMPONENT, FD_SHELLBAR_SEARCH_COMPONENT } from './tokens';\nimport { SideNavigationInterface } from '@fundamental-ngx/core/side-navigation';\nimport { Breakpoints, NormalizedBreakpoint, ShellbarGroupFlexOptions, ShellbarSizes } from './model/shellbar-sizes';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n/**\n * The shellbar offers consistent, responsive navigation across all products and applications.\n * Includes support for branding, product navigation, search, notifications, and user settings.\n * Shellbar is a composite component comprised of mandatory and optional elements.\n */\n@Component({\n selector: 'fd-shellbar',\n templateUrl: './shellbar.component.html',\n styleUrls: ['./shellbar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n contentDensityObserverProviders({\n supportedContentDensity: [ContentDensityMode.COZY],\n restrictChildContentDensity: true\n }),\n {\n provide: FD_SHELLBAR_COMPONENT,\n useExisting: ShellbarComponent\n }\n ]\n})\nexport class ShellbarComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Size of Shellbar component 's' | 'm' | 'l' | 'xl' */\n @Input()\n set size(value: ShellbarSizes | undefined) {\n this._size = value;\n this._currentSize$.next(this._currentSize);\n }\n get size(): ShellbarSizes | undefined {\n return this._size;\n }\n\n /**\n * Responsive breakpoints.\n */\n @Input()\n set breakpoints(breakpoints: Breakpoints) {\n this._breakpoints = this._normalizeBreakpoints(breakpoints);\n this._setCurrentBreakpoint();\n }\n\n /**\n * Whether the Shellbar is used with Side Navigation.\n * When set to true, the responsive paddings are not applied.\n * Can also accept a template variable referring to a SideNavigationInterface (fd-side-nav or fdx-side-nav), and\n * will add the corresponding class.\n */\n @Input()\n sideNav: boolean | SideNavigationInterface = false;\n\n /**\n * Shellbar group flex configuration.\n */\n @Input()\n set groupFlex(value: Nullable<ShellbarGroupFlexOptions>) {\n if (equal(value, this._groupFlex)) {\n return;\n }\n\n this._groupFlex = value;\n this._cd.detectChanges();\n }\n\n get groupFlex(): Nullable<ShellbarGroupFlexOptions> {\n return this._groupFlex;\n }\n\n /** @hidden */\n private _groupFlex: Nullable<ShellbarGroupFlexOptions>;\n\n /** @hidden */\n @ContentChild(FD_COMBOBOX_COMPONENT, { static: false })\n comboboxComponent: ComboboxInterface;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT, { read: ElementRef })\n buttons: QueryList<ElementRef>;\n\n /** @hidden */\n @ContentChild(ShellbarActionsComponent)\n private _actions: ShellbarActionsComponent;\n\n /** @hidden */\n private _searchPortal: DomPortal;\n\n /** @hidden */\n @ViewChild('searchPortalOutlet', { static: false, read: CdkPortalOutlet })\n private readonly _searchPortalOutlet: CdkPortalOutlet;\n\n /**\n * Search component placed inside the shellbar\n */\n @ContentChild(FD_SHELLBAR_SEARCH_COMPONENT, { descendants: true, static: false })\n set searchComponent(component: Nullable<SearchComponent>) {\n this._searchComponent = component;\n if (!component) {\n return;\n }\n\n if (this._searchPortal?.isAttached) {\n this._searchPortal.detach();\n }\n\n this._searchPortal = new DomPortal(component.elementRef.nativeElement);\n component.categoryMode = 'select';\n component.disableRefresh = true;\n component.forceSearchButton = true;\n component.appearance = {\n searchClass: 'fd-shellbar__search-field',\n searchFieldClass: 'fd-shellbar__search-field-input',\n searchCategoryClass: 'fd-shellbar__search-field-category',\n searchSubmitClass: 'fd-shellbar__search-submit',\n buttonClass: 'fd-shellbar__button',\n addonClass: 'fd-shellbar__search-field-addon',\n categoryButtonClass: 'fd-shellbar__search-category',\n categoryDropdownButtonClass: 'fd-shellbar__search-dropdown',\n removeGroupButtonClass: true\n };\n\n this._searchSubmitSubscription?.unsubscribe();\n\n this._searchSubmitSubscription = component.searchSubmit\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((state) => {\n if (!state.text) {\n this._showMobileSearch = false;\n this._actions._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n });\n\n this._cd.detectChanges();\n }\n\n get searchComponent(): Nullable<SearchComponent> {\n return this._searchComponent;\n }\n\n /** @hidden */\n private _searchComponent: Nullable<SearchComponent>;\n\n /** @hidden */\n @ViewChild('shellbar')\n private readonly _shellbar: ElementRef<HTMLElement>;\n\n /** @hidden */\n get _hideTitleComponents(): boolean {\n return this._currentSize !== 'xl' && this._currentSize !== 'l' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _hideAllComponents(): boolean {\n return this._currentSize === 's' && this._showMobileSearch;\n }\n\n /** @hidden */\n get _currentSize(): ShellbarSizes {\n return this._size || this._breakpointSize;\n }\n\n /** @hidden */\n private readonly _currentSize$ = new BehaviorSubject<ShellbarSizes>(this._currentSize);\n\n /** @hidden */\n _showMobileSearch = false;\n\n /** @hidden */\n private _size: ShellbarSizes | undefined;\n\n /** @hidden */\n private _breakpointSize: ShellbarSizes = 'm';\n\n /** @hidden */\n private readonly _cd = inject(ChangeDetectorRef);\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _breakpoints: NormalizedBreakpoint[] = this._normalizeBreakpoints({\n s: 0,\n m: 320,\n l: 600,\n xl: 1240\n });\n\n /** @hidden */\n private _searchSubmitSubscription: Nullable<Subscription>;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.applyShellbarModeToCombobox();\n this.applyShellbarModeToButtons();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n resizeObservable(this._shellbar.nativeElement)\n .pipe(debounceTime(10), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._setCurrentBreakpoint());\n\n this._setSearchComponentListeners();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._searchSubmitSubscription?.unsubscribe();\n this._searchPortalOutlet?.dispose();\n }\n\n /** @hidden */\n private _setSearchComponentListeners(): void {\n this._actions?.searchOpen.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((showSearch) => {\n this._showMobileSearch = showSearch;\n this._cd.detectChanges();\n if (this._currentSize !== 's') {\n return;\n }\n\n if (showSearch) {\n this._attachSearch(true);\n } else {\n this._detachSearch();\n }\n });\n this._currentSize$.pipe(distinctUntilChanged(), takeUntilDestroyed(this._destroyRef)).subscribe((size) => {\n if (!this._searchPortal) {\n return;\n }\n\n if (size === 'xl' || (size === 's' && this._showMobileSearch)) {\n this._attachSearch();\n } else {\n this._detachSearch();\n }\n });\n }\n\n /** @hidden */\n applyShellbarModeToCombobox(): void {\n if (this.comboboxComponent) {\n this.comboboxComponent.inShellbar = true;\n }\n }\n\n /** @hidden */\n applyShellbarModeToButtons(): void {\n this.buttons?.forEach((button) => {\n button.nativeElement.classList.add('fd-shellbar__button');\n });\n }\n\n /** @hidden */\n _closeMobileSearch(): void {\n this._showMobileSearch = false;\n this._actions._setSearchVisibility(false);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n _getSideNavClass(): string {\n let retVal = ' ';\n\n if (this.sideNav && (this.sideNav as SideNavigationInterface).additionalShellbarCssClass) {\n retVal += (this.sideNav as SideNavigationInterface).additionalShellbarCssClass;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setCurrentBreakpoint(): void {\n const { width } = this._shellbar.nativeElement.getBoundingClientRect();\n\n const breakpoint = this._breakpoints.find((item) => width >= item.min && width < item.max + 1);\n\n if (!breakpoint || breakpoint.size === this._currentSize) {\n return;\n }\n\n this._breakpointSize = breakpoint.size;\n this._currentSize$.next(this._currentSize);\n this._cd.detectChanges();\n }\n\n /** @hidden */\n private _normalizeBreakpoints(breakpoints: Breakpoints): NormalizedBreakpoint[] {\n const keys = Object.keys(breakpoints) as ShellbarSizes[];\n const normalizedBreakpoints: NormalizedBreakpoint[] = [];\n\n keys.forEach((key, index) => {\n const breakpoint: NormalizedBreakpoint = {\n size: key,\n min: breakpoints[key],\n max: keys[index + 1] ? breakpoints[keys[index + 1]] : Infinity\n };\n\n normalizedBreakpoints.push(breakpoint);\n });\n\n return normalizedBreakpoints;\n }\n\n /** @hidden */\n private _attachSearch(shouldFocus = false): void {\n if (this._searchPortalOutlet?.hasAttached()) {\n return;\n }\n\n this._actions._detachSearch();\n this._searchPortalOutlet?.attach(this._searchPortal);\n\n if (shouldFocus) {\n this._searchComponent?.focus();\n }\n }\n\n /** @hidden */\n private _detachSearch(): void {\n if (!this._searchPortalOutlet?.hasAttached()) {\n this._actions._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n return;\n }\n\n this._searchPortalOutlet.detach();\n\n this._actions._attachSearch(this._searchPortal, this._searchComponent, this._currentSize);\n }\n}\n","<div\n class=\"fd-shellbar\"\n [class]=\"'fd-shellbar--' + _currentSize + _getSideNavClass()\"\n [class.fd-shellbar--side-nav]=\"sideNav === true\"\n #shellbar\n>\n <div\n class=\"fd-shellbar__group fd-shellbar__group--product\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.product?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.product?.flexBasisAuto\"\n *ngIf=\"!_hideAllComponents\"\n >\n <ng-content select=\"[fd-shellbar-side-nav]\"></ng-content>\n\n <ng-content select=\"fd-shellbar-logo\"></ng-content>\n\n <ng-content select=\"fd-shellbar-title\" *ngIf=\"!_hideTitleComponents\"></ng-content>\n\n <div class=\"fd-shellbar__product\" *ngIf=\"!_hideTitleComponents\">\n <ng-content select=\"fd-product-menu\"></ng-content>\n </div>\n\n <ng-content select=\"fd-shellbar-subtitle\" *ngIf=\"!_hideTitleComponents\"></ng-content>\n </div>\n <div hidden>\n <ng-content></ng-content>\n </div>\n <div\n class=\"fd-shellbar__group fd-shellbar__group--center fd-shellbar__group--mobile-flex\"\n [class.fd-shellbar__group--shrink]=\"groupFlex?.search?.shrink\"\n [class.fd-shellbar__group--basis-auto]=\"groupFlex?.search?.flexBasisAuto\"\n *ngIf=\"searchComponent\"\n >\n <div class=\"fd-shellbar__action fd-shellbar__action--grow\">\n <ng-container cdkPortalOutlet #searchPortalOutlet></ng-container>\n </div>\n <div\n *ngIf=\"_currentSize === 'xl' || _hideAllComponents\"\n class=\"fd-shellbar__action fd-shellbar__action--mobile fd-shellbar__action--shrink\"\n >\n <button class=\"fd-button fd-button--transparent\" (click)=\"_closeMobileSearch()\">\n {{ 'coreShellbar.cancel' | fdTranslate }}\n </button>\n </div>\n </div>\n\n <ng-content select=\"fd-shellbar-actions\" *ngIf=\"!_hideAllComponents\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MenuComponent } from '@fundamental-ngx/core/menu';\nimport { ShellbarMenuItem } from '../model/shellbar-menu-item';\nimport { Placement, PopoverFillMode } from '@fundamental-ngx/core/shared';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * The component that represents a product menu.\n * Product menu is used for navigating to applications within the product.\n * ```html\n * <fd-product-menu [control]=\"productMenuControl\"\n * [items]=\"productMenuItems\">\n * </fd-product-menu>\n * ```\n */\n@Component({\n selector: 'fd-product-menu',\n templateUrl: './product-menu.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ProductMenuComponent {\n /** Whether the popover should close when the escape key is pressed. */\n @Input()\n closeOnEscapeKey = true;\n\n /** Whether the popover should close when a click is made outside its boundaries. */\n @Input()\n closeOnOutsideClick = true;\n\n /** The trigger events that will open/close the popover.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp). */\n @Input()\n triggers: string[] = ['click'];\n\n /** The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end. */\n @Input()\n placement: Placement = 'bottom-end';\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /**\n * Preset options for the popover body width.\n * * `at-least` will apply a minimum width to the body equivalent to the width of the control.\n * * `equal` will apply a width to the body equivalent to the width of the control.\n * * Leave blank for no effect.\n */\n @Input()\n fillControlMode: Nullable<PopoverFillMode>;\n\n /**\n * The control element to toggle the product menu,\n * represented by the name of the current application.\n */\n @Input()\n control: string;\n\n /**\n * The items in the product menu. If the value is not passed or there is empty array,\n * the template changes and shows only control\n */\n @Input()\n items: ShellbarMenuItem[];\n\n /** When set to true, popover list will be closed after selecting the option */\n @Input()\n closePopoverOnSelect = false;\n\n /** @hidden */\n @ViewChild(MenuComponent)\n menu: MenuComponent;\n\n /** @hidden */\n itemClicked(item: any, event: MouseEvent): void {\n if (this.closePopoverOnSelect) {\n this.menu.close();\n }\n if (item.callback) {\n item.callback(event);\n }\n }\n}\n","<ng-template [ngIf]=\"items && items.length > 0\" [ngIfElse]=\"subHeader\">\n <button\n fd-button\n fdType=\"transparent\"\n class=\"fd-shellbar__button fd-shellbar__button--menu\"\n glyph=\"megamenu\"\n glyphPosition=\"after\"\n fdCozy\n [disabled]=\"disabled\"\n [fdMenuTrigger]=\"menu\"\n >\n <span class=\"fd-shellbar__title\">{{ control }}</span>\n </button>\n\n <fd-menu\n #menu\n [placement]=\"placement\"\n [triggers]=\"triggers\"\n [fillControlMode]=\"fillControlMode\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <li *ngFor=\"let item of items\" (click)=\"itemClicked(item, $event)\" fd-menu-item>\n <a\n [attr.href]=\"item.link ? item.link : null\"\n [attr.target]=\"item.newTab ? '_blank' : null\"\n fd-menu-interactive\n >\n <span fd-menu-title>{{ item.name }}</span>\n <fd-icon *ngIf=\"item.glyph\" fd-menu-addon position=\"after\" [glyph]=\"item.glyph\"></fd-icon>\n </a>\n </li>\n </fd-menu>\n</ng-template>\n\n<ng-template #subHeader>\n <span class=\"fd-shellbar__title fd-product-menu__title\">\n {{ control }}\n </span>\n</ng-template>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar subtitle.\n * The subtitle is optional and should be used rarely.\n * ```html\n * <fd-shellbar-subtitle>\n * Corporate Portal\n * </fd-shellbar-subtitle>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-subtitle',\n templateUrl: './shellbar-subtitle.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styles: [\n `\n fd-shellbar-subtitle {\n display: flex;\n }\n `\n ]\n})\nexport class ShellbarSubtitleComponent {}\n","<div class=\"fd-shellbar__subtitle\">\n <ng-content></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar logo.\n * The logo is a required element and is used for company branding.\n * ```html\n * <fd-shellbar-logo>\n * <a href=\"#\" class=\"fd-shellbar__logo fd-shellbar__logo--image-replaced\" aria-label=\"SAP\"></a>\n * </fd-shellbar-logo>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-logo',\n templateUrl: './shellbar-logo.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarLogoComponent {}\n","<ng-content></ng-content>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n/**\n * The component that represents a shellbar title.\n * The title is a required element and displays the current application name.\n * ```html\n * <fd-shellbar-title>\n * Corporate Portal\n * </fd-shellbar-title>\n * ```\n */\n@Component({\n selector: 'fd-shellbar-title',\n templateUrl: './shellbar-title.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ShellbarTitleComponent {}\n","<span class=\"fd-shellbar__title\">\n <ng-content></ng-content>\n</span>\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[fdShellbarSidenav], [fd-shellbar-side-nav]',\n host: {\n class: 'fd-shellbar__button'\n }\n})\nexport class ShellbarSidenavDirective {}\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-shellbar-user-menu[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedShellbarCompactDirective)\n }\n ]\n})\nexport class DeprecatedShellbarCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-shellbar-user-menu');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ActionSheetModule } from '@fundamental-ngx/core/action-sheet';\nimport { ShellbarComponent } from './shellbar.component';\nimport { ProductMenuComponent } from './product-menu/product-menu.component';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuModule } from '@fundamental-ngx/core/menu';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\nimport { ShellbarSubtitleComponent } from './shellbar-subtitle/shellbar-subtitle.component';\nimport { ShellbarActionsComponent } from './shellbar-actions/shellbar-actions.component';\nimport { ShellbarActionComponent } from './shellbar-action/shellbar-action.component';\nimport { ShellbarLogoComponent } from './shellbar-logo/shellbar-logo.component';\nimport { ShellbarTitleComponent } from './shellbar-title/shellbar-title.component';\n\nimport { ShellbarUserMenuComponent } from './user-menu/shellbar-user-menu.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DragAndDropModule } from '@fundamental-ngx/cdk/utils';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { ProductSwitchModule } from '@fundamental-ngx/core/product-switch';\nimport { ShellbarSidenavDirective } from './shellbar-sidenav.directive';\nimport { ShellbarActionsMobileComponent } from './shellbar-actions-mobile/shellbar-actions-mobile.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { DeprecatedShellbarCompactDirective } from './deprecated-shellbar-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { PortalModule } from '@angular/cdk/portal';\n\n@NgModule({\n declarations: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n DeprecatedShellbarCompactDirective\n ],\n imports: [\n CommonModule,\n PopoverModule,\n MenuModule,\n ActionSheetModule,\n ButtonModule,\n DragAndDropModule,\n DragDropModule,\n ProductSwitchModule,\n IconModule,\n I18nModule,\n AvatarModule,\n ContentDensityModule,\n PortalModule,\n I18nModule\n ],\n exports: [\n ShellbarComponent,\n ProductMenuComponent,\n ShellbarSubtitleComponent,\n ShellbarActionsComponent,\n ShellbarActionsMobileComponent,\n ShellbarActionComponent,\n ShellbarLogoComponent,\n ShellbarTitleComponent,\n ShellbarUserMenuComponent,\n ShellbarSidenavDirective,\n DeprecatedShellbarCompactDirective,\n ContentDensityModule\n ]\n})\nexport class ShellbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i3.ShellbarActionsMobileComponent","i4.ShellbarActionComponent","i5.ShellbarUserMenuComponent","i3"],"mappings":"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"}