@fundamental-ngx/core 0.64.2-rc.2 → 0.64.2-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +26 -8
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +177 -16
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/package.json +1 -1
- package/types/fundamental-ngx-core-action-sheet.d.ts +7 -1
- package/types/fundamental-ngx-core-notification.d.ts +29 -4
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { TAB } from '@angular/cdk/keycodes';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { output, input, signal, ElementRef, HostListener, ViewChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, DestroyRef, ContentChildren, EventEmitter, Output, ContentChild, Optional, NgModule } from '@angular/core';
|
|
3
4
|
import * as i1 from '@fundamental-ngx/cdk/utils';
|
|
4
|
-
import { KeyboardSupportService, destroyObservable, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
|
|
5
|
+
import { KeyUtil, KeyboardSupportService, destroyObservable, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
|
|
5
6
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
7
|
import * as i2 from '@fundamental-ngx/core/content-density';
|
|
7
8
|
import { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
@@ -135,10 +136,13 @@ class ActionSheetBodyComponent {
|
|
|
135
136
|
this.actionSheetBodyId = `fd-action-sheet-body-${actionSheetBodyUniqueIdCounter++}`;
|
|
136
137
|
/** Display in mobile view. */
|
|
137
138
|
this.mobile = false;
|
|
139
|
+
/** @hidden Internal subject for tab key events */
|
|
140
|
+
this._tabKeyPressed$ = new Subject();
|
|
138
141
|
/** @hidden */
|
|
139
142
|
this._refresh$ = new Subject();
|
|
140
143
|
/** @hidden */
|
|
141
144
|
this._destroyRef = inject(DestroyRef);
|
|
145
|
+
this.tabKeyPressed$ = this._tabKeyPressed$.asObservable();
|
|
142
146
|
}
|
|
143
147
|
/** Handler for mouse events */
|
|
144
148
|
onClick(event) {
|
|
@@ -146,6 +150,11 @@ class ActionSheetBodyComponent {
|
|
|
146
150
|
}
|
|
147
151
|
/** @hidden */
|
|
148
152
|
keyDownHandler(event) {
|
|
153
|
+
if (KeyUtil.isKeyCode(event, TAB)) {
|
|
154
|
+
event.preventDefault();
|
|
155
|
+
this._tabKeyPressed$.next();
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
149
158
|
if (this._keyboardSupportService.keyManager) {
|
|
150
159
|
this._keyboardSupportService.onKeyDown(event);
|
|
151
160
|
}
|
|
@@ -177,7 +186,10 @@ class ActionSheetBodyComponent {
|
|
|
177
186
|
}
|
|
178
187
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ActionSheetBodyComponent, decorators: [{
|
|
179
188
|
type: Component,
|
|
180
|
-
args: [{ selector: 'fd-action-sheet-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [KeyboardSupportService, contentDensityObserverProviders()],
|
|
189
|
+
args: [{ selector: 'fd-action-sheet-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [KeyboardSupportService, contentDensityObserverProviders()], host: {
|
|
190
|
+
'(click)': 'onClick($event)',
|
|
191
|
+
'(keydown)': 'keyDownHandler($event)'
|
|
192
|
+
}, template: "<ul\n #actionSheetElement\n [attr.id]=\"actionSheetBodyId\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n class=\"fd-action-sheet\"\n [class.fd-action-sheet--mobile]=\"mobile\"\n role=\"menu\"\n>\n <ng-content select=\"[fd-action-sheet-item]\"></ng-content>\n</ul>\n" }]
|
|
181
193
|
}], ctorParameters: () => [{ type: i1.KeyboardSupportService }, { type: i2.ContentDensityObserver }], propDecorators: { actionSheetBodyId: [{
|
|
182
194
|
type: Input
|
|
183
195
|
}], mobile: [{
|
|
@@ -192,12 +204,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
192
204
|
}], _items: [{
|
|
193
205
|
type: ContentChildren,
|
|
194
206
|
args: [ActionSheetItemComponent]
|
|
195
|
-
}], onClick: [{
|
|
196
|
-
type: HostListener,
|
|
197
|
-
args: ['click', ['$event']]
|
|
198
|
-
}], keyDownHandler: [{
|
|
199
|
-
type: HostListener,
|
|
200
|
-
args: ['keydown', ['$event']]
|
|
201
207
|
}] } });
|
|
202
208
|
|
|
203
209
|
/**
|
|
@@ -319,6 +325,7 @@ class ActionSheetComponent {
|
|
|
319
325
|
this._keyboardSupportService.setKeyboardService(this.actionSheetItems, true);
|
|
320
326
|
this._listenOnItemsChange();
|
|
321
327
|
this._actionControlHandle();
|
|
328
|
+
this._listenOnBodyTabKey();
|
|
322
329
|
}
|
|
323
330
|
/** @hidden */
|
|
324
331
|
ngAfterViewInit() {
|
|
@@ -366,6 +373,17 @@ class ActionSheetComponent {
|
|
|
366
373
|
.subscribe(() => (this.isOpen ? this.close() : this.open()));
|
|
367
374
|
}
|
|
368
375
|
/** @hidden */
|
|
376
|
+
_listenOnBodyTabKey() {
|
|
377
|
+
if (!this.actionSheetBody) {
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
this.actionSheetBody.tabKeyPressed$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
381
|
+
if (this.isOpen) {
|
|
382
|
+
this.close();
|
|
383
|
+
}
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
/** @hidden */
|
|
369
387
|
_listenOnItemsChange() {
|
|
370
388
|
this.actionSheetItems.changes.pipe(startWith$1(1), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
371
389
|
this._listenOnItemsClick();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-action-sheet.mjs","sources":["../../../../libs/core/action-sheet/action-sheet-item/action-sheet-item.component.ts","../../../../libs/core/action-sheet/action-sheet-item/action-sheet-item.component.html","../../../../libs/core/action-sheet/action-sheet-body/action-sheet-body.component.ts","../../../../libs/core/action-sheet/action-sheet-body/action-sheet-body.component.html","../../../../libs/core/action-sheet/action-sheet-control/action-sheet-control.component.ts","../../../../libs/core/action-sheet/action-sheet-mobile/action-sheet-mobile.component.ts","../../../../libs/core/action-sheet/action-sheet-mobile/action-sheet-mobile.component.html","../../../../libs/core/action-sheet/action-sheet.component.ts","../../../../libs/core/action-sheet/action-sheet.component.html","../../../../libs/core/action-sheet/action-sheet.module.ts","../../../../libs/core/action-sheet/fundamental-ngx-core-action-sheet.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation,\n input,\n output,\n signal\n} from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, ButtonType, defaultButtonType } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { Subject } from 'rxjs';\n\nexport interface ActionSheetClickEvent {\n shouldClose: boolean;\n}\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-action-sheet-item]',\n templateUrl: './action-sheet-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-action-sheet__item',\n role: 'none'\n },\n imports: [ButtonComponent]\n})\nexport class ActionSheetItemComponent implements KeyboardSupportItemInterface {\n /** Sets text of button. */\n @Input()\n label: string;\n\n /** Sets icon of action item. */\n @Input()\n glyph: string;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Indicate state of the button.*/\n @Input()\n negative = false;\n\n /** Indicate if it's closing button */\n @Input()\n isCloseButton = false;\n\n /** Whether or not the action sheet item is disabled. */\n @Input()\n disabled = false;\n\n /** @hidden */\n @ViewChild(ButtonComponent, { read: ElementRef })\n buttonComponent: ElementRef;\n\n /** @hidden */\n readonly keyDown = output<KeyboardEvent>();\n\n /** The button type for styling (e.g., 'transparent', 'emphasized'). */\n readonly fdType = input<ButtonType>(defaultButtonType);\n\n /** Whether the button is in toggled state. */\n readonly toggled = input<boolean | undefined | null>();\n\n /** @hidden */\n readonly clicked = new Subject<ActionSheetClickEvent>();\n\n /** @hidden */\n readonly focused = new Subject<ActionSheetItemComponent>();\n\n /** @hidden */\n readonly _tabIndex$ = signal<number | null>(null);\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n\n /** @hidden */\n @HostListener('focusin')\n focusHandler(): void {\n this.focused.next(this);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this.clicked.next({\n shouldClose: this.isCloseButton\n });\n }\n\n /** @hidden Support for KeyboardSupportItemInterface */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** @hidden */\n focus(): void {\n this.buttonComponent.nativeElement.focus();\n }\n}\n","<button\n fd-button\n class=\"fd-button--full-width\"\n [class.fd-button--text-alignment-left]=\"!negative\"\n [class.fd-button--negative]=\"negative\"\n [class.fd-button--transparent]=\"!negative && fdType() === 'standard'\"\n role=\"menuitem\"\n [fdType]=\"fdType()\"\n [toggled]=\"toggled()\"\n [label]=\"label\"\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [disabled]=\"disabled\"\n [tabIndex]=\"_tabIndex$()\"\n>\n <ng-content></ng-content>\n</button>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n HostListener,\n Input,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { KeyboardSupportService, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Subject, merge, startWith, takeUntil } from 'rxjs';\nimport { ActionSheetItemComponent } from '../action-sheet-item/action-sheet-item.component';\n\nlet actionSheetBodyUniqueIdCounter = 0;\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n selector: 'fd-action-sheet-body',\n templateUrl: './action-sheet-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService, contentDensityObserverProviders()],\n standalone: true\n})\nexport class ActionSheetBodyComponent implements AfterViewInit {\n /** Id of the Action Sheet Body. */\n @Input()\n actionSheetBodyId = `fd-action-sheet-body-${actionSheetBodyUniqueIdCounter++}`;\n\n /** Display in mobile view. */\n @Input()\n mobile = false;\n\n /** Aria-label for Action Sheet Body. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria-Labelledby for element describing Action Sheet Body. */\n @Input()\n ariaLabelledby: Nullable<string>;\n\n /** @hidden */\n @ViewChild('actionSheetElement')\n actionSheetElementRef: ElementRef<HTMLUListElement>;\n\n /** @hidden */\n @ContentChildren(ActionSheetItemComponent)\n private readonly _items: QueryList<ActionSheetItemComponent>;\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n private readonly _keyboardSupportService: KeyboardSupportService<ActionSheetItemComponent>,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._items, false, false);\n\n this._items.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\n merge(...this._items.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._items.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n}\n","<ul\n #actionSheetElement\n [attr.id]=\"actionSheetBodyId\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n class=\"fd-action-sheet\"\n [class.fd-action-sheet--mobile]=\"mobile\"\n role=\"menu\"\n>\n <ng-content select=\"[fd-action-sheet-item]\"></ng-content>\n</ul>\n","import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostListener,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n selector: 'fd-action-sheet-control',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ActionSheetControlComponent {\n /** Emitted event when control button is clicked */\n @Output()\n clicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** saves element that is focused before dialog opened */\n private _focusedElementBeforeDialogOpened: HTMLElement | null = null;\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this._focusedElementBeforeDialogOpened = _getFocusedElementPierceShadowDom();\n this.clicked.emit();\n }\n\n /** @hidden */\n _focus(): void {\n this._focusedElementBeforeDialogOpened?.focus();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef } from '@angular/core';\n\ntype OpenChangeHandle = (isOpen: boolean) => void;\n\n@Component({\n selector: 'fd-action-sheet-mobile',\n templateUrl: './action-sheet-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class ActionSheetMobileComponent {\n /** Whenever links should be visible */\n open = false;\n\n /** @hidden */\n childContent: {\n actionSheetBodyTemplate: TemplateRef<any>;\n isOpenChangeHandle: OpenChangeHandle;\n } | null = null;\n\n /** @hidden */\n get _isOpenChangeHandle(): OpenChangeHandle | undefined {\n return this.childContent?.isOpenChangeHandle;\n }\n\n /** @hidden */\n constructor(private readonly _changeDetectionRef: ChangeDetectorRef) {}\n\n /** @hidden */\n toggleOpenState(isOpen: boolean): void {\n this.open = isOpen;\n this._changeDetectionRef.detectChanges();\n }\n}\n","@if (open) {\n <div\n class=\"fd-action-sheet__wrapper fd-action-sheet__wrapper--active\"\n (click)=\"_isOpenChangeHandle && _isOpenChangeHandle(false)\"\n >\n <ng-template [ngTemplateOutlet]=\"childContent?.actionSheetBodyTemplate || null\"></ng-template>\n </div>\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\nimport {\n destroyObservable,\n DynamicComponentService,\n FocusEscapeDirection,\n KeyboardSupportService,\n Nullable\n} from '@fundamental-ngx/cdk/utils';\n\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\nimport { Placement } from '@fundamental-ngx/core/shared';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActionSheetBodyComponent } from './action-sheet-body/action-sheet-body.component';\nimport { ActionSheetControlComponent } from './action-sheet-control/action-sheet-control.component';\nimport { ActionSheetClickEvent, ActionSheetItemComponent } from './action-sheet-item/action-sheet-item.component';\nimport { ActionSheetMobileComponent } from './action-sheet-mobile/action-sheet-mobile.component';\n\n@Component({\n selector: 'fd-action-sheet',\n templateUrl: './action-sheet.component.html',\n styleUrl: './action-sheet.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [KeyboardSupportService, DynamicComponentService],\n imports: [PopoverComponent, PopoverControlComponent, NgTemplateOutlet, PopoverBodyComponent, FdTranslatePipe]\n})\nexport class ActionSheetComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Whether should be displayed in mobile mode */\n @Input()\n mobile = false;\n\n /** The position of the popover body. Set to 'bottom' by default. */\n @Input()\n placement: Placement = 'bottom';\n\n /** Whether the popover body has an arrow. Set to false by default. */\n @Input()\n noArrow = false;\n\n /** Whenever links should be visible */\n @Input()\n isOpen = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /**\n * To allow user to determine what event he wants to trigger the messages to show\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n triggers: string[] = ['click'];\n\n /** Value for the control title in mobile mode */\n @Input()\n controlTitle: Nullable<string>;\n\n /**\n * Value for the control title heading level\n * A number between 1 and 6\n * Default is set to 2\n */\n @Input()\n controlTitleHeading: 1 | 2 | 3 | 4 | 5 | 6 = 2;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Event thrown, when the action sheet is opened or closed */\n @Output()\n readonly isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChild(ActionSheetBodyComponent)\n actionSheetBody: ActionSheetBodyComponent;\n\n /** @hidden */\n @ContentChild(ActionSheetControlComponent)\n actionSheetControl: ActionSheetControlComponent;\n\n /** @hidden */\n @ContentChildren(ActionSheetItemComponent, { descendants: true })\n actionSheetItems: QueryList<ActionSheetItemComponent>;\n\n /** @hidden */\n @ViewChild('actionSheetBodyTemplate')\n actionSheetBodyTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n actionSheetMobileDynamic: ComponentRef<ActionSheetMobileComponent>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _onRefresh$ = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _keyboardSupportService: KeyboardSupportService<ActionSheetItemComponent>,\n private readonly _changeDetectionRef: ChangeDetectorRef,\n private readonly _viewContainerRef: ViewContainerRef,\n @Optional() private _dynamicComponentService: DynamicComponentService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._initializeChildrenState();\n this._keyboardSupportService.setKeyboardService(this.actionSheetItems, true);\n this._listenOnItemsChange();\n this._actionControlHandle();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.mobile) {\n this._setUpMobileMode();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onRefresh$.next();\n this._onRefresh$.complete();\n }\n\n /** Method that opens action sheet */\n open(): void {\n this.isOpenChangeHandle(true);\n }\n\n /** Method that closes action sheet */\n close(): void {\n this.isOpenChangeHandle(false);\n }\n\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean): void {\n if (this.isOpen === isOpen) {\n return;\n }\n\n this.isOpen = isOpen;\n\n if (this.mobile && this.actionSheetMobileDynamic) {\n this.actionSheetMobileDynamic.instance.toggleOpenState(this.isOpen);\n }\n\n this.isOpenChange.emit(isOpen);\n\n isOpen ? this._setItemActive(0) : this.actionSheetControl._focus();\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _initializeChildrenState(): void {\n if (this.actionSheetBody) {\n this.actionSheetBody.mobile = this.mobile;\n }\n }\n\n /** @hidden */\n private _actionControlHandle(): void {\n this.actionSheetControl.clicked\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => (this.isOpen ? this.close() : this.open()));\n }\n\n /** @hidden */\n private _listenOnItemsChange(): void {\n this.actionSheetItems.changes.pipe(startWith(1), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refresh$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));\n\n this.actionSheetItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refresh$)).subscribe((event: ActionSheetClickEvent) => {\n this._setItemActive(index);\n if (event.shouldClose) {\n this.close();\n }\n })\n );\n }\n\n /** @hidden Set fake focus on element with passed index */\n private _setItemActive(index: number): void {\n this._keyboardSupportService.keyManager?.setActiveItem(index);\n }\n\n /** @hidden */\n private async _setUpMobileMode(): Promise<void> {\n this.actionSheetMobileDynamic = this._dynamicComponentService.createDynamicComponent(\n {\n actionSheetBodyTemplate: this.actionSheetBodyTemplate,\n isOpenChangeHandle: this.isOpenChangeHandle.bind(this)\n },\n ActionSheetMobileComponent,\n {\n containerRef: this._viewContainerRef\n }\n );\n }\n}\n","@if (!mobile) {\n <fd-popover\n [placement]=\"placement\"\n [isOpen]=\"isOpen\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [noArrow]=\"noArrow\"\n [focusTrapped]=\"true\"\n [triggers]=\"[]\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n </fd-popover-control>\n <fd-popover-body>\n <ng-template [ngTemplateOutlet]=\"actionSheetBodyTemplate\"></ng-template>\n </fd-popover-body>\n </fd-popover>\n} @else {\n <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n}\n<ng-template #actionSheetBodyTemplate>\n @if (mobile && controlTitle) {\n <div\n class=\"fd-bar fd-action-sheet__bar\"\n role=\"toolbar\"\n [attr.aria-label]=\"('coreActionSheet.toolbarLabel' | fdTranslate)()\"\n >\n <div class=\"fd-bar__left\">\n <div class=\"fd-bar__element\">\n <div role=\"heading\" [ariaLevel]=\"controlTitleHeading\" class=\"fd-action-sheet__title\">\n {{ controlTitle }}\n </div>\n </div>\n </div>\n </div>\n }\n <ng-content select=\"fd-action-sheet-body\"></ng-content>\n</ng-template>\n<ng-template #actionSheetControl>\n <ng-content select=\"fd-action-sheet-control\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ActionSheetBodyComponent } from './action-sheet-body/action-sheet-body.component';\nimport { ActionSheetControlComponent } from './action-sheet-control/action-sheet-control.component';\nimport { ActionSheetItemComponent } from './action-sheet-item/action-sheet-item.component';\nimport { ActionSheetComponent } from './action-sheet.component';\n\nconst components = [\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent,\n ActionSheetBodyComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class ActionSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["startWith","takeUntil"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-action-sheet.mjs","sources":["../../../../libs/core/action-sheet/action-sheet-item/action-sheet-item.component.ts","../../../../libs/core/action-sheet/action-sheet-item/action-sheet-item.component.html","../../../../libs/core/action-sheet/action-sheet-body/action-sheet-body.component.ts","../../../../libs/core/action-sheet/action-sheet-body/action-sheet-body.component.html","../../../../libs/core/action-sheet/action-sheet-control/action-sheet-control.component.ts","../../../../libs/core/action-sheet/action-sheet-mobile/action-sheet-mobile.component.ts","../../../../libs/core/action-sheet/action-sheet-mobile/action-sheet-mobile.component.html","../../../../libs/core/action-sheet/action-sheet.component.ts","../../../../libs/core/action-sheet/action-sheet.component.html","../../../../libs/core/action-sheet/action-sheet.module.ts","../../../../libs/core/action-sheet/fundamental-ngx-core-action-sheet.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation,\n input,\n output,\n signal\n} from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, ButtonType, defaultButtonType } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { Subject } from 'rxjs';\n\nexport interface ActionSheetClickEvent {\n shouldClose: boolean;\n}\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-action-sheet-item]',\n templateUrl: './action-sheet-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-action-sheet__item',\n role: 'none'\n },\n imports: [ButtonComponent]\n})\nexport class ActionSheetItemComponent implements KeyboardSupportItemInterface {\n /** Sets text of button. */\n @Input()\n label: string;\n\n /** Sets icon of action item. */\n @Input()\n glyph: string;\n\n /** Glyph font family */\n @Input()\n glyphFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** Indicate state of the button.*/\n @Input()\n negative = false;\n\n /** Indicate if it's closing button */\n @Input()\n isCloseButton = false;\n\n /** Whether or not the action sheet item is disabled. */\n @Input()\n disabled = false;\n\n /** @hidden */\n @ViewChild(ButtonComponent, { read: ElementRef })\n buttonComponent: ElementRef;\n\n /** @hidden */\n readonly keyDown = output<KeyboardEvent>();\n\n /** The button type for styling (e.g., 'transparent', 'emphasized'). */\n readonly fdType = input<ButtonType>(defaultButtonType);\n\n /** Whether the button is in toggled state. */\n readonly toggled = input<boolean | undefined | null>();\n\n /** @hidden */\n readonly clicked = new Subject<ActionSheetClickEvent>();\n\n /** @hidden */\n readonly focused = new Subject<ActionSheetItemComponent>();\n\n /** @hidden */\n readonly _tabIndex$ = signal<number | null>(null);\n\n /** @hidden */\n constructor(private readonly _elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n\n /** @hidden */\n @HostListener('focusin')\n focusHandler(): void {\n this.focused.next(this);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this.clicked.next({\n shouldClose: this.isCloseButton\n });\n }\n\n /** @hidden Support for KeyboardSupportItemInterface */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** @hidden */\n focus(): void {\n this.buttonComponent.nativeElement.focus();\n }\n}\n","<button\n fd-button\n class=\"fd-button--full-width\"\n [class.fd-button--text-alignment-left]=\"!negative\"\n [class.fd-button--negative]=\"negative\"\n [class.fd-button--transparent]=\"!negative && fdType() === 'standard'\"\n role=\"menuitem\"\n [fdType]=\"fdType()\"\n [toggled]=\"toggled()\"\n [label]=\"label\"\n [glyph]=\"glyph\"\n [glyphFont]=\"glyphFont\"\n [disabled]=\"disabled\"\n [tabIndex]=\"_tabIndex$()\"\n>\n <ng-content></ng-content>\n</button>\n","import { TAB } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n Input,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\n\nimport { KeyUtil, KeyboardSupportService, Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { Observable, Subject, merge, startWith, takeUntil } from 'rxjs';\nimport { ActionSheetItemComponent } from '../action-sheet-item/action-sheet-item.component';\n\nlet actionSheetBodyUniqueIdCounter = 0;\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n selector: 'fd-action-sheet-body',\n templateUrl: './action-sheet-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService, contentDensityObserverProviders()],\n host: {\n '(click)': 'onClick($event)',\n '(keydown)': 'keyDownHandler($event)'\n }\n})\nexport class ActionSheetBodyComponent implements AfterViewInit {\n /** Id of the Action Sheet Body. */\n @Input()\n actionSheetBodyId = `fd-action-sheet-body-${actionSheetBodyUniqueIdCounter++}`;\n\n /** Display in mobile view. */\n @Input()\n mobile = false;\n\n /** Aria-label for Action Sheet Body. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Aria-Labelledby for element describing Action Sheet Body. */\n @Input()\n ariaLabelledby: Nullable<string>;\n\n /** @hidden */\n @ViewChild('actionSheetElement')\n actionSheetElementRef: ElementRef<HTMLUListElement>;\n\n /** @hidden */\n @ContentChildren(ActionSheetItemComponent)\n private readonly _items: QueryList<ActionSheetItemComponent>;\n\n /** Observable that emits when the Tab key is pressed inside the action sheet body. */\n readonly tabKeyPressed$: Observable<void>;\n\n /** @hidden Internal subject for tab key events */\n private readonly _tabKeyPressed$ = new Subject<void>();\n\n /** @hidden */\n private _refresh$ = new Subject<void>();\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n constructor(\n private readonly _keyboardSupportService: KeyboardSupportService<ActionSheetItemComponent>,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {\n this.tabKeyPressed$ = this._tabKeyPressed$.asObservable();\n }\n\n /** Handler for mouse events */\n onClick(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /** @hidden */\n keyDownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, TAB)) {\n event.preventDefault();\n this._tabKeyPressed$.next();\n return;\n }\n if (this._keyboardSupportService.keyManager) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._keyboardSupportService.setKeyboardService(this._items, false, false);\n\n this._items.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._setupInteractionListeners();\n });\n }\n\n /** @hidden */\n private _setupInteractionListeners(): void {\n this._refresh$.next();\n this._refresh$.complete();\n this._refresh$ = new Subject<void>();\n\n merge(...this._items.toArray().map((i) => i.focused))\n .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))\n .subscribe((focusedItem) => {\n this._items.forEach((item) => {\n item._tabIndex$.set(-1);\n });\n focusedItem._tabIndex$.set(0);\n this._keyboardSupportService.keyManager.setActiveItem(focusedItem);\n });\n }\n}\n","<ul\n #actionSheetElement\n [attr.id]=\"actionSheetBodyId\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n class=\"fd-action-sheet\"\n [class.fd-action-sheet--mobile]=\"mobile\"\n role=\"menu\"\n>\n <ng-content select=\"[fd-action-sheet-item]\"></ng-content>\n</ul>\n","import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostListener,\n Output,\n ViewEncapsulation\n} from '@angular/core';\n\n/**\n * A component used to enforce a certain layout for the action sheet.\n * ```html\n * <fd-action-sheet>\n * <fd-action-sheet-control>Control Element</fd-action-sheet-control>\n * <fd-action-sheet-body>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>\n * </fd-action-sheet-body>\n * </fd-action-sheet>\n * ```\n */\n@Component({\n selector: 'fd-action-sheet-control',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ActionSheetControlComponent {\n /** Emitted event when control button is clicked */\n @Output()\n clicked: EventEmitter<void> = new EventEmitter<void>();\n\n /** saves element that is focused before dialog opened */\n private _focusedElementBeforeDialogOpened: HTMLElement | null = null;\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n this._focusedElementBeforeDialogOpened = _getFocusedElementPierceShadowDom();\n this.clicked.emit();\n }\n\n /** @hidden */\n _focus(): void {\n this._focusedElementBeforeDialogOpened?.focus();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef } from '@angular/core';\n\ntype OpenChangeHandle = (isOpen: boolean) => void;\n\n@Component({\n selector: 'fd-action-sheet-mobile',\n templateUrl: './action-sheet-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class ActionSheetMobileComponent {\n /** Whenever links should be visible */\n open = false;\n\n /** @hidden */\n childContent: {\n actionSheetBodyTemplate: TemplateRef<any>;\n isOpenChangeHandle: OpenChangeHandle;\n } | null = null;\n\n /** @hidden */\n get _isOpenChangeHandle(): OpenChangeHandle | undefined {\n return this.childContent?.isOpenChangeHandle;\n }\n\n /** @hidden */\n constructor(private readonly _changeDetectionRef: ChangeDetectorRef) {}\n\n /** @hidden */\n toggleOpenState(isOpen: boolean): void {\n this.open = isOpen;\n this._changeDetectionRef.detectChanges();\n }\n}\n","@if (open) {\n <div\n class=\"fd-action-sheet__wrapper fd-action-sheet__wrapper--active\"\n (click)=\"_isOpenChangeHandle && _isOpenChangeHandle(false)\"\n >\n <ng-template [ngTemplateOutlet]=\"childContent?.actionSheetBodyTemplate || null\"></ng-template>\n </div>\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChild,\n ContentChildren,\n DestroyRef,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\n\nimport {\n destroyObservable,\n DynamicComponentService,\n FocusEscapeDirection,\n KeyboardSupportService,\n Nullable\n} from '@fundamental-ngx/cdk/utils';\n\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\nimport { Placement } from '@fundamental-ngx/core/shared';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ActionSheetBodyComponent } from './action-sheet-body/action-sheet-body.component';\nimport { ActionSheetControlComponent } from './action-sheet-control/action-sheet-control.component';\nimport { ActionSheetClickEvent, ActionSheetItemComponent } from './action-sheet-item/action-sheet-item.component';\nimport { ActionSheetMobileComponent } from './action-sheet-mobile/action-sheet-mobile.component';\n\n@Component({\n selector: 'fd-action-sheet',\n templateUrl: './action-sheet.component.html',\n styleUrl: './action-sheet.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [KeyboardSupportService, DynamicComponentService],\n imports: [PopoverComponent, PopoverControlComponent, NgTemplateOutlet, PopoverBodyComponent, FdTranslatePipe]\n})\nexport class ActionSheetComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** Whether should be displayed in mobile mode */\n @Input()\n mobile = false;\n\n /** The position of the popover body. Set to 'bottom' by default. */\n @Input()\n placement: Placement = 'bottom';\n\n /** Whether the popover body has an arrow. Set to false by default. */\n @Input()\n noArrow = false;\n\n /** Whenever links should be visible */\n @Input()\n isOpen = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /**\n * To allow user to determine what event he wants to trigger the messages to show\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n triggers: string[] = ['click'];\n\n /** Value for the control title in mobile mode */\n @Input()\n controlTitle: Nullable<string>;\n\n /**\n * Value for the control title heading level\n * A number between 1 and 6\n * Default is set to 2\n */\n @Input()\n controlTitleHeading: 1 | 2 | 3 | 4 | 5 | 6 = 2;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Event thrown, when the action sheet is opened or closed */\n @Output()\n readonly isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ContentChild(ActionSheetBodyComponent)\n actionSheetBody: ActionSheetBodyComponent;\n\n /** @hidden */\n @ContentChild(ActionSheetControlComponent)\n actionSheetControl: ActionSheetControlComponent;\n\n /** @hidden */\n @ContentChildren(ActionSheetItemComponent, { descendants: true })\n actionSheetItems: QueryList<ActionSheetItemComponent>;\n\n /** @hidden */\n @ViewChild('actionSheetBodyTemplate')\n actionSheetBodyTemplate: TemplateRef<any>;\n\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n actionSheetMobileDynamic: ComponentRef<ActionSheetMobileComponent>;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private readonly _onRefresh$ = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _keyboardSupportService: KeyboardSupportService<ActionSheetItemComponent>,\n private readonly _changeDetectionRef: ChangeDetectorRef,\n private readonly _viewContainerRef: ViewContainerRef,\n @Optional() private _dynamicComponentService: DynamicComponentService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._initializeChildrenState();\n this._keyboardSupportService.setKeyboardService(this.actionSheetItems, true);\n this._listenOnItemsChange();\n this._actionControlHandle();\n this._listenOnBodyTabKey();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.mobile) {\n this._setUpMobileMode();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onRefresh$.next();\n this._onRefresh$.complete();\n }\n\n /** Method that opens action sheet */\n open(): void {\n this.isOpenChangeHandle(true);\n }\n\n /** Method that closes action sheet */\n close(): void {\n this.isOpenChangeHandle(false);\n }\n\n /** @hidden */\n isOpenChangeHandle(isOpen: boolean): void {\n if (this.isOpen === isOpen) {\n return;\n }\n\n this.isOpen = isOpen;\n\n if (this.mobile && this.actionSheetMobileDynamic) {\n this.actionSheetMobileDynamic.instance.toggleOpenState(this.isOpen);\n }\n\n this.isOpenChange.emit(isOpen);\n\n isOpen ? this._setItemActive(0) : this.actionSheetControl._focus();\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _initializeChildrenState(): void {\n if (this.actionSheetBody) {\n this.actionSheetBody.mobile = this.mobile;\n }\n }\n\n /** @hidden */\n private _actionControlHandle(): void {\n this.actionSheetControl.clicked\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => (this.isOpen ? this.close() : this.open()));\n }\n\n /** @hidden */\n private _listenOnBodyTabKey(): void {\n if (!this.actionSheetBody) {\n return;\n }\n this.actionSheetBody.tabKeyPressed$.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n if (this.isOpen) {\n this.close();\n }\n });\n }\n\n /** @hidden */\n private _listenOnItemsChange(): void {\n this.actionSheetItems.changes.pipe(startWith(1), takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refresh$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));\n\n this.actionSheetItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refresh$)).subscribe((event: ActionSheetClickEvent) => {\n this._setItemActive(index);\n if (event.shouldClose) {\n this.close();\n }\n })\n );\n }\n\n /** @hidden Set fake focus on element with passed index */\n private _setItemActive(index: number): void {\n this._keyboardSupportService.keyManager?.setActiveItem(index);\n }\n\n /** @hidden */\n private async _setUpMobileMode(): Promise<void> {\n this.actionSheetMobileDynamic = this._dynamicComponentService.createDynamicComponent(\n {\n actionSheetBodyTemplate: this.actionSheetBodyTemplate,\n isOpenChangeHandle: this.isOpenChangeHandle.bind(this)\n },\n ActionSheetMobileComponent,\n {\n containerRef: this._viewContainerRef\n }\n );\n }\n}\n","@if (!mobile) {\n <fd-popover\n [placement]=\"placement\"\n [isOpen]=\"isOpen\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [noArrow]=\"noArrow\"\n [focusTrapped]=\"true\"\n [triggers]=\"[]\"\n [focusAutoCapture]=\"true\"\n >\n <fd-popover-control>\n <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n </fd-popover-control>\n <fd-popover-body>\n <ng-template [ngTemplateOutlet]=\"actionSheetBodyTemplate\"></ng-template>\n </fd-popover-body>\n </fd-popover>\n} @else {\n <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n}\n<ng-template #actionSheetBodyTemplate>\n @if (mobile && controlTitle) {\n <div\n class=\"fd-bar fd-action-sheet__bar\"\n role=\"toolbar\"\n [attr.aria-label]=\"('coreActionSheet.toolbarLabel' | fdTranslate)()\"\n >\n <div class=\"fd-bar__left\">\n <div class=\"fd-bar__element\">\n <div role=\"heading\" [ariaLevel]=\"controlTitleHeading\" class=\"fd-action-sheet__title\">\n {{ controlTitle }}\n </div>\n </div>\n </div>\n </div>\n }\n <ng-content select=\"fd-action-sheet-body\"></ng-content>\n</ng-template>\n<ng-template #actionSheetControl>\n <ng-content select=\"fd-action-sheet-control\"></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { ActionSheetBodyComponent } from './action-sheet-body/action-sheet-body.component';\nimport { ActionSheetControlComponent } from './action-sheet-control/action-sheet-control.component';\nimport { ActionSheetItemComponent } from './action-sheet-item/action-sheet-item.component';\nimport { ActionSheetComponent } from './action-sheet.component';\n\nconst components = [\n ActionSheetComponent,\n ActionSheetControlComponent,\n ActionSheetItemComponent,\n ActionSheetBodyComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class ActionSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["startWith","takeUntil"],"mappings":"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"}
|