@fundamental-ngx/core 0.58.1 → 0.58.2

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ViewChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, inject, ElementRef, EventEmitter, Output, isDevMode, Directive, ContentChild, ChangeDetectorRef, ContentChildren, output, DestroyRef, computed, NgModule } from '@angular/core';
2
+ import { ViewChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, input, inject, ElementRef, EventEmitter, Output, isDevMode, Directive, ContentChild, ChangeDetectorRef, ContentChildren, output, DestroyRef, computed, NgModule } from '@angular/core';
3
3
  import { ButtonComponent, FD_BUTTON_COMPONENT, defaultButtonType } from '@fundamental-ngx/core/button';
4
4
  import { ContentDensityDirective, contentDensityObserverProviders, ContentDensityMode, ContentDensityModule } from '@fundamental-ngx/core/content-density';
5
5
  import { IconComponent, FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
@@ -103,6 +103,8 @@ const FD_SHELLBAR_COMPONENT = new InjectionToken('FdShellbarComponent');
103
103
  * [glyph]="action.glyph"
104
104
  * [callback]="action.callback"
105
105
  * [label]="action.label"
106
+ * [ariaLabel]="action.ariaLabel"
107
+ * [title]="action.title"
106
108
  * [notificationCount]="action.notificationCount"
107
109
  * [notificationLabel]="action.notificationLabel">
108
110
  * </fd-shellbar-action>
@@ -110,18 +112,39 @@ const FD_SHELLBAR_COMPONENT = new InjectionToken('FdShellbarComponent');
110
112
  */
111
113
  class ShellbarActionComponent {
112
114
  constructor() {
113
- /** Glyph font family */
114
- this.glyphFont = FD_DEFAULT_ICON_FONT_FAMILY;
115
+ /** Icon name for the button. */
116
+ this.glyph = input(...(ngDevMode ? [undefined, { debugName: "glyph" }] : []));
117
+ /** Icon font family. */
118
+ this.glyphFont = input(FD_DEFAULT_ICON_FONT_FAMILY, ...(ngDevMode ? [{ debugName: "glyphFont" }] : []));
119
+ /** Function to call when the action is clicked. */
120
+ this.callback = input(null, ...(ngDevMode ? [{ debugName: "callback" }] : []));
121
+ /** Accessible label for the action. */
122
+ this.label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
123
+ /** ARIA label for screen readers. */
124
+ this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
125
+ /** Tooltip text shown on hover. */
126
+ this.title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
127
+ /** ARIA label for the notification badge. */
128
+ this.notificationLabel = input(...(ngDevMode ? [undefined, { debugName: "notificationLabel" }] : []));
129
+ /** Number of notifications to display in badge. */
130
+ this.notificationCount = input(...(ngDevMode ? [undefined, { debugName: "notificationCount" }] : []));
115
131
  /** @hidden */
116
132
  this._elRef = inject(ElementRef);
117
133
  }
134
+ /** @hidden */
135
+ _handleClick(event) {
136
+ const callbackFn = this.callback();
137
+ if (callbackFn) {
138
+ callbackFn(event);
139
+ }
140
+ }
118
141
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionComponent, isStandalone: true, selector: "fd-shellbar-action", inputs: { glyph: "glyph", glyphFont: "glyphFont", callback: "callback", label: "label", notificationLabel: "notificationLabel", notificationCount: "notificationCount" }, providers: [
142
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionComponent, isStandalone: true, selector: "fd-shellbar-action", inputs: { glyph: { classPropertyName: "glyph", publicName: "glyph", isSignal: true, isRequired: false, transformFunction: null }, glyphFont: { classPropertyName: "glyphFont", publicName: "glyphFont", isSignal: true, isRequired: false, transformFunction: null }, callback: { classPropertyName: "callback", publicName: "callback", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, notificationLabel: { classPropertyName: "notificationLabel", publicName: "notificationLabel", isSignal: true, isRequired: false, transformFunction: null }, notificationCount: { classPropertyName: "notificationCount", publicName: "notificationCount", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
120
143
  {
121
144
  provide: FD_SHELLBAR_ACTION_COMPONENT,
122
145
  useExisting: ShellbarActionComponent
123
146
  }
124
- ], ngImport: i0, template: "<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 [glyphFont]=\"glyphFont\"\n (click)=\"callback ? callback($event) : ''\"\n >\n @if (notificationCount) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n }\n </button>\n</div>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
147
+ ], ngImport: i0, template: "<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 [ariaLabel]=\"ariaLabel()\"\n [title]=\"title() || ariaLabel()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n (click)=\"_handleClick($event)\"\n >\n @if (notificationCount()) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel()\">\n {{ notificationCount() }}\n </span>\n }\n </button>\n</div>\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
125
148
  }
126
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionComponent, decorators: [{
127
150
  type: Component,
@@ -130,20 +153,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
130
153
  provide: FD_SHELLBAR_ACTION_COMPONENT,
131
154
  useExisting: ShellbarActionComponent
132
155
  }
133
- ], imports: [ButtonComponent, ContentDensityDirective], template: "<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 [glyphFont]=\"glyphFont\"\n (click)=\"callback ? callback($event) : ''\"\n >\n @if (notificationCount) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel\">\n {{ notificationCount }}\n </span>\n }\n </button>\n</div>\n" }]
134
- }], propDecorators: { glyph: [{
135
- type: Input
136
- }], glyphFont: [{
137
- type: Input
138
- }], callback: [{
139
- type: Input
140
- }], label: [{
141
- type: Input
142
- }], notificationLabel: [{
143
- type: Input
144
- }], notificationCount: [{
145
- type: Input
146
- }] } });
156
+ ], imports: [ButtonComponent, ContentDensityDirective], template: "<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 [ariaLabel]=\"ariaLabel()\"\n [title]=\"title() || ariaLabel()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n (click)=\"_handleClick($event)\"\n >\n @if (notificationCount()) {\n <span class=\"fd-button__badge\" [attr.aria-label]=\"notificationLabel()\">\n {{ notificationCount() }}\n </span>\n }\n </button>\n</div>\n" }]
157
+ }] });
147
158
 
