{"version":3,"file":"fundamental-ngx-core-settings.mjs","sources":["../../../../libs/core/settings/settings-detail-area/settings-detail-area.directive.ts","../../../../libs/core/settings/settings-header-button/settings-header-button.directive.ts","../../../../libs/core/settings/settings-header/settings-header.directive.ts","../../../../libs/core/settings/settings-container/settings-container.component.ts","../../../../libs/core/settings/settings-container/settings-container.component.html","../../../../libs/core/settings/settings-content-container/settings-content-container.directive.ts","../../../../libs/core/settings/settings-content/settings-content.directive.ts","../../../../libs/core/settings/settings-dialog-body/settings-dialog-body.directive.ts","../../../../libs/core/settings/settings-dialog-content/settings-dialog-content.directive.ts","../../../../libs/core/settings/settings-list-area/settings-list-area.directive.ts","../../../../libs/core/settings/settings-list-container/settings-list-container.directive.ts","../../../../libs/core/settings/settings-profile-card-name/settings-profile-card-name.directive.ts","../../../../libs/core/settings/settings-profile-card-subline/settings-profile-card-subline.directive.ts","../../../../libs/core/settings/settings-profile-card/settings-profile-card.directive.ts","../../../../libs/core/settings/settings.component.ts","../../../../libs/core/settings/settings.module.ts","../../../../libs/core/settings/fundamental-ngx-core-settings.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-detail-area]',\n    host: {\n        class: 'fd-settings__detail-area'\n    },\n    standalone: true\n})\nexport class SettingsDetailAreaDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-header-button]',\n    standalone: true\n})\nexport class SettingsHeaderButtonDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-header]',\n    host: {\n        class: 'fd-settings__header'\n    },\n    standalone: true\n})\nexport class SettingsHeaderDirective {}\n","import {\n    AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChildren,\n    HostListener,\n    inject,\n    input,\n    OnDestroy,\n    Renderer2,\n    signal,\n    viewChild,\n    ViewContainerRef,\n    ViewEncapsulation\n} from '@angular/core';\nimport { InitialFocusDirective, RtlService } from '@fundamental-ngx/cdk/utils';\nimport { BarComponent, BarElementDirective, BarLeftDirective } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { SettingsDetailAreaDirective } from '../settings-detail-area/settings-detail-area.directive';\nimport { SettingsHeaderButtonDirective } from '../settings-header-button/settings-header-button.directive';\nimport { SettingsHeaderDirective } from '../settings-header/settings-header.directive';\n\nexport type SettingsViewMode = 'lg' | 'md' | 'sm';\n\nexport enum VIEW_MODE {\n    LG = 'lg',\n    MD = 'md',\n    SM = 'sm'\n}\n\n@Component({\n    selector: 'fd-settings-container',\n    templateUrl: './settings-container.component.html',\n    styleUrl: './settings-container.component.scss',\n    host: {\n        class: 'fd-settings__container',\n        '[class.fd-settings__container--md]': 'viewMode() === \"md\"',\n        '[class.fd-settings__container--sm]': 'viewMode() === \"sm\"'\n    },\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    imports: [\n        BarComponent,\n        BarElementDirective,\n        BarLeftDirective,\n        SettingsHeaderButtonDirective,\n        SettingsHeaderDirective,\n        SettingsDetailAreaDirective,\n        ButtonComponent,\n        TitleComponent,\n        InitialFocusDirective\n    ]\n})\nexport class SettingsContainerComponent implements OnDestroy, AfterViewInit {\n    /**\n     * Heading level for the title in the Details Area\n     * Default value is 2\n     * Acceptable values: number 1 | 2 | 3 | 4 | 5 | 6\n     */\n    readonly detailsAreaTitleHeading = input<1 | 2 | 3 | 4 | 5 | 6>(2);\n\n    /**\n     * Heading level display size for the title in the Details Area (controls the font size)\n     * Default value is 5\n     * Acceptable values: number 1 | 2 | 3 | 4 | 5 | 6\n     */\n    readonly detailsAreaTitleHeadingSize = input<1 | 2 | 3 | 4 | 5 | 6>(5);\n\n    /**\n     * aria-label and title value for the back button\n     */\n    readonly backBtnAriaLabel = input<string>('');\n\n    /** @hidden */\n    readonly viewContainer = viewChild('container', { read: ViewContainerRef });\n\n    /** @hidden */\n    readonly listItems = contentChildren(ListItemComponent, { descendants: true });\n\n    /** @hidden */\n    readonly activeListItem = signal<ListItemComponent | null>(null);\n\n    /** @hidden */\n    readonly viewMode = signal<SettingsViewMode>(VIEW_MODE.LG);\n\n    /** @hidden */\n    readonly screenWidth = signal<number>(window.innerWidth);\n\n    /** @hidden */\n    readonly showListArea = signal<boolean>(true);\n\n    /** @hidden */\n    readonly showDetailArea = signal<boolean>(true);\n\n    /** @hidden */\n    readonly activeTitle = signal<string>('');\n\n    /**\n     * Handle the navigation icon (arrow) of the Back button in RTL mode\n     */\n    protected readonly navigationArrow = computed(() =>\n        this._rtlService?.rtl() ? 'navigation-right-arrow' : 'navigation-left-arrow'\n    );\n\n    /** @hidden */\n    private _eventUnlisteners: (() => void)[] = [];\n\n    /** @hidden */\n    private readonly _rtlService = inject(RtlService, { optional: true });\n\n    /** @hidden */\n    private _renderer = inject(Renderer2);\n\n    /** @hidden */\n    constructor() {\n        this._updateViewMode();\n    }\n\n    /** @hidden */\n    @HostListener('window:resize')\n    onWindowResize(): void {\n        this.screenWidth.set(window.innerWidth);\n        this._updateViewMode();\n    }\n\n    /** @hidden */\n    ngAfterViewInit(): void {\n        this._updateViewMode();\n        this._setupListItemListeners();\n\n        if (this.showListArea()) {\n            this._focusInitialListItem();\n        }\n    }\n\n    /** @hidden */\n    ngOnDestroy(): void {\n        this._eventUnlisteners.forEach((unlistener) => unlistener());\n    }\n\n    /** @hidden */\n    onHeaderBackClick(): void {\n        if (this.viewMode() !== VIEW_MODE.LG) {\n            this.showListArea.set(true);\n            this.showDetailArea.set(false);\n\n            /**  The timeout is to ensure any keyboard events are fully processed before focusing the list item. This prevents the Enter key that triggered the back button from accidentally activating the newly focused list item. */\n\n            setTimeout(() => this._focusInitialListItem(), 200);\n        }\n    }\n\n    /** @hidden */\n    private _updateViewMode(): void {\n        const screenWidth = this.screenWidth();\n\n        if (screenWidth < 600) {\n            this.viewMode.set(VIEW_MODE.SM);\n        } else if (screenWidth < 1024) {\n            this.viewMode.set(VIEW_MODE.MD);\n        } else {\n            this.viewMode.set(VIEW_MODE.LG);\n        }\n\n        const isLargeView = this.viewMode() === VIEW_MODE.LG;\n\n        this.showListArea.set(true);\n        this.showDetailArea.set(isLargeView);\n\n        if (isLargeView && this.activeListItem()) {\n            queueMicrotask(() => this._renderTemplate());\n        }\n    }\n\n    /** @hidden */\n    private _setupListItemListeners(): void {\n        this.listItems().forEach((item: ListItemComponent) => {\n            if (item.selected) {\n                this.activeListItem.set(item);\n                this._updateActiveTitle(item);\n                this._renderTemplate();\n            }\n\n            this._eventUnlisteners.push(\n                this._renderer.listen(item.elementRef.nativeElement, 'click', () => {\n                    const currentActiveItem = this.activeListItem();\n                    if (currentActiveItem) {\n                        currentActiveItem.selected = false;\n                    }\n\n                    this.activeListItem.set(item);\n\n                    const newActiveItem = this.activeListItem();\n                    if (newActiveItem) {\n                        newActiveItem.selected = true;\n                        this._updateActiveTitle(newActiveItem);\n                    }\n\n                    if (this.viewMode() !== VIEW_MODE.LG) {\n                        this.showListArea.set(false);\n                        this.showDetailArea.set(true);\n                        setTimeout(() => this._renderTemplate());\n                    }\n\n                    this._renderTemplate();\n                })\n            );\n        });\n    }\n\n    /** @hidden */\n    private _renderTemplate(): void {\n        const template = this.activeListItem()?.settingsListTpl();\n\n        if (this.viewContainer() && template) {\n            this.viewContainer()?.clear();\n            this.viewContainer()?.createEmbeddedView(template);\n        }\n    }\n\n    /** @hidden */\n    private _updateActiveTitle(item: ListItemComponent): void {\n        const titleEl = item.elementRef.nativeElement.querySelector('[fd-list-title]');\n        const titleText = titleEl?.textContent?.trim() || '';\n        this.activeTitle.set(titleText);\n    }\n\n    /** @hidden */\n    private _focusInitialListItem(): void {\n        queueMicrotask(() => {\n            const items = this.listItems();\n            if (!items?.length) {\n                return;\n            }\n\n            const selectedItem = items.find((item) => item.selected);\n            const itemToFocus = selectedItem ?? items[0];\n\n            // setTimeout is needed so that the focus outline is displayed, o.w. the item is focussed, the tabindex is updated, but without the timeout the focus is not shown.\n            setTimeout(() => {\n                const el = itemToFocus.elementRef.nativeElement as HTMLElement;\n                el.focus();\n            });\n        });\n    }\n}\n","@if (this.showListArea()) {\n    <ng-content select=\"[fd-settings-list-area]\"></ng-content>\n}\n@if (this.showDetailArea()) {\n    <div fd-settings-detail-area style=\"max-width: 100%; overflow: hidden\">\n        <div fd-bar barDesign=\"header\" [clear]=\"true\" fd-settings-header>\n            <div fd-bar-left>\n                @if (viewMode() !== 'lg') {\n                    <fd-bar-element>\n                        <button\n                            fd-button\n                            fd-settings-header-button\n                            fdkInitialFocus\n                            fdType=\"transparent\"\n                            [glyph]=\"navigationArrow()\"\n                            [ariaLabel]=\"backBtnAriaLabel()\"\n                            [title]=\"backBtnAriaLabel()\"\n                            (click)=\"onHeaderBackClick()\"\n                        ></button>\n                    </fd-bar-element>\n                }\n                <fd-bar-element>\n                    <div\n                        role=\"heading\"\n                        [attr.aria-level]=\"detailsAreaTitleHeading()\"\n                        fd-title\n                        [headerSize]=\"detailsAreaTitleHeadingSize()\"\n                    >\n                        {{ activeTitle() }}\n                    </div>\n                </fd-bar-element>\n            </div>\n        </div>\n        <ng-container #container />\n    </div>\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-content-container]',\n    host: {\n        class: 'fd-settings__content-container'\n    },\n    standalone: true\n})\nexport class SettingsContentContainerDirective {}\n","import { Directive, booleanAttribute, input } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-content]',\n    host: {\n        class: 'fd-settings__content',\n        '[class.fd-settings__content--no-background]': 'noBackground()',\n        '[class.fd-settings__content--no-padding]': 'noPadding()'\n    },\n    standalone: true\n})\nexport class SettingsContentDirective {\n    /**\n     * Whether the content should be without paddings.\n     * Default value is false.\n     */\n    noPadding = input(false, { transform: booleanAttribute });\n\n    /**\n     * Whether the content should be without background.\n     * Default value is false.\n     */\n    noBackground = input(false, { transform: booleanAttribute });\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-dialog-body]',\n    host: {\n        class: 'fd-settings__dialog-body'\n    },\n    standalone: true\n})\nexport class SettingsDialogBodyDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-dialog-content]',\n    host: {\n        class: 'fd-settings__dialog-content'\n    },\n    standalone: true\n})\nexport class SettingsDialogContentDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-list-area]',\n    host: {\n        class: 'fd-settings__list-area'\n    },\n    standalone: true\n})\nexport class SettingsListAreaDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-list-container]',\n    host: {\n        class: 'fd-settings__list-container'\n    },\n    standalone: true\n})\nexport class SettingsListContainerDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-profile-card-name]',\n    host: {\n        class: 'fd-settings__profile-card-name'\n    },\n    standalone: true\n})\nexport class SettingsProfileCardNameDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-profile-card-subline]',\n    host: {\n        class: 'fd-settings__profile-card-subline'\n    },\n    standalone: true\n})\nexport class SettingsProfileCardSublineDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n    // eslint-disable-next-line @angular-eslint/directive-selector\n    selector: '[fd-settings-profile-card]',\n    host: {\n        class: 'fd-settings__profile-card'\n    },\n    standalone: true\n})\nexport class SettingsProfileCardDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: '[fd-settings]',\n    template: ` <ng-content></ng-content>`,\n    host: {\n        class: 'fd-settings'\n    },\n    styleUrl: './settings.component.scss',\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    standalone: true\n})\nexport class SettingsComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { SettingsContainerComponent } from './settings-container/settings-container.component';\nimport { SettingsContentContainerDirective } from './settings-content-container/settings-content-container.directive';\nimport { SettingsContentDirective } from './settings-content/settings-content.directive';\nimport { SettingsDetailAreaDirective } from './settings-detail-area/settings-detail-area.directive';\nimport { SettingsDialogBodyDirective } from './settings-dialog-body/settings-dialog-body.directive';\nimport { SettingsDialogContentDirective } from './settings-dialog-content/settings-dialog-content.directive';\nimport { SettingsHeaderButtonDirective } from './settings-header-button/settings-header-button.directive';\nimport { SettingsHeaderDirective } from './settings-header/settings-header.directive';\nimport { SettingsListAreaDirective } from './settings-list-area/settings-list-area.directive';\nimport { SettingsListContainerDirective } from './settings-list-container/settings-list-container.directive';\nimport { SettingsProfileCardNameDirective } from './settings-profile-card-name/settings-profile-card-name.directive';\nimport { SettingsProfileCardSublineDirective } from './settings-profile-card-subline/settings-profile-card-subline.directive';\nimport { SettingsProfileCardDirective } from './settings-profile-card/settings-profile-card.directive';\nimport { SettingsComponent } from './settings.component';\n\nconst components = [\n    SettingsListAreaDirective,\n    SettingsDetailAreaDirective,\n    SettingsListContainerDirective,\n    SettingsContentDirective,\n    SettingsContentContainerDirective,\n    SettingsProfileCardDirective,\n    SettingsProfileCardNameDirective,\n    SettingsProfileCardSublineDirective,\n    SettingsHeaderDirective,\n    SettingsHeaderButtonDirective,\n    SettingsDialogContentDirective,\n    SettingsDialogBodyDirective,\n    SettingsContainerComponent,\n    SettingsComponent\n];\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n    imports: [...components],\n    exports: [...components]\n})\nexport class SettingsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}