@fundamental-ngx/platform 0.43.48 → 0.43.49
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/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/list/action-list-item/action-list-item.component.mjs +1 -1
- package/esm2020/list/display-list-item/display-list-item.component.mjs +1 -1
- package/esm2020/list/free-content-list-item/free-content-list-item.component.mjs +1 -1
- package/esm2020/list/list.component.mjs +1 -1
- package/esm2020/list/object-list-item/object-list-item.component.mjs +1 -1
- package/esm2020/list/standard-list-item/standard-list-item.component.mjs +1 -1
- package/esm2020/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2020/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
- package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2020/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
- package/esm2020/variant-management/variant-management.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-list.mjs +6 -6
- package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +7 -7
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-list.mjs +6 -6
- package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +7 -7
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.49.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/fundamental-ngx-platform-v0.43.48.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-settings-generator.mjs","sources":["../../../../libs/platform/src/lib/settings-generator/default-config.ts","../../../../libs/platform/src/lib/settings-generator/tokens.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.service.ts","../../../../libs/platform/src/lib/settings-generator/layouts/base-settings-generator-layout.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.html","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-content.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-content.component.html","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.ts","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.html","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.ts","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.html","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/theme-selector-list.component.ts","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/theme-selector-list.component.html","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/icon.html","../../../../libs/platform/src/lib/settings-generator/settings-generator-layout-accessor.service.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.component.html","../../../../libs/platform/src/lib/settings-generator/settings-generator.module.ts","../../../../libs/platform/src/lib/settings-generator/fundamental-ngx-platform-settings-generator.ts"],"sourcesContent":["import { SidebarSettingsGeneratorConfig } from './models/settings-config.model';\n\nexport const FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG: SidebarSettingsGeneratorConfig = {\n defaultLayout: 'sidebar',\n sidebar: {\n mobileBreakpoint: 700,\n width: '25%'\n }\n};\n","import { InjectionToken } from '@angular/core';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsGenerator } from './models/settings-generator.model';\n\nexport const FDP_SETTINGS_GENERATOR_CONFIG = new InjectionToken<SettingsConfig>('FdpSettingsGeneratorConfig');\nexport const FDP_SETTINGS_GENERATOR = new InjectionToken<SettingsGenerator>('FdpSettingsGenerator');\n","import { Injectable, OnDestroy, inject, ElementRef } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n combineLatest,\n delay,\n filter,\n map,\n switchMap,\n take,\n takeUntil,\n tap\n} from 'rxjs';\nimport { SettingsModel } from './models/settings.model';\nimport { DynamicFormValue, FormGeneratorComponent } from '@fundamental-ngx/platform/form';\nimport { MessagePopoverFormWrapperComponent } from '@fundamental-ngx/platform/message-popover';\nimport { set } from 'lodash-es';\n\nexport type SettingsGeneratorReturnValue = Record<string, unknown>;\n\n@Injectable()\nexport class SettingsGeneratorService implements OnDestroy {\n /**\n * Settings configuration subject.\n */\n readonly settings = new BehaviorSubject<Nullable<SettingsModel>>(null);\n\n /**\n * Stream emitted when user clicked on message popover error entry.\n */\n readonly onItemFocus = new Subject<{ path: string; element: ElementRef<HTMLElement> }>();\n\n /**\n * Stream emitted when mobile state has been changed.\n */\n readonly mobileState$ = new BehaviorSubject<boolean>(false);\n\n /**\n * @hidden\n * Form generators collected from all items and groups.\n */\n private readonly _formGenerators = new Map<string, FormGeneratorComponent>();\n\n /** @hidden */\n private readonly _messagePopover = inject(MessagePopoverFormWrapperComponent, {\n optional: true\n });\n\n /** @hidden */\n private readonly _destroy$ = new Subject<void>();\n\n /** @hidden */\n constructor() {\n this._listenToMessagePopoverItemClick();\n }\n\n /** @hidden */\n _addFormGenerator(path: string[], formGenerator: FormGeneratorComponent): void {\n const joinedPath = path.join('.');\n this._formGenerators.set(joinedPath, formGenerator);\n formGenerator.loading$\n .pipe(\n filter((loading) => !loading),\n take(1),\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this._messagePopover?.addForms(formGenerator.formGroup);\n this._messagePopover?.addFormFields(formGenerator.formFields);\n });\n }\n\n /** @hidden */\n _removeFormGenerator(path: string[]): void {\n const joinedPath = path.join('.');\n this._formGenerators.delete(joinedPath);\n }\n\n /**\n * Submits registered forms and emits result if submission status was successful (no errors).\n */\n submit(): Observable<SettingsGeneratorReturnValue> {\n const joinedEvents: Record<string, Observable<DynamicFormValue>> = {};\n this._formGenerators.forEach((formGenerator, key) => {\n joinedEvents[key] = formGenerator.loading$.pipe(\n filter((result) => !result),\n delay(50),\n tap(() => formGenerator.submit()),\n switchMap(() => formGenerator.formSubmittedStatus$),\n filter((status) => status.success),\n take(1),\n map((result) => result.value as DynamicFormValue),\n takeUntil(this._destroy$)\n );\n });\n\n return combineLatest(joinedEvents).pipe(\n map((result) => Object.entries(result).reduce((a, b) => set(a, b[0], b[1]), {})),\n take(1),\n takeUntil(this._destroy$)\n );\n }\n\n /**\n * Sets mobile state.\n * @param isMobile Whether mobile state should be applied.\n */\n setMobileState(isMobile: boolean): void {\n this.mobileState$.next(isMobile);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._formGenerators.clear();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * @hidden\n * Subscribes to click events from message popover and tries to open the section where invalid input is located.\n */\n private _listenToMessagePopoverItemClick(): void {\n this._messagePopover?.messagePopover$\n ?.pipe(\n switchMap((messagePopover) => messagePopover.focusItem),\n filter((entry) => !!entry.formField),\n takeUntil(this._destroy$)\n )\n .subscribe((entry) => {\n this._formGenerators.forEach((formGenerator, path) => {\n const formFields = formGenerator.formFields;\n // We already filtered entries with present form field.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (formFields.includes(entry.formField!)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.onItemFocus.next({ path, element: entry.formField!.elementRef });\n return false;\n }\n });\n });\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, inject, OnInit } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { SettingsGeneratorService } from '../settings-generator.service';\nimport { Subject } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SettingsModel } from '../models/settings.model';\nimport { FDP_SETTINGS_GENERATOR } from '../tokens';\n\n@Directive()\nexport abstract class BaseSettingsGeneratorLayout implements OnInit {\n /**\n * Settings generator service.\n */\n protected readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /**\n * Change detector ref.\n */\n protected readonly _cdr = inject(ChangeDetectorRef);\n\n /**\n * Settings generator component ref.\n */\n protected _settingsGenerator = inject(FDP_SETTINGS_GENERATOR);\n\n /**\n * Subject to notify subscriptions to unsubscribe when component destroys.\n */\n protected abstract _destroy$: Subject<void>;\n\n /**\n * Settings schema.\n */\n settings: Nullable<SettingsModel>;\n\n /** @hidden */\n ngOnInit(): void {\n this._settingsGeneratorService.settings.pipe(takeUntil(this._destroy$)).subscribe((settings) => {\n this.settings = settings;\n this._cdr.detectChanges();\n });\n }\n\n /**\n * Method for focusing inner form control.\n * It is responsible for activating the section and placing focus on the element.\n * @param path path of the control joined by dot(.). Usually represents section ID and inner group ID.\n * @param element ElementRef of native element to focus.\n */\n abstract focusElementByPath(path: string, element: ElementRef<HTMLElement>): void;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { DynamicFormItem, FormGeneratorComponent } from '@fundamental-ngx/platform/form';\nimport {\n FormSettingsItem,\n SettingsFormTab,\n SettingsItem,\n SettingsTemplateTab,\n TemplateSettingsItem\n} from '../../models/settings.model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SettingsGeneratorService } from '../../settings-generator.service';\n\nexport type SettingsSectionItemsModel = SettingsTemplateTab | SettingsFormTab | SettingsItem;\n\n@Component({\n selector: 'fdp-settings-generator-section',\n templateUrl: './settings-generator-section.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingsGeneratorSectionComponent {\n /**\n * Group name. Used to define full path of the inner form.\n */\n @Input()\n groupName: Nullable<string>;\n\n /**\n * Section items.\n * @param value {Nullable<SettingsSectionItemsModel>} Can be either a template Ref, or Form generator items.\n */\n @Input()\n set items(value: Nullable<SettingsSectionItemsModel>) {\n this._items = value;\n\n if (this._isTemplateLayout(value)) {\n this._renderer = 'template';\n this._templateRef = value.template;\n } else {\n this._renderer = 'form';\n this._formItems = value?.items || [];\n }\n }\n\n get items(): Nullable<SettingsSectionItemsModel> {\n return this._items;\n }\n\n /** @hidden */\n private readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /** @hidden */\n private _items: Nullable<SettingsSectionItemsModel>;\n\n /** @hidden */\n @ViewChild(FormGeneratorComponent)\n private set _formGeneratorCmp(component: FormGeneratorComponent | undefined) {\n this._formGenerator = component;\n\n if (!this.items) {\n return;\n }\n\n const config = this.items as SettingsFormTab | FormSettingsItem;\n\n const path = [this.groupName, config.id].filter((v) => !!v) as string[];\n\n if (component) {\n this._settingsGeneratorService._addFormGenerator(path, component);\n } else {\n this._settingsGeneratorService._removeFormGenerator(path);\n }\n }\n\n /** @hidden */\n private _formGenerator: FormGeneratorComponent | undefined;\n\n /** @hidden */\n _renderer: 'form' | 'template' = 'form';\n\n /** @hidden */\n _templateRef: TemplateRef<any> | null = null;\n\n /** @hidden */\n _formItems: DynamicFormItem[] = [];\n\n /** @hidden */\n _isTemplateLayout(settings: any): settings is TemplateSettingsItem {\n return !!settings?.template;\n }\n}\n","<fdp-form-generator\n *ngIf=\"_renderer === 'form'\"\n [noAdditionalContent]=\"true\"\n [mainTitle]=\"items?.title | fdkAsyncOrSync\"\n [hideMainTItle]=\"true\"\n [formItems]=\"_formItems\"\n [unifiedLayout]=\"false\"\n></fdp-form-generator>\n\n<ng-container *ngIf=\"_renderer === 'template' && items?.template\" [ngTemplateOutlet]=\"_templateRef\"></ng-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport {\n GroupedFormSettingsItem,\n GroupedTemplateSettingsItem,\n SettingsFormTab,\n SettingsItem,\n SettingsTemplateTab,\n TemplateSettingsItem\n} from '../models/settings.model';\n\n@Component({\n selector: 'fdp-settings-generator-content',\n templateUrl: './settings-generator-content.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingsGeneratorContentComponent {\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _settings: Nullable<SettingsItem>;\n\n /** @hidden */\n _groups: (SettingsTemplateTab | SettingsFormTab)[] = [];\n\n /** @hidden */\n _index: number;\n\n /** @hidden */\n @Input()\n set settings(value: Nullable<SettingsItem>) {\n this._settings = value;\n\n this._renderer = this.isTemplateLayout(this._settings) ? 'template' : 'form';\n if (this.isGroupedSettings(this._settings)) {\n this._contentLayout = 'tabs';\n this._groups = this._settings.groups;\n } else {\n this._contentLayout = 'form';\n }\n }\n\n get settings(): Nullable<SettingsItem> {\n return this._settings;\n }\n\n /** Whether to render content component in mobile view. */\n @Input()\n mobile = false;\n\n /** Event emits when user needs to be moved back to navigation screen. */\n @Output()\n goBack = new EventEmitter<void>();\n\n /** @hidden */\n _id: Nullable<string>;\n\n /** @hidden */\n _renderer: 'form' | 'template' = 'form';\n\n /** @hidden */\n _contentLayout: 'form' | 'tabs' = 'form';\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator__content-section';\n\n /** @hidden */\n @ViewChildren(TabPanelComponent)\n private readonly _tabPanels: QueryList<TabPanelComponent>;\n\n /** @hidden */\n isTemplateLayout(settings: Nullable<SettingsItem>): settings is TemplateSettingsItem {\n return !!settings?.template;\n }\n\n /** @hidden */\n isGroupedSettings(settings: any): settings is GroupedFormSettingsItem | GroupedTemplateSettingsItem {\n return settings?.groups?.length > 0;\n }\n\n /**\n * Activates tab by group ID.\n * @param id ID of the group.\n */\n setActiveTab(id: string): void {\n if (!this.isGroupedSettings(this._settings)) {\n return;\n }\n this._tabPanels?.forEach((tab, index) => {\n const group = this._groups[index];\n\n if (group.id === id) {\n tab.open(true);\n return false;\n }\n });\n }\n}\n","<h2 fd-title class=\"fdp-settings-generator__title\">\n <button *ngIf=\"mobile\" fd-button glyph=\"menu2\" fdType=\"transparent\" (click)=\"goBack.emit()\"></button>\n <ng-container *ngIf=\"settings?.title | fdkAsyncOrSync as settingsTitle; else loadingBlock\">\n {{ settingsTitle }}\n </ng-container>\n <ng-template #loadingBlock>\n <fd-skeleton height=\"40px\" type=\"rectangle\" width=\"40%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n</h2>\n\n<ng-template #tabbedLayout>\n <fd-tab-list size=\"s\">\n <fd-tab *ngFor=\"let group of _groups\" [title]=\"group.title | fdkAsyncOrSync\">\n <fdp-settings-generator-section\n [groupName]=\"$any(settings).id\"\n [items]=\"group\"\n ></fdp-settings-generator-section>\n </fd-tab>\n </fd-tab-list>\n</ng-template>\n\n<ng-template #formLayout>\n <fdp-settings-generator-section [items]=\"settings!\"></fdp-settings-generator-section>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"_contentLayout === 'tabs' ? tabbedLayout : formLayout\"></ng-container>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { ThumbnailSettingsItem } from '../../../models/settings.model';\nimport { ListAvatarConfig, ListIconConfig } from '@fundamental-ngx/platform/list';\nimport { merge } from 'lodash-es';\nimport { Observable, takeUntil } from 'rxjs';\nimport { DestroyedService, isSubscribable } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fdp-settings-generator-sidebar-icon',\n templateUrl: './settings-generator-sidebar-icon.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DestroyedService]\n})\nexport class SettingsGeneratorSidebarIconComponent {\n /** Thumbnail configuration. */\n @Input()\n set thumbnail(value: ThumbnailSettingsItem) {\n this._thumbnail = value;\n if (this.thumbnail.avatar) {\n this._transformAvatarConfig(this.thumbnail.avatar);\n }\n\n if (this.thumbnail.icon) {\n this._transformIconConfig(this.thumbnail.icon);\n }\n }\n\n get thumbnail(): ThumbnailSettingsItem {\n return this._thumbnail;\n }\n\n /** @hidden */\n private _thumbnail: ThumbnailSettingsItem;\n\n /** @hidden */\n _avatarConfig: ListAvatarConfig | undefined;\n\n /** @hidden */\n _iconConfig: ListIconConfig | undefined;\n\n /** @hidden */\n private readonly _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _transformAvatarConfig(\n config$: Partial<ListAvatarConfig> | string | Observable<Partial<ListAvatarConfig> | string>\n ): void {\n this._getConfigFromObservable(config$, (parsedConfig) => {\n const avatarConfig = typeof parsedConfig === 'string' ? { image: parsedConfig } : parsedConfig;\n this._avatarConfig = merge(new ListAvatarConfig(), avatarConfig);\n this._cdr.detectChanges();\n });\n }\n\n /** @Hidden */\n private _transformIconConfig(\n config$: Partial<ListIconConfig> | string | Observable<Partial<ListIconConfig> | string>\n ): void {\n this._getConfigFromObservable(config$, (parsedConfig) => {\n const iconConfig = typeof parsedConfig === 'string' ? { glyph: parsedConfig } : parsedConfig;\n this._iconConfig = merge(new ListIconConfig(), iconConfig);\n this._cdr.detectChanges();\n });\n }\n\n /** @hidden */\n private _getConfigFromObservable<T>(config: T | Observable<T>, callback: (config: T) => void): void {\n if (isSubscribable(config)) {\n config.pipe(takeUntil(this._destroy$)).subscribe((_config) => {\n callback(_config);\n });\n\n return;\n }\n\n callback(config);\n }\n}\n","<ng-container *ngIf=\"!_iconConfig && !_avatarConfig; else iconBlock\">\n <fd-skeleton type=\"rectangle\" width=\"48px\" height=\"48px\"></fd-skeleton>\n</ng-container>\n<ng-template #iconBlock>\n <fd-icon\n *ngIf=\"_iconConfig && _iconConfig.glyph\"\n [glyph]=\"_iconConfig.glyph\"\n [ariaLabel]=\"_iconConfig.ariaLabel\"\n [font]=\"_iconConfig.font\"\n ></fd-icon>\n <fd-avatar\n *ngIf=\"_avatarConfig && (_avatarConfig.image || _avatarConfig.glyph || _avatarConfig.zoomGlyph)\"\n [size]=\"_avatarConfig.size\"\n [glyph]=\"_avatarConfig.glyph\"\n [zoomGlyph]=\"_avatarConfig.zoomGlyph\"\n [label]=\"_avatarConfig.label\"\n [circle]=\"_avatarConfig.circle\"\n [placeholder]=\"_avatarConfig.placeholder\"\n [tile]=\"_avatarConfig.tile\"\n [colorAccent]=\"_avatarConfig.colorAccent\"\n [image]=\"_avatarConfig.image\"\n [transparent]=\"_avatarConfig.transparent\"\n [random]=\"_avatarConfig.random\"\n [class]=\"'fd-list__icon ' + _avatarConfig.class\"\n [ariaLabel]=\"_avatarConfig.ariaLabel\"\n [ariaLabelledby]=\"_avatarConfig.ariaLabelledby\"\n [contain]=\"_avatarConfig.contain\"\n [border]=\"_avatarConfig.border\"\n [alterIcon]=\"_avatarConfig.alterIcon\"\n [backupImage]=\"_avatarConfig.backupImage\"\n [clickable]=\"_avatarConfig.clickable\"\n [attr.alt]=\"_avatarConfig.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n inject,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService, Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { debounceTime, distinctUntilChanged, startWith, takeUntil } from 'rxjs';\nimport { SidebarSettingsGeneratorConfig } from '../../models/settings-config.model';\nimport {\n FormSettingsItem,\n GroupedFormSettingsItem,\n SettingsItem,\n SidebarSettingsModel,\n SidebarWidthConfiguration\n} from '../../models/settings.model';\nimport { SettingsGeneratorContentComponent } from '../../settings-generator-content/settings-generator-content.component';\nimport { FDP_SETTINGS_GENERATOR_CONFIG } from '../../tokens';\nimport { BaseSettingsGeneratorLayout } from '../base-settings-generator-layout';\n\n@Component({\n selector: 'fdp-settings-generator-sidebar-layout',\n templateUrl: './settings-generator-sidebar-layout.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DestroyedService]\n})\nexport class SettingsGeneratorSidebarLayoutComponent\n extends BaseSettingsGeneratorLayout\n implements OnInit, AfterViewInit\n{\n /** @hidden */\n @ViewChild('settingsGeneratorContent')\n private readonly settingsGeneratorContent: SettingsGeneratorContentComponent;\n /** @hidden */\n protected _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _config = inject<SidebarSettingsGeneratorConfig>(FDP_SETTINGS_GENERATOR_CONFIG);\n\n /**\n * Selected settings section.\n */\n _selectedIndex = -1;\n\n /** @hidden */\n _sidebarWidth: SidebarWidthConfiguration;\n\n /** @hidden */\n @HostBinding('class.fdp-settings-generator__sidebar-layout--mobile')\n _isMobile: boolean;\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator__sidebar-layout';\n\n /** @hidden */\n private _sidebarVisible = true;\n\n /** @hidden */\n private _initialSelectedItemSet = false;\n\n /** @hidden */\n get _mobileSidebarVisible(): boolean {\n return this._isMobile && this._sidebarVisible;\n }\n\n /** @hidden */\n constructor() {\n super();\n this._sidebarWidth = this._getNormalizedSidebarWidth(this._config.sidebar?.width);\n }\n\n /** @hidden */\n ngOnInit(): void {\n super.ngOnInit();\n this._settingsGeneratorService.settings.pipe(takeUntil(this._destroy$)).subscribe((settings) => {\n if (this._isSidebarSettings(settings) && settings.sidebarWidth) {\n this._sidebarWidth = this._getNormalizedSidebarWidth(settings.sidebarWidth);\n this._cdr.detectChanges();\n }\n });\n }\n\n /** @hidden */\n focusElementByPath(path: string, element: ElementRef<HTMLElement>): void {\n const pathArray = path.split('.');\n // We are interested only in sections with ID.\n const sectionIndex =\n this.settings?.items.findIndex((section) => {\n if (!this._isFormGeneratorSection(section)) {\n return;\n }\n return section.id === pathArray[0];\n }) ?? -1;\n\n // Focus on section.\n if (sectionIndex > -1) {\n this._setSelectedIndex(sectionIndex);\n }\n\n // Currently we support only 2 level nesting of form groups.\n if (pathArray.length > 0) {\n this.settingsGeneratorContent.setActiveTab(pathArray[1]);\n }\n\n setTimeout(() => {\n element.nativeElement.focus();\n });\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this._settingsGenerator.elementRef.nativeElement && this._config.sidebar?.mobileBreakpoint) {\n resizeObservable(this._settingsGenerator.elementRef.nativeElement)\n .pipe(startWith(null), debounceTime(30), distinctUntilChanged(), takeUntil(this._destroy$))\n .subscribe(() => {\n const { width } = this._settingsGenerator.elementRef.nativeElement.getBoundingClientRect();\n const isMobile = width <= this._config.sidebar.mobileBreakpoint;\n if (this._isMobile === isMobile) {\n return;\n }\n this._settingsGeneratorService.setMobileState(isMobile);\n this._isMobile = isMobile;\n\n // User opened section previously, so focus on that section\n if (this._isMobile && this._selectedIndex >= 0) {\n this._sidebarVisible = false;\n }\n\n // In mobile view, we don't need to set initial index, since the section won't be visible to the end user.\n if (!this._initialSelectedItemSet && !this._isMobile) {\n this._setSelectedIndex(this._selectedIndex > -1 ? this._selectedIndex : 0);\n this._initialSelectedItemSet = true;\n }\n this._cdr.detectChanges();\n });\n }\n }\n\n /** @hidden */\n _setSelectedIndex(index: number): void {\n this._selectedIndex = index;\n this._sidebarVisible = index === -1;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _goBack(): void {\n this._setSelectedIndex(-1);\n }\n\n /** @hidden */\n private _getNormalizedSidebarWidth(width: string | SidebarWidthConfiguration): SidebarWidthConfiguration {\n return typeof width === 'string' ? { minWidth: width, maxWidth: width, width } : width;\n }\n\n /** @hidden */\n private _isSidebarSettings(settings: Nullable<any>): settings is SidebarSettingsModel<any> {\n return settings?.appearance === 'sidebar';\n }\n\n /** @hidden */\n private _isFormGeneratorSection(section: SettingsItem): section is FormSettingsItem | GroupedFormSettingsItem {\n return !!(section as any).id;\n }\n}\n","<div\n class=\"fdp-settings-generator__sidebar\"\n [class.fdp-settings-generator__sidebar--hidden]=\"!_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : _sidebarWidth.width\"\n [style.min-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.minWidth\"\n [style.max-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.maxWidth\"\n>\n <ul fd-list [byline]=\"true\" [navigationIndicator]=\"true\">\n <li\n (click)=\"_setSelectedIndex(i)\"\n fd-list-item\n [selected]=\"i === _selectedIndex\"\n *ngFor=\"let item of settings?.items; let i = index\"\n >\n <a fd-list-link [navigated]=\"i === _selectedIndex\">\n <span fd-list-thumbnail *ngIf=\"item.thumbnail\">\n <fdp-settings-generator-sidebar-icon\n [thumbnail]=\"item.thumbnail\"\n ></fdp-settings-generator-sidebar-icon>\n </span>\n <div fd-list-content>\n <ng-container *ngIf=\"item.title | fdkAsyncOrSync as titleValue; else titleElseBlock\">\n <div fd-list-title>{{ titleValue }}</div>\n </ng-container>\n <ng-template #titleElseBlock>\n <div fd-list-title>\n <fd-skeleton\n height=\"16px\"\n type=\"rectangle\"\n width=\"40%\"\n textLines=\"1\"\n style=\"margin: auto 0\"\n ></fd-skeleton>\n </div>\n </ng-template>\n <div fd-list-byline *ngIf=\"item.description\">\n <ng-container\n *ngIf=\"item.description | fdkAsyncOrSync as descriptionValue; else descriptionElseBlock\"\n >\n {{ descriptionValue }}\n </ng-container>\n <ng-template #descriptionElseBlock>\n <fd-skeleton type=\"text\" width=\"60%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n </div>\n </div>\n </a>\n </li>\n </ul>\n</div>\n<div\n class=\"fdp-settings-generator__content\"\n [class.fdp-settings-generator__content--hidden]=\"_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.width + ')'\"\n [style.min-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.minWidth + ')'\"\n [style.max-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.maxWidth + ')'\"\n>\n <ng-container *ngFor=\"let item of settings?.items; let i = index\">\n <fdp-settings-generator-content\n [attr.hidden]=\"i !== _selectedIndex ? true : null\"\n [settings]=\"item\"\n [mobile]=\"_isMobile\"\n (goBack)=\"_goBack()\"\n #settingsGeneratorContent\n ></fdp-settings-generator-content>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport {\n BaseDynamicFormGeneratorControl,\n dynamicFormFieldProvider,\n dynamicFormGroupChildProvider\n} from '@fundamental-ngx/platform/form';\n\n@Component({\n selector: 'fdp-theme-selector-list',\n templateUrl: './theme-selector-list.component.html',\n styleUrls: ['./theme-selector-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider]\n})\nexport class ThemeSelectorListComponent extends BaseDynamicFormGeneratorControl implements OnInit {\n /** @hidden */\n currentTheme: string;\n\n /** @hidden */\n ngOnInit(): void {\n this.currentTheme = this.formItem.default;\n }\n\n /** @hidden */\n setTheme(value: string): void {\n const control = this.form.get([this.formGroupName, this.name]);\n this.currentTheme = value;\n control?.setValue(value);\n }\n}\n\n@Component({\n selector: 'fdp-theme-selector-list-icon',\n templateUrl: './icon.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThemeSelectorListIconComponent {\n /** @hidden */\n @Input()\n size = 40;\n}\n","<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" [style.width.px]=\"size\" [style.height.px]=\"size\">\n <defs>\n <style>\n .settings-selector-list-icon__cls-1 {\n fill: #1c2228;\n }\n\n .settings-selector-list-icon__cls-2 {\n fill: #424f5e;\n }\n\n .settings-selector-list-icon__cls-3 {\n fill: #29313a;\n }\n\n .settings-selector-list-icon__cls-4 {\n fill: #3a4552;\n }\n\n .settings-selector-list-icon__cls-5 {\n fill: #91c8f6;\n }\n\n .settings-selector-list-icon__cls-6 {\n fill: #d3d7d9;\n }\n\n .settings-selector-list-icon__cls-7 {\n fill: #354a5f;\n }\n\n .settings-selector-list-icon__cls-8 {\n fill: #7996b4;\n }\n\n .settings-selector-list-icon__cls-9 {\n fill: #fff;\n }\n </style>\n </defs>\n <rect class=\"settings-selector-list-icon__cls-1\" y=\"88\" width=\"200\" height=\"112\" />\n <path class=\"settings-selector-list-icon__cls-2\" d=\"M200,105v95H59V110a5,5,0,0,1,5-5Z\" />\n <path class=\"settings-selector-list-icon__cls-3\" d=\"M64,106H200v94H60V110A4,4,0,0,1,64,106Z\" />\n <rect class=\"settings-selector-list-icon__cls-3\" y=\"44\" width=\"200\" height=\"44\" />\n <rect class=\"settings-selector-list-icon__cls-4\" y=\"87\" width=\"200\" height=\"1\" />\n <path\n class=\"settings-selector-list-icon__cls-5\"\n d=\"M64,63h46a5,5,0,0,1,5,5h0a5,5,0,0,1-5,5H64a5,5,0,0,1-5-5h0A5,5,0,0,1,64,63Z\"\n />\n <path class=\"settings-selector-list-icon__cls-6\" d=\"M153,63h47V73H153a5,5,0,0,1-5-5h0A5,5,0,0,1,153,63Z\" />\n <path class=\"settings-selector-list-icon__cls-5\" d=\"M62,85h50a3,3,0,0,1,3,3H59A3,3,0,0,1,62,85Z\" />\n <rect class=\"settings-selector-list-icon__cls-7\" width=\"200\" height=\"44\" />\n <path\n class=\"settings-selector-list-icon__cls-8\"\n d=\"M68.459,13a1,1,0,0,1,.714,1.707l-16.155,16A1.01,1.01,0,0,1,52.3,31H33.539a1,1,0,0,1-1.01-.99V14a1,1,0,0,1,1-1h34.93m0-3H33.539A4.024,4.024,0,0,0,29.5,14V30a4.024,4.024,0,0,0,4.039,4H52.3a4.033,4.033,0,0,0,2.857-1.172l16.154-16a3.961,3.961,0,0,0,.876-4.359A4.027,4.027,0,0,0,68.459,10Z\"\n />\n <rect class=\"settings-selector-list-icon__cls-9\" x=\"82.121\" y=\"16.949\" width=\"75.758\" height=\"10.101\" rx=\"5\" />\n <path class=\"settings-selector-list-icon__cls-9\" d=\"M170,18h30v8H170a4,4,0,0,1-4-4h0A4,4,0,0,1,170,18Z\" />\n</svg>\n","import { Injectable, Type } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BaseSettingsGeneratorLayout } from './layouts/base-settings-generator-layout';\n\n/**\n * Service, used as a registry of the available layouts for Settings Generator Component.\n */\n@Injectable()\nexport class SettingsGeneratorLayoutAccessorService {\n /** @hidden */\n private readonly _layouts = new Map<string, Type<BaseSettingsGeneratorLayout>>();\n\n /**\n * Adds custom layout component to layouts registry for later usage with Settings Generator component.\n * @param layoutName Name of the Layout\n * @param layoutComponent Component type to be used for defined layout.\n */\n addLayout(layoutName: string, layoutComponent: Type<BaseSettingsGeneratorLayout>): void {\n this._layouts.set(layoutName, layoutComponent);\n }\n\n /**\n * Gets Component type for defined layout.\n * @param layoutName\n */\n getLayout(layoutName: string): Nullable<Type<BaseSettingsGeneratorLayout>> {\n return this._layouts.get(layoutName);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n HostBinding,\n Inject,\n inject,\n Injector,\n Input,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { BaseSettingsGeneratorLayout } from './layouts/base-settings-generator-layout';\nimport { SettingsGeneratorSidebarLayoutComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsModel } from './models/settings.model';\nimport { SettingsGeneratorLayoutAccessorService } from './settings-generator-layout-accessor.service';\nimport { SettingsGeneratorReturnValue, SettingsGeneratorService } from './settings-generator.service';\nimport { ThemeSelectorListComponent } from './controls/theme-selector-list/theme-selector-list.component';\nimport { BehaviorSubject, filter, Observable, Subscription, takeUntil } from 'rxjs';\nimport { FDP_SETTINGS_GENERATOR, FDP_SETTINGS_GENERATOR_CONFIG } from './tokens';\nimport { SettingsGenerator } from './models/settings-generator.model';\n\n@Component({\n selector: 'fdp-settings-generator',\n templateUrl: './settings-generator.component.html',\n styleUrls: ['./settings-generator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SettingsGeneratorService,\n DestroyedService,\n {\n provide: FDP_SETTINGS_GENERATOR,\n useExisting: SettingsGeneratorComponent\n }\n ]\n})\nexport class SettingsGeneratorComponent implements SettingsGenerator, AfterViewInit, OnDestroy {\n /**\n * Settings Generator Element Ref.\n */\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n /**\n * Settings configuration.\n */\n @Input()\n set settings(value: Nullable<SettingsModel>) {\n if (value) {\n value.appearance = value.appearance || (this._config.defaultLayout as string);\n }\n this._settings = value;\n this._settingsGeneratorService.settings.next(value);\n this._setLayout();\n }\n\n get settings(): Nullable<SettingsModel> {\n return this._settings;\n }\n\n /** @hidden */\n private _settings: Nullable<SettingsModel>;\n\n /** @hidden */\n private readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator';\n\n /** @hidden */\n @ViewChild('renderer', { read: ViewContainerRef })\n private readonly _viewRef: ViewContainerRef;\n\n /** @hidden */\n private _currentLayout: string;\n\n /** @hidden */\n private readonly _viewReady = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _viewReadySub: Subscription;\n\n /** @hidden */\n private _layoutComponentRef: ComponentRef<BaseSettingsGeneratorLayout>;\n\n /** @hidden */\n constructor(\n private readonly _fgService: FormGeneratorService,\n private readonly _settingsLayoutService: SettingsGeneratorLayoutAccessorService,\n private readonly _injector: Injector,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _destroy$: DestroyedService,\n @Inject(FDP_SETTINGS_GENERATOR_CONFIG) private readonly _config: SettingsConfig\n ) {\n this._settingsLayoutService.addLayout('sidebar', SettingsGeneratorSidebarLayoutComponent);\n this._fgService.addComponent(ThemeSelectorListComponent, ['theme-list']);\n this._settingsGeneratorService.onItemFocus.subscribe((entry) => {\n this._layoutComponentRef.instance.focusElementByPath(entry.path, entry.element);\n });\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._viewReady.next(true);\n\n // We need to notify children components to update their classes.\n this._settingsGeneratorService.mobileState$.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._cdr.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._viewReady.complete();\n this._viewReadySub?.unsubscribe();\n this._layoutComponentRef?.destroy();\n this._viewRef?.clear();\n }\n\n /**\n * Programmatically submit inner forms of the settings generator.\n * @returns Observable with settings value grouped by main sections and inner sections.\n */\n submit(): Observable<SettingsGeneratorReturnValue> {\n return this._settingsGeneratorService.submit();\n }\n\n /** @hidden */\n private _setLayout(): void {\n this._viewReadySub?.unsubscribe();\n\n this._viewReadySub = this._viewReady.pipe(filter((ready) => ready)).subscribe(() => {\n if (!this.settings?.appearance || this._currentLayout === this.settings.appearance) {\n return;\n }\n\n const layoutComponent = this._settingsLayoutService.getLayout(this.settings.appearance);\n\n if (!layoutComponent) {\n return;\n }\n\n const injector = Injector.create({\n providers: [],\n parent: this._injector\n });\n\n this._layoutComponentRef?.destroy();\n this._viewRef.clear();\n this._layoutComponentRef = this._viewRef.createComponent(layoutComponent, { injector });\n\n this._currentLayout = this.settings.appearance;\n\n this._cdr.detectChanges();\n });\n }\n}\n","<ng-container #renderer></ng-container>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\nimport { SplitterModule } from '@fundamental-ngx/core/splitter';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { PlatformFormGeneratorModule } from '@fundamental-ngx/platform/form';\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { ClickedBehaviorModule, PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\n\nimport { FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG } from './default-config';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsGeneratorComponent } from './settings-generator.component';\nimport { SettingsGeneratorSidebarLayoutComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component';\nimport { SettingsGeneratorContentComponent } from './settings-generator-content/settings-generator-content.component';\nimport { SettingsGeneratorSectionComponent } from './settings-generator-content/settings-generator-section/settings-generator-section.component';\nimport {\n ThemeSelectorListComponent,\n ThemeSelectorListIconComponent\n} from './controls/theme-selector-list/theme-selector-list.component';\nimport { SettingsGeneratorSidebarIconComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component';\nimport { SettingsGeneratorLayoutAccessorService } from './settings-generator-layout-accessor.service';\nimport { FDP_SETTINGS_GENERATOR_CONFIG } from './tokens';\n\n@NgModule({\n imports: [\n CommonModule,\n ListModule,\n IconModule,\n AvatarModule,\n SplitterModule,\n PortalModule,\n TitleModule,\n PlatformFormGeneratorModule,\n TabsModule,\n ClickedBehaviorModule.forRoot(),\n PipeModule,\n SkeletonModule,\n ButtonModule,\n ScrollbarModule\n ],\n declarations: [\n SettingsGeneratorComponent,\n SettingsGeneratorSidebarLayoutComponent,\n SettingsGeneratorContentComponent,\n SettingsGeneratorSectionComponent,\n ThemeSelectorListComponent,\n ThemeSelectorListIconComponent,\n SettingsGeneratorSidebarIconComponent\n ],\n exports: [\n SettingsGeneratorComponent,\n SettingsGeneratorSidebarLayoutComponent,\n SettingsGeneratorContentComponent,\n SettingsGeneratorSectionComponent,\n ThemeSelectorListIconComponent\n ],\n providers: [\n SettingsGeneratorLayoutAccessorService,\n {\n provide: FDP_SETTINGS_GENERATOR_CONFIG,\n useValue: FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG\n }\n ]\n})\nexport class SettingsGeneratorModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<SettingsConfig>): ModuleWithProviders<SettingsGeneratorModule> {\n return {\n ngModule: SettingsGeneratorModule,\n providers: [\n {\n provide: FDP_SETTINGS_GENERATOR_CONFIG,\n useValue: { ...FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG, ...config }\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i2","i3","i6.SettingsGeneratorSectionComponent","i7","i4.SettingsGeneratorContentComponent","i5.SettingsGeneratorSidebarIconComponent","i6"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-settings-generator.mjs","sources":["../../../../libs/platform/src/lib/settings-generator/default-config.ts","../../../../libs/platform/src/lib/settings-generator/tokens.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.service.ts","../../../../libs/platform/src/lib/settings-generator/layouts/base-settings-generator-layout.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-section/settings-generator-section.component.html","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-content.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator-content/settings-generator-content.component.html","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.ts","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component.html","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.ts","../../../../libs/platform/src/lib/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.html","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/theme-selector-list.component.ts","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/theme-selector-list.component.html","../../../../libs/platform/src/lib/settings-generator/controls/theme-selector-list/icon.html","../../../../libs/platform/src/lib/settings-generator/settings-generator-layout-accessor.service.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.component.ts","../../../../libs/platform/src/lib/settings-generator/settings-generator.component.html","../../../../libs/platform/src/lib/settings-generator/settings-generator.module.ts","../../../../libs/platform/src/lib/settings-generator/fundamental-ngx-platform-settings-generator.ts"],"sourcesContent":["import { SidebarSettingsGeneratorConfig } from './models/settings-config.model';\n\nexport const FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG: SidebarSettingsGeneratorConfig = {\n defaultLayout: 'sidebar',\n sidebar: {\n mobileBreakpoint: 700,\n width: '25%'\n }\n};\n","import { InjectionToken } from '@angular/core';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsGenerator } from './models/settings-generator.model';\n\nexport const FDP_SETTINGS_GENERATOR_CONFIG = new InjectionToken<SettingsConfig>('FdpSettingsGeneratorConfig');\nexport const FDP_SETTINGS_GENERATOR = new InjectionToken<SettingsGenerator>('FdpSettingsGenerator');\n","import { Injectable, OnDestroy, inject, ElementRef } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n BehaviorSubject,\n Observable,\n Subject,\n combineLatest,\n delay,\n filter,\n map,\n switchMap,\n take,\n takeUntil,\n tap\n} from 'rxjs';\nimport { SettingsModel } from './models/settings.model';\nimport { DynamicFormValue, FormGeneratorComponent } from '@fundamental-ngx/platform/form';\nimport { MessagePopoverFormWrapperComponent } from '@fundamental-ngx/platform/message-popover';\nimport { set } from 'lodash-es';\n\nexport type SettingsGeneratorReturnValue = Record<string, unknown>;\n\n@Injectable()\nexport class SettingsGeneratorService implements OnDestroy {\n /**\n * Settings configuration subject.\n */\n readonly settings = new BehaviorSubject<Nullable<SettingsModel>>(null);\n\n /**\n * Stream emitted when user clicked on message popover error entry.\n */\n readonly onItemFocus = new Subject<{ path: string; element: ElementRef<HTMLElement> }>();\n\n /**\n * Stream emitted when mobile state has been changed.\n */\n readonly mobileState$ = new BehaviorSubject<boolean>(false);\n\n /**\n * @hidden\n * Form generators collected from all items and groups.\n */\n private readonly _formGenerators = new Map<string, FormGeneratorComponent>();\n\n /** @hidden */\n private readonly _messagePopover = inject(MessagePopoverFormWrapperComponent, {\n optional: true\n });\n\n /** @hidden */\n private readonly _destroy$ = new Subject<void>();\n\n /** @hidden */\n constructor() {\n this._listenToMessagePopoverItemClick();\n }\n\n /** @hidden */\n _addFormGenerator(path: string[], formGenerator: FormGeneratorComponent): void {\n const joinedPath = path.join('.');\n this._formGenerators.set(joinedPath, formGenerator);\n formGenerator.loading$\n .pipe(\n filter((loading) => !loading),\n take(1),\n takeUntil(this._destroy$)\n )\n .subscribe(() => {\n this._messagePopover?.addForms(formGenerator.formGroup);\n this._messagePopover?.addFormFields(formGenerator.formFields);\n });\n }\n\n /** @hidden */\n _removeFormGenerator(path: string[]): void {\n const joinedPath = path.join('.');\n this._formGenerators.delete(joinedPath);\n }\n\n /**\n * Submits registered forms and emits result if submission status was successful (no errors).\n */\n submit(): Observable<SettingsGeneratorReturnValue> {\n const joinedEvents: Record<string, Observable<DynamicFormValue>> = {};\n this._formGenerators.forEach((formGenerator, key) => {\n joinedEvents[key] = formGenerator.loading$.pipe(\n filter((result) => !result),\n delay(50),\n tap(() => formGenerator.submit()),\n switchMap(() => formGenerator.formSubmittedStatus$),\n filter((status) => status.success),\n take(1),\n map((result) => result.value as DynamicFormValue),\n takeUntil(this._destroy$)\n );\n });\n\n return combineLatest(joinedEvents).pipe(\n map((result) => Object.entries(result).reduce((a, b) => set(a, b[0], b[1]), {})),\n take(1),\n takeUntil(this._destroy$)\n );\n }\n\n /**\n * Sets mobile state.\n * @param isMobile Whether mobile state should be applied.\n */\n setMobileState(isMobile: boolean): void {\n this.mobileState$.next(isMobile);\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._formGenerators.clear();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * @hidden\n * Subscribes to click events from message popover and tries to open the section where invalid input is located.\n */\n private _listenToMessagePopoverItemClick(): void {\n this._messagePopover?.messagePopover$\n ?.pipe(\n switchMap((messagePopover) => messagePopover.focusItem),\n filter((entry) => !!entry.formField),\n takeUntil(this._destroy$)\n )\n .subscribe((entry) => {\n this._formGenerators.forEach((formGenerator, path) => {\n const formFields = formGenerator.formFields;\n // We already filtered entries with present form field.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (formFields.includes(entry.formField!)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.onItemFocus.next({ path, element: entry.formField!.elementRef });\n return false;\n }\n });\n });\n }\n}\n","import { ChangeDetectorRef, Directive, ElementRef, inject, OnInit } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { SettingsGeneratorService } from '../settings-generator.service';\nimport { Subject } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SettingsModel } from '../models/settings.model';\nimport { FDP_SETTINGS_GENERATOR } from '../tokens';\n\n@Directive()\nexport abstract class BaseSettingsGeneratorLayout implements OnInit {\n /**\n * Settings generator service.\n */\n protected readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /**\n * Change detector ref.\n */\n protected readonly _cdr = inject(ChangeDetectorRef);\n\n /**\n * Settings generator component ref.\n */\n protected _settingsGenerator = inject(FDP_SETTINGS_GENERATOR);\n\n /**\n * Subject to notify subscriptions to unsubscribe when component destroys.\n */\n protected abstract _destroy$: Subject<void>;\n\n /**\n * Settings schema.\n */\n settings: Nullable<SettingsModel>;\n\n /** @hidden */\n ngOnInit(): void {\n this._settingsGeneratorService.settings.pipe(takeUntil(this._destroy$)).subscribe((settings) => {\n this.settings = settings;\n this._cdr.detectChanges();\n });\n }\n\n /**\n * Method for focusing inner form control.\n * It is responsible for activating the section and placing focus on the element.\n * @param path path of the control joined by dot(.). Usually represents section ID and inner group ID.\n * @param element ElementRef of native element to focus.\n */\n abstract focusElementByPath(path: string, element: ElementRef<HTMLElement>): void;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { DynamicFormItem, FormGeneratorComponent } from '@fundamental-ngx/platform/form';\nimport {\n FormSettingsItem,\n SettingsFormTab,\n SettingsItem,\n SettingsTemplateTab,\n TemplateSettingsItem\n} from '../../models/settings.model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { SettingsGeneratorService } from '../../settings-generator.service';\n\nexport type SettingsSectionItemsModel = SettingsTemplateTab | SettingsFormTab | SettingsItem;\n\n@Component({\n selector: 'fdp-settings-generator-section',\n templateUrl: './settings-generator-section.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingsGeneratorSectionComponent {\n /**\n * Group name. Used to define full path of the inner form.\n */\n @Input()\n groupName: Nullable<string>;\n\n /**\n * Section items.\n * @param value {Nullable<SettingsSectionItemsModel>} Can be either a template Ref, or Form generator items.\n */\n @Input()\n set items(value: Nullable<SettingsSectionItemsModel>) {\n this._items = value;\n\n if (this._isTemplateLayout(value)) {\n this._renderer = 'template';\n this._templateRef = value.template;\n } else {\n this._renderer = 'form';\n this._formItems = value?.items || [];\n }\n }\n\n get items(): Nullable<SettingsSectionItemsModel> {\n return this._items;\n }\n\n /** @hidden */\n private readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /** @hidden */\n private _items: Nullable<SettingsSectionItemsModel>;\n\n /** @hidden */\n @ViewChild(FormGeneratorComponent)\n private set _formGeneratorCmp(component: FormGeneratorComponent | undefined) {\n this._formGenerator = component;\n\n if (!this.items) {\n return;\n }\n\n const config = this.items as SettingsFormTab | FormSettingsItem;\n\n const path = [this.groupName, config.id].filter((v) => !!v) as string[];\n\n if (component) {\n this._settingsGeneratorService._addFormGenerator(path, component);\n } else {\n this._settingsGeneratorService._removeFormGenerator(path);\n }\n }\n\n /** @hidden */\n private _formGenerator: FormGeneratorComponent | undefined;\n\n /** @hidden */\n _renderer: 'form' | 'template' = 'form';\n\n /** @hidden */\n _templateRef: TemplateRef<any> | null = null;\n\n /** @hidden */\n _formItems: DynamicFormItem[] = [];\n\n /** @hidden */\n _isTemplateLayout(settings: any): settings is TemplateSettingsItem {\n return !!settings?.template;\n }\n}\n","<fdp-form-generator\n *ngIf=\"_renderer === 'form'\"\n [noAdditionalContent]=\"true\"\n [mainTitle]=\"items?.title | fdkAsyncOrSync\"\n [hideMainTItle]=\"true\"\n [formItems]=\"_formItems\"\n [unifiedLayout]=\"false\"\n></fdp-form-generator>\n\n<ng-container *ngIf=\"_renderer === 'template' && items?.template\" [ngTemplateOutlet]=\"_templateRef\"></ng-container>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport {\n GroupedFormSettingsItem,\n GroupedTemplateSettingsItem,\n SettingsFormTab,\n SettingsItem,\n SettingsTemplateTab,\n TemplateSettingsItem\n} from '../models/settings.model';\n\n@Component({\n selector: 'fdp-settings-generator-content',\n templateUrl: './settings-generator-content.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SettingsGeneratorContentComponent {\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _settings: Nullable<SettingsItem>;\n\n /** @hidden */\n _groups: (SettingsTemplateTab | SettingsFormTab)[] = [];\n\n /** @hidden */\n _index: number;\n\n /** @hidden */\n @Input()\n set settings(value: Nullable<SettingsItem>) {\n this._settings = value;\n\n this._renderer = this.isTemplateLayout(this._settings) ? 'template' : 'form';\n if (this.isGroupedSettings(this._settings)) {\n this._contentLayout = 'tabs';\n this._groups = this._settings.groups;\n } else {\n this._contentLayout = 'form';\n }\n }\n\n get settings(): Nullable<SettingsItem> {\n return this._settings;\n }\n\n /** Whether to render content component in mobile view. */\n @Input()\n mobile = false;\n\n /** Event emits when user needs to be moved back to navigation screen. */\n @Output()\n goBack = new EventEmitter<void>();\n\n /** @hidden */\n _id: Nullable<string>;\n\n /** @hidden */\n _renderer: 'form' | 'template' = 'form';\n\n /** @hidden */\n _contentLayout: 'form' | 'tabs' = 'form';\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator__content-section';\n\n /** @hidden */\n @ViewChildren(TabPanelComponent)\n private readonly _tabPanels: QueryList<TabPanelComponent>;\n\n /** @hidden */\n isTemplateLayout(settings: Nullable<SettingsItem>): settings is TemplateSettingsItem {\n return !!settings?.template;\n }\n\n /** @hidden */\n isGroupedSettings(settings: any): settings is GroupedFormSettingsItem | GroupedTemplateSettingsItem {\n return settings?.groups?.length > 0;\n }\n\n /**\n * Activates tab by group ID.\n * @param id ID of the group.\n */\n setActiveTab(id: string): void {\n if (!this.isGroupedSettings(this._settings)) {\n return;\n }\n this._tabPanels?.forEach((tab, index) => {\n const group = this._groups[index];\n\n if (group.id === id) {\n tab.open(true);\n return false;\n }\n });\n }\n}\n","<h2 fd-title class=\"fdp-settings-generator__title\">\n <button *ngIf=\"mobile\" fd-button glyph=\"menu2\" fdType=\"transparent\" (click)=\"goBack.emit()\"></button>\n <ng-container *ngIf=\"settings?.title | fdkAsyncOrSync as settingsTitle; else loadingBlock\">\n {{ settingsTitle }}\n </ng-container>\n <ng-template #loadingBlock>\n <fd-skeleton height=\"40px\" type=\"rectangle\" width=\"40%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n</h2>\n\n<ng-template #tabbedLayout>\n <fd-tab-list size=\"s\">\n <fd-tab *ngFor=\"let group of _groups\" [title]=\"group.title | fdkAsyncOrSync\">\n <fdp-settings-generator-section\n [groupName]=\"$any(settings).id\"\n [items]=\"group\"\n ></fdp-settings-generator-section>\n </fd-tab>\n </fd-tab-list>\n</ng-template>\n\n<ng-template #formLayout>\n <fdp-settings-generator-section [items]=\"settings!\"></fdp-settings-generator-section>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"_contentLayout === 'tabs' ? tabbedLayout : formLayout\"></ng-container>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewEncapsulation, inject } from '@angular/core';\nimport { ThumbnailSettingsItem } from '../../../models/settings.model';\nimport { ListAvatarConfig, ListIconConfig } from '@fundamental-ngx/platform/list';\nimport { merge } from 'lodash-es';\nimport { Observable, takeUntil } from 'rxjs';\nimport { DestroyedService, isSubscribable } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fdp-settings-generator-sidebar-icon',\n templateUrl: './settings-generator-sidebar-icon.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [DestroyedService]\n})\nexport class SettingsGeneratorSidebarIconComponent {\n /** Thumbnail configuration. */\n @Input()\n set thumbnail(value: ThumbnailSettingsItem) {\n this._thumbnail = value;\n if (this.thumbnail.avatar) {\n this._transformAvatarConfig(this.thumbnail.avatar);\n }\n\n if (this.thumbnail.icon) {\n this._transformIconConfig(this.thumbnail.icon);\n }\n }\n\n get thumbnail(): ThumbnailSettingsItem {\n return this._thumbnail;\n }\n\n /** @hidden */\n private _thumbnail: ThumbnailSettingsItem;\n\n /** @hidden */\n _avatarConfig: ListAvatarConfig | undefined;\n\n /** @hidden */\n _iconConfig: ListIconConfig | undefined;\n\n /** @hidden */\n private readonly _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _cdr = inject(ChangeDetectorRef);\n\n /** @hidden */\n private _transformAvatarConfig(\n config$: Partial<ListAvatarConfig> | string | Observable<Partial<ListAvatarConfig> | string>\n ): void {\n this._getConfigFromObservable(config$, (parsedConfig) => {\n const avatarConfig = typeof parsedConfig === 'string' ? { image: parsedConfig } : parsedConfig;\n this._avatarConfig = merge(new ListAvatarConfig(), avatarConfig);\n this._cdr.detectChanges();\n });\n }\n\n /** @Hidden */\n private _transformIconConfig(\n config$: Partial<ListIconConfig> | string | Observable<Partial<ListIconConfig> | string>\n ): void {\n this._getConfigFromObservable(config$, (parsedConfig) => {\n const iconConfig = typeof parsedConfig === 'string' ? { glyph: parsedConfig } : parsedConfig;\n this._iconConfig = merge(new ListIconConfig(), iconConfig);\n this._cdr.detectChanges();\n });\n }\n\n /** @hidden */\n private _getConfigFromObservable<T>(config: T | Observable<T>, callback: (config: T) => void): void {\n if (isSubscribable(config)) {\n config.pipe(takeUntil(this._destroy$)).subscribe((_config) => {\n callback(_config);\n });\n\n return;\n }\n\n callback(config);\n }\n}\n","<ng-container *ngIf=\"!_iconConfig && !_avatarConfig; else iconBlock\">\n <fd-skeleton type=\"rectangle\" width=\"48px\" height=\"48px\"></fd-skeleton>\n</ng-container>\n<ng-template #iconBlock>\n <fd-icon\n *ngIf=\"_iconConfig && _iconConfig.glyph\"\n [glyph]=\"_iconConfig.glyph\"\n [ariaLabel]=\"_iconConfig.ariaLabel\"\n [font]=\"_iconConfig.font\"\n ></fd-icon>\n <fd-avatar\n *ngIf=\"_avatarConfig && (_avatarConfig.image || _avatarConfig.glyph || _avatarConfig.zoomGlyph)\"\n [size]=\"_avatarConfig.size\"\n [glyph]=\"_avatarConfig.glyph\"\n [zoomGlyph]=\"_avatarConfig.zoomGlyph\"\n [label]=\"_avatarConfig.label\"\n [circle]=\"_avatarConfig.circle\"\n [placeholder]=\"_avatarConfig.placeholder\"\n [tile]=\"_avatarConfig.tile\"\n [colorAccent]=\"_avatarConfig.colorAccent\"\n [image]=\"_avatarConfig.image\"\n [transparent]=\"_avatarConfig.transparent\"\n [random]=\"_avatarConfig.random\"\n [class]=\"'fd-list__icon ' + _avatarConfig.class\"\n [ariaLabel]=\"_avatarConfig.ariaLabel\"\n [ariaLabelledby]=\"_avatarConfig.ariaLabelledby\"\n [contain]=\"_avatarConfig.contain\"\n [border]=\"_avatarConfig.border\"\n [alterIcon]=\"_avatarConfig.alterIcon\"\n [backupImage]=\"_avatarConfig.backupImage\"\n [clickable]=\"_avatarConfig.clickable\"\n [attr.alt]=\"_avatarConfig.ariaLabel\"\n role=\"img\"\n ></fd-avatar>\n</ng-template>\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n inject,\n OnInit,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService, Nullable, resizeObservable } from '@fundamental-ngx/cdk/utils';\nimport { debounceTime, distinctUntilChanged, startWith, takeUntil } from 'rxjs';\nimport { SidebarSettingsGeneratorConfig } from '../../models/settings-config.model';\nimport {\n FormSettingsItem,\n GroupedFormSettingsItem,\n SettingsItem,\n SidebarSettingsModel,\n SidebarWidthConfiguration\n} from '../../models/settings.model';\nimport { SettingsGeneratorContentComponent } from '../../settings-generator-content/settings-generator-content.component';\nimport { FDP_SETTINGS_GENERATOR_CONFIG } from '../../tokens';\nimport { BaseSettingsGeneratorLayout } from '../base-settings-generator-layout';\n\n@Component({\n selector: 'fdp-settings-generator-sidebar-layout',\n templateUrl: './settings-generator-sidebar-layout.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DestroyedService]\n})\nexport class SettingsGeneratorSidebarLayoutComponent\n extends BaseSettingsGeneratorLayout\n implements OnInit, AfterViewInit\n{\n /** @hidden */\n @ViewChild('settingsGeneratorContent')\n private readonly settingsGeneratorContent: SettingsGeneratorContentComponent;\n /** @hidden */\n protected _destroy$ = inject(DestroyedService);\n\n /** @hidden */\n private readonly _config = inject<SidebarSettingsGeneratorConfig>(FDP_SETTINGS_GENERATOR_CONFIG);\n\n /**\n * Selected settings section.\n */\n _selectedIndex = -1;\n\n /** @hidden */\n _sidebarWidth: SidebarWidthConfiguration;\n\n /** @hidden */\n @HostBinding('class.fdp-settings-generator__sidebar-layout--mobile')\n _isMobile: boolean;\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator__sidebar-layout';\n\n /** @hidden */\n private _sidebarVisible = true;\n\n /** @hidden */\n private _initialSelectedItemSet = false;\n\n /** @hidden */\n get _mobileSidebarVisible(): boolean {\n return this._isMobile && this._sidebarVisible;\n }\n\n /** @hidden */\n constructor() {\n super();\n this._sidebarWidth = this._getNormalizedSidebarWidth(this._config.sidebar?.width);\n }\n\n /** @hidden */\n ngOnInit(): void {\n super.ngOnInit();\n this._settingsGeneratorService.settings.pipe(takeUntil(this._destroy$)).subscribe((settings) => {\n if (this._isSidebarSettings(settings) && settings.sidebarWidth) {\n this._sidebarWidth = this._getNormalizedSidebarWidth(settings.sidebarWidth);\n this._cdr.detectChanges();\n }\n });\n }\n\n /** @hidden */\n focusElementByPath(path: string, element: ElementRef<HTMLElement>): void {\n const pathArray = path.split('.');\n // We are interested only in sections with ID.\n const sectionIndex =\n this.settings?.items.findIndex((section) => {\n if (!this._isFormGeneratorSection(section)) {\n return;\n }\n return section.id === pathArray[0];\n }) ?? -1;\n\n // Focus on section.\n if (sectionIndex > -1) {\n this._setSelectedIndex(sectionIndex);\n }\n\n // Currently we support only 2 level nesting of form groups.\n if (pathArray.length > 0) {\n this.settingsGeneratorContent.setActiveTab(pathArray[1]);\n }\n\n setTimeout(() => {\n element.nativeElement.focus();\n });\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this._settingsGenerator.elementRef.nativeElement && this._config.sidebar?.mobileBreakpoint) {\n resizeObservable(this._settingsGenerator.elementRef.nativeElement)\n .pipe(startWith(null), debounceTime(30), distinctUntilChanged(), takeUntil(this._destroy$))\n .subscribe(() => {\n const { width } = this._settingsGenerator.elementRef.nativeElement.getBoundingClientRect();\n const isMobile = width <= this._config.sidebar.mobileBreakpoint;\n if (this._isMobile === isMobile) {\n return;\n }\n this._settingsGeneratorService.setMobileState(isMobile);\n this._isMobile = isMobile;\n\n // User opened section previously, so focus on that section\n if (this._isMobile && this._selectedIndex >= 0) {\n this._sidebarVisible = false;\n }\n\n // In mobile view, we don't need to set initial index, since the section won't be visible to the end user.\n if (!this._initialSelectedItemSet && !this._isMobile) {\n this._setSelectedIndex(this._selectedIndex > -1 ? this._selectedIndex : 0);\n this._initialSelectedItemSet = true;\n }\n this._cdr.detectChanges();\n });\n }\n }\n\n /** @hidden */\n _setSelectedIndex(index: number): void {\n this._selectedIndex = index;\n this._sidebarVisible = index === -1;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _goBack(): void {\n this._setSelectedIndex(-1);\n }\n\n /** @hidden */\n private _getNormalizedSidebarWidth(width: string | SidebarWidthConfiguration): SidebarWidthConfiguration {\n return typeof width === 'string' ? { minWidth: width, maxWidth: width, width } : width;\n }\n\n /** @hidden */\n private _isSidebarSettings(settings: Nullable<any>): settings is SidebarSettingsModel<any> {\n return settings?.appearance === 'sidebar';\n }\n\n /** @hidden */\n private _isFormGeneratorSection(section: SettingsItem): section is FormSettingsItem | GroupedFormSettingsItem {\n return !!(section as any).id;\n }\n}\n","<div\n class=\"fdp-settings-generator__sidebar\"\n [class.fdp-settings-generator__sidebar--hidden]=\"!_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : _sidebarWidth.width\"\n [style.min-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.minWidth\"\n [style.max-width]=\"_mobileSidebarVisible ? null : _sidebarWidth.maxWidth\"\n>\n <ul fd-list [byline]=\"true\" [navigationIndicator]=\"true\">\n <li\n (click)=\"_setSelectedIndex(i)\"\n fd-list-item\n [selected]=\"i === _selectedIndex\"\n *ngFor=\"let item of settings?.items; let i = index\"\n >\n <a fd-list-link [navigated]=\"i === _selectedIndex\">\n <span fd-list-thumbnail *ngIf=\"item.thumbnail\">\n <fdp-settings-generator-sidebar-icon\n [thumbnail]=\"item.thumbnail\"\n ></fdp-settings-generator-sidebar-icon>\n </span>\n <div fd-list-content>\n <ng-container *ngIf=\"item.title | fdkAsyncOrSync as titleValue; else titleElseBlock\">\n <div fd-list-title>{{ titleValue }}</div>\n </ng-container>\n <ng-template #titleElseBlock>\n <div fd-list-title>\n <fd-skeleton\n height=\"16px\"\n type=\"rectangle\"\n width=\"40%\"\n textLines=\"1\"\n style=\"margin: auto 0\"\n ></fd-skeleton>\n </div>\n </ng-template>\n <div fd-list-byline *ngIf=\"item.description\">\n <ng-container\n *ngIf=\"item.description | fdkAsyncOrSync as descriptionValue; else descriptionElseBlock\"\n >\n {{ descriptionValue }}\n </ng-container>\n <ng-template #descriptionElseBlock>\n <fd-skeleton type=\"text\" width=\"60%\" textLines=\"1\" style=\"margin: auto 0\"></fd-skeleton>\n </ng-template>\n </div>\n </div>\n </a>\n </li>\n </ul>\n</div>\n<div\n class=\"fdp-settings-generator__content\"\n [class.fdp-settings-generator__content--hidden]=\"_mobileSidebarVisible\"\n [style.width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.width + ')'\"\n [style.min-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.minWidth + ')'\"\n [style.max-width]=\"_mobileSidebarVisible ? null : 'calc(100% - ' + _sidebarWidth.maxWidth + ')'\"\n>\n <ng-container *ngFor=\"let item of settings?.items; let i = index\">\n <fdp-settings-generator-content\n [attr.hidden]=\"i !== _selectedIndex ? true : null\"\n [settings]=\"item\"\n [mobile]=\"_isMobile\"\n (goBack)=\"_goBack()\"\n #settingsGeneratorContent\n ></fdp-settings-generator-content>\n </ng-container>\n</div>\n","import { ChangeDetectionStrategy, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport {\n BaseDynamicFormGeneratorControl,\n dynamicFormFieldProvider,\n dynamicFormGroupChildProvider\n} from '@fundamental-ngx/platform/form';\n\n@Component({\n selector: 'fdp-theme-selector-list',\n templateUrl: './theme-selector-list.component.html',\n styleUrls: ['./theme-selector-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n viewProviders: [dynamicFormFieldProvider, dynamicFormGroupChildProvider]\n})\nexport class ThemeSelectorListComponent extends BaseDynamicFormGeneratorControl implements OnInit {\n /** @hidden */\n currentTheme: string;\n\n /** @hidden */\n ngOnInit(): void {\n this.currentTheme = this.formItem.default;\n }\n\n /** @hidden */\n setTheme(value: string): void {\n const control = this.form.get([this.formGroupName, this.name]);\n this.currentTheme = value;\n control?.setValue(value);\n }\n}\n\n@Component({\n selector: 'fdp-theme-selector-list-icon',\n templateUrl: './icon.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThemeSelectorListIconComponent {\n /** @hidden */\n @Input()\n size = 40;\n}\n","<ul fd-list [byline]=\"true\">\n <li fd-list-item *ngFor=\"let item of formItem.choices\" [selected]=\"currentTheme === item.value\">\n <a fd-list-link (fdkClicked)=\"setTheme(item.value)\">\n <ng-container *ngIf=\"!item.template\">\n <div fd-list-thumbnail class=\"settings-selector-list__theme--{{ item.value }}\">\n <fdp-theme-selector-list-icon></fdp-theme-selector-list-icon>\n </div>\n <div fd-list-content>\n <div fd-list-title>{{ item.label }}</div>\n <div fd-list-byline>{{ item.description }}</div>\n </div>\n </ng-container>\n <ng-template\n [ngIf]=\"item.template\"\n [ngTemplateOutlet]=\"item.template!\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n </a>\n </li>\n</ul>\n","<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 200\" [style.width.px]=\"size\" [style.height.px]=\"size\">\n <defs>\n <style>\n .settings-selector-list-icon__cls-1 {\n fill: #1c2228;\n }\n\n .settings-selector-list-icon__cls-2 {\n fill: #424f5e;\n }\n\n .settings-selector-list-icon__cls-3 {\n fill: #29313a;\n }\n\n .settings-selector-list-icon__cls-4 {\n fill: #3a4552;\n }\n\n .settings-selector-list-icon__cls-5 {\n fill: #91c8f6;\n }\n\n .settings-selector-list-icon__cls-6 {\n fill: #d3d7d9;\n }\n\n .settings-selector-list-icon__cls-7 {\n fill: #354a5f;\n }\n\n .settings-selector-list-icon__cls-8 {\n fill: #7996b4;\n }\n\n .settings-selector-list-icon__cls-9 {\n fill: #fff;\n }\n </style>\n </defs>\n <rect class=\"settings-selector-list-icon__cls-1\" y=\"88\" width=\"200\" height=\"112\" />\n <path class=\"settings-selector-list-icon__cls-2\" d=\"M200,105v95H59V110a5,5,0,0,1,5-5Z\" />\n <path class=\"settings-selector-list-icon__cls-3\" d=\"M64,106H200v94H60V110A4,4,0,0,1,64,106Z\" />\n <rect class=\"settings-selector-list-icon__cls-3\" y=\"44\" width=\"200\" height=\"44\" />\n <rect class=\"settings-selector-list-icon__cls-4\" y=\"87\" width=\"200\" height=\"1\" />\n <path\n class=\"settings-selector-list-icon__cls-5\"\n d=\"M64,63h46a5,5,0,0,1,5,5h0a5,5,0,0,1-5,5H64a5,5,0,0,1-5-5h0A5,5,0,0,1,64,63Z\"\n />\n <path class=\"settings-selector-list-icon__cls-6\" d=\"M153,63h47V73H153a5,5,0,0,1-5-5h0A5,5,0,0,1,153,63Z\" />\n <path class=\"settings-selector-list-icon__cls-5\" d=\"M62,85h50a3,3,0,0,1,3,3H59A3,3,0,0,1,62,85Z\" />\n <rect class=\"settings-selector-list-icon__cls-7\" width=\"200\" height=\"44\" />\n <path\n class=\"settings-selector-list-icon__cls-8\"\n d=\"M68.459,13a1,1,0,0,1,.714,1.707l-16.155,16A1.01,1.01,0,0,1,52.3,31H33.539a1,1,0,0,1-1.01-.99V14a1,1,0,0,1,1-1h34.93m0-3H33.539A4.024,4.024,0,0,0,29.5,14V30a4.024,4.024,0,0,0,4.039,4H52.3a4.033,4.033,0,0,0,2.857-1.172l16.154-16a3.961,3.961,0,0,0,.876-4.359A4.027,4.027,0,0,0,68.459,10Z\"\n />\n <rect class=\"settings-selector-list-icon__cls-9\" x=\"82.121\" y=\"16.949\" width=\"75.758\" height=\"10.101\" rx=\"5\" />\n <path class=\"settings-selector-list-icon__cls-9\" d=\"M170,18h30v8H170a4,4,0,0,1-4-4h0A4,4,0,0,1,170,18Z\" />\n</svg>\n","import { Injectable, Type } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BaseSettingsGeneratorLayout } from './layouts/base-settings-generator-layout';\n\n/**\n * Service, used as a registry of the available layouts for Settings Generator Component.\n */\n@Injectable()\nexport class SettingsGeneratorLayoutAccessorService {\n /** @hidden */\n private readonly _layouts = new Map<string, Type<BaseSettingsGeneratorLayout>>();\n\n /**\n * Adds custom layout component to layouts registry for later usage with Settings Generator component.\n * @param layoutName Name of the Layout\n * @param layoutComponent Component type to be used for defined layout.\n */\n addLayout(layoutName: string, layoutComponent: Type<BaseSettingsGeneratorLayout>): void {\n this._layouts.set(layoutName, layoutComponent);\n }\n\n /**\n * Gets Component type for defined layout.\n * @param layoutName\n */\n getLayout(layoutName: string): Nullable<Type<BaseSettingsGeneratorLayout>> {\n return this._layouts.get(layoutName);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n HostBinding,\n Inject,\n inject,\n Injector,\n Input,\n OnDestroy,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { DestroyedService, Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormGeneratorService } from '@fundamental-ngx/platform/form';\nimport { BaseSettingsGeneratorLayout } from './layouts/base-settings-generator-layout';\nimport { SettingsGeneratorSidebarLayoutComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsModel } from './models/settings.model';\nimport { SettingsGeneratorLayoutAccessorService } from './settings-generator-layout-accessor.service';\nimport { SettingsGeneratorReturnValue, SettingsGeneratorService } from './settings-generator.service';\nimport { ThemeSelectorListComponent } from './controls/theme-selector-list/theme-selector-list.component';\nimport { BehaviorSubject, filter, Observable, Subscription, takeUntil } from 'rxjs';\nimport { FDP_SETTINGS_GENERATOR, FDP_SETTINGS_GENERATOR_CONFIG } from './tokens';\nimport { SettingsGenerator } from './models/settings-generator.model';\n\n@Component({\n selector: 'fdp-settings-generator',\n templateUrl: './settings-generator.component.html',\n styleUrls: ['./settings-generator.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n SettingsGeneratorService,\n DestroyedService,\n {\n provide: FDP_SETTINGS_GENERATOR,\n useExisting: SettingsGeneratorComponent\n }\n ]\n})\nexport class SettingsGeneratorComponent implements SettingsGenerator, AfterViewInit, OnDestroy {\n /**\n * Settings Generator Element Ref.\n */\n elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n /**\n * Settings configuration.\n */\n @Input()\n set settings(value: Nullable<SettingsModel>) {\n if (value) {\n value.appearance = value.appearance || (this._config.defaultLayout as string);\n }\n this._settings = value;\n this._settingsGeneratorService.settings.next(value);\n this._setLayout();\n }\n\n get settings(): Nullable<SettingsModel> {\n return this._settings;\n }\n\n /** @hidden */\n private _settings: Nullable<SettingsModel>;\n\n /** @hidden */\n private readonly _settingsGeneratorService = inject(SettingsGeneratorService);\n\n /** @hidden */\n @HostBinding('class')\n private readonly _initialClass = 'fdp-settings-generator';\n\n /** @hidden */\n @ViewChild('renderer', { read: ViewContainerRef })\n private readonly _viewRef: ViewContainerRef;\n\n /** @hidden */\n private _currentLayout: string;\n\n /** @hidden */\n private readonly _viewReady = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n private _viewReadySub: Subscription;\n\n /** @hidden */\n private _layoutComponentRef: ComponentRef<BaseSettingsGeneratorLayout>;\n\n /** @hidden */\n constructor(\n private readonly _fgService: FormGeneratorService,\n private readonly _settingsLayoutService: SettingsGeneratorLayoutAccessorService,\n private readonly _injector: Injector,\n private readonly _cdr: ChangeDetectorRef,\n private readonly _destroy$: DestroyedService,\n @Inject(FDP_SETTINGS_GENERATOR_CONFIG) private readonly _config: SettingsConfig\n ) {\n this._settingsLayoutService.addLayout('sidebar', SettingsGeneratorSidebarLayoutComponent);\n this._fgService.addComponent(ThemeSelectorListComponent, ['theme-list']);\n this._settingsGeneratorService.onItemFocus.subscribe((entry) => {\n this._layoutComponentRef.instance.focusElementByPath(entry.path, entry.element);\n });\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._viewReady.next(true);\n\n // We need to notify children components to update their classes.\n this._settingsGeneratorService.mobileState$.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._cdr.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._viewReady.complete();\n this._viewReadySub?.unsubscribe();\n this._layoutComponentRef?.destroy();\n this._viewRef?.clear();\n }\n\n /**\n * Programmatically submit inner forms of the settings generator.\n * @returns Observable with settings value grouped by main sections and inner sections.\n */\n submit(): Observable<SettingsGeneratorReturnValue> {\n return this._settingsGeneratorService.submit();\n }\n\n /** @hidden */\n private _setLayout(): void {\n this._viewReadySub?.unsubscribe();\n\n this._viewReadySub = this._viewReady.pipe(filter((ready) => ready)).subscribe(() => {\n if (!this.settings?.appearance || this._currentLayout === this.settings.appearance) {\n return;\n }\n\n const layoutComponent = this._settingsLayoutService.getLayout(this.settings.appearance);\n\n if (!layoutComponent) {\n return;\n }\n\n const injector = Injector.create({\n providers: [],\n parent: this._injector\n });\n\n this._layoutComponentRef?.destroy();\n this._viewRef.clear();\n this._layoutComponentRef = this._viewRef.createComponent(layoutComponent, { injector });\n\n this._currentLayout = this.settings.appearance;\n\n this._cdr.detectChanges();\n });\n }\n}\n","<ng-container #renderer></ng-container>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { ListModule } from '@fundamental-ngx/core/list';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { AvatarModule } from '@fundamental-ngx/core/avatar';\nimport { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';\nimport { SplitterModule } from '@fundamental-ngx/core/splitter';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { PlatformFormGeneratorModule } from '@fundamental-ngx/platform/form';\nimport { TabsModule } from '@fundamental-ngx/core/tabs';\nimport { ClickedBehaviorModule, PipeModule } from '@fundamental-ngx/cdk/utils';\nimport { SkeletonModule } from '@fundamental-ngx/core/skeleton';\n\nimport { FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG } from './default-config';\nimport { SettingsConfig } from './models/settings-config.model';\nimport { SettingsGeneratorComponent } from './settings-generator.component';\nimport { SettingsGeneratorSidebarLayoutComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component';\nimport { SettingsGeneratorContentComponent } from './settings-generator-content/settings-generator-content.component';\nimport { SettingsGeneratorSectionComponent } from './settings-generator-content/settings-generator-section/settings-generator-section.component';\nimport {\n ThemeSelectorListComponent,\n ThemeSelectorListIconComponent\n} from './controls/theme-selector-list/theme-selector-list.component';\nimport { SettingsGeneratorSidebarIconComponent } from './layouts/settings-generator-sidebar-layout/settings-generator-sidebar-icon/settings-generator-sidebar-icon.component';\nimport { SettingsGeneratorLayoutAccessorService } from './settings-generator-layout-accessor.service';\nimport { FDP_SETTINGS_GENERATOR_CONFIG } from './tokens';\n\n@NgModule({\n imports: [\n CommonModule,\n ListModule,\n IconModule,\n AvatarModule,\n SplitterModule,\n PortalModule,\n TitleModule,\n PlatformFormGeneratorModule,\n TabsModule,\n ClickedBehaviorModule.forRoot(),\n PipeModule,\n SkeletonModule,\n ButtonModule,\n ScrollbarModule\n ],\n declarations: [\n SettingsGeneratorComponent,\n SettingsGeneratorSidebarLayoutComponent,\n SettingsGeneratorContentComponent,\n SettingsGeneratorSectionComponent,\n ThemeSelectorListComponent,\n ThemeSelectorListIconComponent,\n SettingsGeneratorSidebarIconComponent\n ],\n exports: [\n SettingsGeneratorComponent,\n SettingsGeneratorSidebarLayoutComponent,\n SettingsGeneratorContentComponent,\n SettingsGeneratorSectionComponent,\n ThemeSelectorListIconComponent\n ],\n providers: [\n SettingsGeneratorLayoutAccessorService,\n {\n provide: FDP_SETTINGS_GENERATOR_CONFIG,\n useValue: FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG\n }\n ]\n})\nexport class SettingsGeneratorModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<SettingsConfig>): ModuleWithProviders<SettingsGeneratorModule> {\n return {\n ngModule: SettingsGeneratorModule,\n providers: [\n {\n provide: FDP_SETTINGS_GENERATOR_CONFIG,\n useValue: { ...FDP_SETTINGS_GENERATOR_DEFAULT_CONFIG, ...config }\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i2","i3","i6.SettingsGeneratorSectionComponent","i7","i4.SettingsGeneratorContentComponent","i5.SettingsGeneratorSidebarIconComponent","i6"],"mappings":"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"}
|