148
159
  class ShellbarActionsMobileComponent {
149
160
  constructor() {
@@ -156,21 +167,23 @@ class ShellbarActionsMobileComponent {
156
167
  }
157
168
  /** @hidden */
158
169
  actionClicked(item, event) {
159
- if (item.callback) {
160
- item.callback(event);
170
+ const callbackFn = item.callback();
171
+ if (callbackFn) {
172
+ callbackFn(event);
161
173
  }
162
174
  }
163
175
  /** @hidden */
164
176
  ngAfterContentChecked() {
165
177
  this.totalNotifications = 0;
166
178
  this.shellbarActions?.forEach((action) => {
167
- if (action.notificationCount && typeof action.notificationCount === 'number') {
168
- this.totalNotifications = this.totalNotifications + action.notificationCount;
179
+ const count = action.notificationCount();
180
+ if (count && typeof count === 'number') {
181
+ this.totalNotifications = this.totalNotifications + count;
169
182
  }
170
183
  });
171
184
  }
172
185
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionsMobileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
173
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionsMobileComponent, isStandalone: true, selector: "fd-shellbar-actions-mobile", inputs: { shellbarActions: "shellbarActions", searchExists: "searchExists", assistiveToolsCallback: "assistiveToolsCallback" }, outputs: { showSearch: "showSearch" }, ngImport: i0, template: "@if (shellbarActions.length > 0 || searchExists) {\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]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount) {\n <span class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n }\n </li>\n }\n @if (!!assistiveToolsCallback) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"sys-help\"\n [label]=\"'coreShellbar.assistiveTools' | fdTranslate\"\n (click)=\"assistiveToolsCallback($event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n", dependencies: [{ kind: "component", type: ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers", "controlTitle", "controlTitleHeading"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "glyphFont", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionsMobileComponent, isStandalone: true, selector: "fd-shellbar-actions-mobile", inputs: { shellbarActions: "shellbarActions", searchExists: "searchExists", assistiveToolsCallback: "assistiveToolsCallback" }, outputs: { showSearch: "showSearch" }, ngImport: i0, template: "@if (shellbarActions.length > 0 || searchExists) {\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]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n [title]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph() || ''\"\n [label]=\"action.label()\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount()) {\n <span class=\"fd-button__badge\">{{ action.notificationCount() }}</span>\n }\n </li>\n }\n @if (!!assistiveToolsCallback) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"sys-help\"\n [label]=\"'coreShellbar.assistiveTools' | fdTranslate\"\n (click)=\"assistiveToolsCallback($event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n", dependencies: [{ kind: "component", type: ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers", "controlTitle", "controlTitleHeading"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "component", type: ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "glyphFont", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["class", "id"], exportAs: ["fd-button"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
174
187
  }
175
188
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionsMobileComponent, decorators: [{
176
189
  type: Component,
@@ -181,7 +194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImpor
181
194
  ActionSheetBodyComponent,
182
195
  ButtonComponent,
183
196
  FdTranslatePipe
184
- ], template: "@if (shellbarActions.length > 0 || searchExists) {\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]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph\"\n [label]=\"action.label\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount) {\n <span class=\"fd-button__badge\">{{ action.notificationCount }}</span>\n }\n </li>\n }\n @if (!!assistiveToolsCallback) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"sys-help\"\n [label]=\"'coreShellbar.assistiveTools' | fdTranslate\"\n (click)=\"assistiveToolsCallback($event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n" }]
197
+ ], template: "@if (shellbarActions.length > 0 || searchExists) {\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]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n [title]=\"'coreShellbar.collapsedItemMenuLabel' | fdTranslate\"\n >\n @if (totalNotifications) {\n <span class=\"fd-button__badge\">\n {{ totalNotifications }}\n </span>\n }\n </button>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n @if (searchExists) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"search\"\n [label]=\"'coreShellbar.search' | fdTranslate\"\n (click)=\"showSearch.emit(); actionSheet.close()\"\n ></li>\n }\n @for (action of shellbarActions; track action) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n [glyph]=\"action.glyph() || ''\"\n [label]=\"action.label()\"\n (click)=\"actionClicked(action, $event)\"\n >\n @if (action.notificationCount()) {\n <span class=\"fd-button__badge\">{{ action.notificationCount() }}</span>\n }\n </li>\n }\n @if (!!assistiveToolsCallback) {\n <li\n fd-action-sheet-item\n tabindex=\"-1\"\n glyph=\"sys-help\"\n [label]=\"'coreShellbar.assistiveTools' | fdTranslate\"\n (click)=\"assistiveToolsCallback($event)\"\n ></li>\n }\n </fd-action-sheet-body>\n </fd-action-sheet>\n </div>\n}\n" }]
185
198
  }], propDecorators: { shellbarActions: [{
186
199
  type: Input
187
200
  }], searchExists: [{
@@ -429,7 +442,7 @@ class ShellbarActionsComponent {
429
442
  }
430
443
  }
431
444
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
432
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionsComponent, isStandalone: true, selector: "fd-shellbar-actions", inputs: { user: "user", userMenu: "userMenu", closePopoverOnSelect: "closePopoverOnSelect", assistiveTools: "assistiveTools", assistiveToolsCallback: "assistiveToolsCallback" }, outputs: { searchOpen: "searchOpen" }, host: { properties: { "class.fd-shellbar__group": "true", "class.fd-shellbar__group--actions": "true" } }, queries: [{ propertyName: "userComponent", first: true, predicate: ShellbarUserMenuComponent, descendants: true }, { propertyName: "comboboxComponent", first: true, predicate: FD_COMBOBOX_COMPONENT, descendants: true }, { propertyName: "productSwitchComponent", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT, descendants: true }, { propertyName: "userMenuComponent", first: true, predicate: UserMenuComponent, descendants: true }, { propertyName: "shellbarActions", predicate: FD_SHELLBAR_ACTION_COMPONENT }], viewQueries: [{ propertyName: "userComponentView", first: true, predicate: ShellbarUserMenuComponent, descendants: true }, { propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "@if (comboboxComponent) {\n <div class=\"fd-shellbar__action\">\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@if (_showMobileActions) {\n <div class=\"fd-shellbar__action\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n [assistiveToolsCallback]=\"assistiveToolsCallback\"\n ></fd-shellbar-actions-mobile>\n </div>\n}\n<div class=\"fd-shellbar__action\">\n <ng-content></ng-content>\n</div>\n@if (_addSearchIcon && !showSearch && !_showMobileActions) {\n <fd-shellbar-action glyph=\"search\" [callback]=\"_toggleSearch\"></fd-shellbar-action>\n}\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n@if (userComponent || userItem) {\n @if (!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 } @else {\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n }\n}\n@if (userMenuComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-user-menu\"></ng-content>\n </div>\n}\n@if (productSwitchComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n </div>\n}\n@if (assistiveTools && !_showMobileActions) {\n <fd-shellbar-action\n glyph=\"sys-help\"\n label=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [notificationCount]=\"0\"\n notificationLabel=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [callback]=\"assistiveToolsCallback\"\n >\n </fd-shellbar-action>\n}\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: ShellbarActionsMobileComponent, selector: "fd-shellbar-actions-mobile", inputs: ["shellbarActions", "searchExists", "assistiveToolsCallback"], outputs: ["showSearch"] }, { kind: "component", type: ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "notificationLabel", "notificationCount"] }, { kind: "component", type: ShellbarUserMenuComponent, selector: "fd-shellbar-user-menu", inputs: ["user", "userMenu", "fillControlMode", "placement", "triggers", "closeOnEscapeKey", "closeOnOutsideClick", "disabled", "noArrow"], outputs: ["itemClicked"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
445
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: ShellbarActionsComponent, isStandalone: true, selector: "fd-shellbar-actions", inputs: { user: "user", userMenu: "userMenu", closePopoverOnSelect: "closePopoverOnSelect", assistiveTools: "assistiveTools", assistiveToolsCallback: "assistiveToolsCallback" }, outputs: { searchOpen: "searchOpen" }, host: { properties: { "class.fd-shellbar__group": "true", "class.fd-shellbar__group--actions": "true" } }, queries: [{ propertyName: "userComponent", first: true, predicate: ShellbarUserMenuComponent, descendants: true }, { propertyName: "comboboxComponent", first: true, predicate: FD_COMBOBOX_COMPONENT, descendants: true }, { propertyName: "productSwitchComponent", first: true, predicate: FD_PRODUCT_SWITCH_COMPONENT, descendants: true }, { propertyName: "userMenuComponent", first: true, predicate: UserMenuComponent, descendants: true }, { propertyName: "shellbarActions", predicate: FD_SHELLBAR_ACTION_COMPONENT }], viewQueries: [{ propertyName: "userComponentView", first: true, predicate: ShellbarUserMenuComponent, descendants: true }, { propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true }], ngImport: i0, template: "@if (comboboxComponent) {\n <div class=\"fd-shellbar__action\">\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@if (_showMobileActions) {\n <div class=\"fd-shellbar__action\">\n <fd-shellbar-actions-mobile\n [shellbarActions]=\"shellbarActions\"\n [searchExists]=\"!!_searchPortal\"\n (showSearch)=\"_toggleSearch()\"\n [assistiveToolsCallback]=\"assistiveToolsCallback\"\n ></fd-shellbar-actions-mobile>\n </div>\n}\n<div class=\"fd-shellbar__action\">\n <ng-content></ng-content>\n</div>\n@if (_addSearchIcon && !showSearch && !_showMobileActions) {\n <fd-shellbar-action glyph=\"search\" [callback]=\"_toggleSearch\"></fd-shellbar-action>\n}\n<ng-content select=\"fd-shellbar-action\"></ng-content>\n@if (userComponent || userItem) {\n @if (!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 } @else {\n <ng-content select=\"fd-shellbar-user-menu\"></ng-content>\n }\n}\n@if (userMenuComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-user-menu\"></ng-content>\n </div>\n}\n@if (productSwitchComponent) {\n <div class=\"fd-shellbar__action\">\n <ng-content select=\"fd-product-switch\"></ng-content>\n </div>\n}\n@if (assistiveTools && !_showMobileActions) {\n <fd-shellbar-action\n glyph=\"sys-help\"\n label=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [notificationCount]=\"0\"\n notificationLabel=\"{{ 'coreShellbar.assistiveTools' | fdTranslate }}\"\n [callback]=\"assistiveToolsCallback\"\n >\n </fd-shellbar-action>\n}\n", dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: ShellbarActionsMobileComponent, selector: "fd-shellbar-actions-mobile", inputs: ["shellbarActions", "searchExists", "assistiveToolsCallback"], outputs: ["showSearch"] }, { kind: "component", type: ShellbarActionComponent, selector: "fd-shellbar-action", inputs: ["glyph", "glyphFont", "callback", "label", "ariaLabel", "title", "notificationLabel", "notificationCount"] }, { kind: "component", type: ShellbarUserMenuComponent, selector: "fd-shellbar-user-menu", inputs: ["user", "userMenu", "fillControlMode", "placement", "triggers", "closeOnEscapeKey", "closeOnOutsideClick", "disabled", "noArrow"], outputs: ["itemClicked"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
433
446
  }
434
447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: ShellbarActionsComponent, decorators: [{
435
448
  type: Component,