@fundamental-ngx/platform 0.61.2-rc.8 → 0.61.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs +16 -16
  2. package/fesm2022/fundamental-ngx-platform-approval-flow.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs +3 -3
  4. package/fesm2022/fundamental-ngx-platform-dynamic-page.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-platform-feed-input.mjs +2 -2
  6. package/fesm2022/fundamental-ngx-platform-feed-input.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-platform-form.mjs +25 -28
  8. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +9 -9
  10. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-platform-link.mjs +2 -2
  12. package/fesm2022/fundamental-ngx-platform-link.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-platform-list.mjs +23 -17
  14. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +4 -4
  16. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-platform-search-field.mjs +6 -6
  18. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +4 -4
  20. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +25 -22
  22. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +2 -3
  24. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-platform-table.mjs +40 -42
  26. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +6 -6
  28. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-platform-variant-management.mjs +6 -6
  30. package/fesm2022/fundamental-ngx-platform-variant-management.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +4 -4
  32. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  33. package/package.json +5 -5
  34. package/schematics/ng-add/index.js +1 -1
  35. package/types/fundamental-ngx-platform-form.d.ts +1 -3
  36. package/types/fundamental-ngx-platform-icon-tab-bar.d.ts +1 -3
  37. package/types/fundamental-ngx-platform-list.d.ts +6 -2
  38. package/types/fundamental-ngx-platform-smart-filter-bar.d.ts +3 -4
  39. package/types/fundamental-ngx-platform-table.d.ts +1 -3
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-variant-management.mjs","sources":["../../../../libs/platform/variant-management/directives/variant-management-dirty-label.directive.ts","../../../../libs/platform/variant-management/components/manage-variant-item/manage-variant-item.component.ts","../../../../libs/platform/variant-management/components/manage-variant-item/manage-variant-item.component.html","../../../../libs/platform/variant-management/components/manage-variants-dialog/data-provider.ts","../../../../libs/platform/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.ts","../../../../libs/platform/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.html","../../../../libs/platform/variant-management/tokens.ts","../../../../libs/platform/variant-management/variant-item.class.ts","../../../../libs/platform/variant-management/variant-management.component.ts","../../../../libs/platform/variant-management/variant-management.component.html","../../../../libs/platform/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.ts","../../../../libs/platform/variant-management/variant-management.module.ts","../../../../libs/platform/variant-management/fundamental-ngx-platform-variant-management.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Directive used to change dirty label of Variant Management component.\n *\n * Usage:\n *\n * ```\n * html\n * <fdp-variant-management>\n * <span *fdpVariantManagementDirtyLabel>I'm dirty</span>\n * </fdp-variant-management>\n * ```\n */\n@Directive({\n selector: '[fdpVariantManagementDirtyLabel]',\n standalone: true\n})\nexport class VariantManagementDirtyLabelDirective {\n /** @hidden */\n constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';\nimport {\n FormBuilder,\n FormGroup,\n FormGroupDirective,\n FormsModule,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef\n} from '@fundamental-ngx/core/dialog';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport {\n CheckboxComponent,\n FormFieldComponent,\n FormFieldErrorDirective,\n FormGroupComponent,\n InputComponent\n} from '@fundamental-ngx/platform/form';\nimport { SaveDialogContext } from '../../models/save-dialog.model';\n\n@Component({\n selector: 'fdp-manage-variant-item',\n templateUrl: './manage-variant-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n FormGroupComponent,\n FormsModule,\n ReactiveFormsModule,\n FormFieldComponent,\n InputComponent,\n CheckboxComponent,\n FormFieldErrorDirective,\n DialogFooterComponent,\n ButtonBarComponent,\n FdTranslatePipe\n ]\n})\nexport class ManageVariantItemComponent {\n /** @hidden */\n @ViewChild('formContainer', { read: FormGroupDirective })\n private readonly _formContainer: FormGroupDirective;\n\n /** @Hidden */\n _form: FormGroup;\n /** @hidden */\n _nameValidator: ValidatorFn[];\n\n /** @hidden */\n private readonly _dialogConfig: SaveDialogContext;\n\n /** @hidden */\n constructor(\n public dialog: DialogRef<SaveDialogContext>,\n private readonly _formBuilder: FormBuilder\n ) {\n this._dialogConfig = this.dialog.data;\n this._nameValidator = [this._variantNameValidator(this._dialogConfig)];\n this._form = this._formBuilder.group({\n name: [\n this._dialogConfig.currentVariantName,\n [Validators.required, this._variantNameValidator(this._dialogConfig)]\n ],\n isDefault: false,\n access: 'private',\n applyAutomatically: false,\n readonly: false,\n favourite: false\n });\n }\n /** @Hidden */\n _submitForm(): void {\n this._formContainer.onSubmit(new Event('submit'));\n\n if (!this._form.valid) {\n return;\n }\n\n this.dialog.close(this._form.value);\n }\n\n /** @hidden */\n private _variantNameValidator(data: SaveDialogContext): ValidatorFn {\n return (control): ValidationErrors | null =>\n data.existingVariantNames.includes(control.value) ? { nameTaken: true } : null;\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ ('platformVariantManagement.saveView' | fdTranslate)() }}</h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-form-group #formContainer [formGroup]=\"_form\" [unifiedLayout]=\"false\" [useForm]=\"true\">\n <fdp-form-field\n id=\"name\"\n [label]=\"('platformVariantManagement.view' | fdTranslate)()\"\n [column]=\"1\"\n [rank]=\"1\"\n [required]=\"true\"\n [validators]=\"_nameValidator\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-input name=\"name\" formControlName=\"name\"></fdp-input>\n </fdp-form-field>\n <fdp-form-field\n id=\"isDefault\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"isDefault\"\n formControlName=\"isDefault\"\n [label]=\"('platformVariantManagement.setAsDefault' | fdTranslate)()\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"access\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n [values]=\"{ trueValue: 'public', falseValue: 'private' }\"\n name=\"access\"\n formControlName=\"access\"\n [label]=\"('platformVariantManagement.public' | fdTranslate)()\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"applyAutomatically\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"applyAutomatically\"\n formControlName=\"applyAutomatically\"\n [label]=\"('platformVariantManagement.applyAutomatically' | fdTranslate)()\"\n ></fdp-checkbox>\n </fdp-form-field>\n <span *fdpFormFieldError=\"'required'\">\n {{ ('platformVariantManagement.requiredFieldError' | fdTranslate)() }}\n </span>\n <span *fdpFormFieldError=\"'nameTaken'\">\n {{ ('platformVariantManagement.nameTakenFieldError' | fdTranslate)() }}\n </span>\n </fdp-form-group>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"('platformVariantManagement.save' | fdTranslate)()\"\n (click)=\"_submitForm()\"\n [ariaLabel]=\"('platformVariantManagement.save' | fdTranslate)()\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"('platformVariantManagement.cancel' | fdTranslate)()\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"('platformVariantManagement.cancel' | fdTranslate)()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ArrayTableDataProvider } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\n\nexport class VariantManagementDataProvider extends ArrayTableDataProvider<VariantItem> {\n /** @hidden */\n constructor(items: VariantItem[]) {\n super(items);\n }\n\n /** Updates items list. */\n update(items: VariantItem[]): void {\n this.items$.next(items);\n }\n}\n","import { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef\n} from '@fundamental-ngx/core/dialog';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { CheckboxComponent, InputComponent } from '@fundamental-ngx/platform/form';\nimport { TableColumnComponent, TableComponent, TableDataSource } from '@fundamental-ngx/platform/table';\nimport {\n FdpCellDef,\n FdpTableCell,\n TableDataSourceDirective,\n TableHeaderResizerDirective,\n TableInitialStateDirective\n} from '@fundamental-ngx/platform/table-helpers';\nimport { VariantItem } from '../../variant-item.class';\nimport { VariantManagementDataProvider } from './data-provider';\n\n@Component({\n selector: 'fdp-manage-variants-dialog',\n templateUrl: './manage-variants-dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n TableDataSourceDirective,\n TableHeaderResizerDirective,\n TableComponent,\n TableInitialStateDirective,\n TableColumnComponent,\n FdpCellDef,\n FdpTableCell,\n IconComponent,\n InputComponent,\n FormsModule,\n RadioButtonComponent,\n CheckboxComponent,\n ButtonComponent,\n DialogFooterComponent,\n ButtonBarComponent,\n FdTranslatePipe\n ]\n})\nexport class ManageVariantsDialogComponent {\n /** @hidden */\n _source: TableDataSource<VariantItem>;\n\n /**\n * @hidden\n * Used to apply typings in template.\n */\n _variantModel!: VariantItem;\n\n /** @hidden */\n private readonly _variants: VariantItem[] = [];\n\n /** @hidden */\n private readonly _dataProvider: VariantManagementDataProvider;\n\n /** @hidden */\n constructor(\n public dialog: DialogRef<VariantItem[]>,\n private readonly _cdr: ChangeDetectorRef\n ) {\n // We clone all variants, so we don't change original instances immediately.\n this._variants = this.dialog.data.map((oldVariant) => oldVariant.clone({}, false));\n this._dataProvider = new VariantManagementDataProvider(this._variants);\n this._source = new TableDataSource(this._dataProvider);\n }\n\n /** @Hidden */\n _markAsFavourite(item: VariantItem): void {\n item.favourite = !item.favourite;\n }\n\n /** @hidden */\n _removeVariant(item: VariantItem): void {\n this._variants.splice(\n this._variants.findIndex((variant) => item.id === variant.id),\n 1\n );\n this._dataProvider.update(this._variants);\n this._cdr.detectChanges();\n }\n\n /**\n * @hidden\n * Closes dialog with updated variants array.\n */\n _saveVariants(): void {\n this.dialog.close(this._variants);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ ('platformVariantManagement.manageViews' | fdTranslate)() }}\n </h1>\n </fd-dialog-header>\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"('platformVariantManagement.markAsFavourite' | fdTranslate)()\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"('platformVariantManagement.view' | fdTranslate)()\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n @if (!item.readonly) {\n <fdp-input [(ngModel)]=\"item.name\"></fdp-input>\n } @else {\n {{ item.name }}\n }\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"('platformVariantManagement.sharing' | fdTranslate)()\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n )()\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"('platformVariantManagement.default' | fdTranslate)()\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"('platformVariantManagement.applyAutomatically' | fdTranslate)()\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"('platformVariantManagement.createdBy' | fdTranslate)()\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n @if (!item.readonly) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [title]=\"('platformVariantManagement.removeVariant' | fdTranslate)()\"\n (click)=\"_removeVariant(item)\"\n ></button>\n }\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"('platformVariantManagement.save' | fdTranslate)()\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"('platformVariantManagement.cancel' | fdTranslate)()\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"('platformVariantManagement.cancel' | fdTranslate)()\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { InjectionToken } from '@angular/core';\n\nexport const FDP_VARIANT_MANAGEMENT_WRAPPER = new InjectionToken('FdpVariantManagementWrapper');\nexport const FDP_VARIANT_MANAGEMENT = new InjectionToken('FdpVariantManagement');\n","import { NewVariant, Variant, VariantAccess } from './models/variant.interface';\n\nlet defaultVariantId = 0;\n\nexport class VariantItem<T = any> implements Variant<T> {\n /** Visibility of the variant. If public, available for everyone. */\n access: VariantAccess = 'public';\n /** Whether to automatically apply changes in preset managed component. */\n applyAutomatically? = false;\n /** Variant's author name. */\n createdBy: string;\n /** Variant data. Can contain any type of data. */\n data: T;\n /** Whether variant is marked as favourite. */\n favourite = false;\n /** Variant ID. */\n id = `variant-item-${++defaultVariantId}`;\n /** Whether to apply variant automatically. */\n isDefault = false;\n /** Variant name to be displayed in popover list. */\n name: string;\n /** Whether variant is editable. */\n readonly = false;\n\n /** @hidden */\n constructor(config: Partial<Variant>) {\n Object.keys(config).forEach((configKey) => {\n this[configKey] = config[configKey];\n });\n }\n\n /**\n * Clones current variant and applies new config on top of it.\n * @param newVariantData New config.\n * @param refreshId Whether to assign new ID to the new variant.\n */\n clone(newVariantData: NewVariant = {}, refreshId = true): VariantItem {\n const currentVariantData: Variant = Object.assign({}, this, newVariantData);\n\n currentVariantData.data = structuredClone(currentVariantData.data);\n\n if (refreshId) {\n delete currentVariantData.id;\n }\n const newVariant = new VariantItem(currentVariantData);\n return newVariant;\n }\n}\n","import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject\n} from '@angular/core';\nimport { FilterStringsPipe, Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n BarComponent,\n BarElementDirective,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent\n} from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { DynamicPage, FD_DYNAMIC_PAGE } from '@fundamental-ngx/core/dynamic-page';\nimport { ListComponent, ListItemComponent, ListLinkDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport {\n PopoverBodyComponent,\n PopoverBodyFooterDirective,\n PopoverBodyHeaderDirective,\n PopoverComponent,\n PopoverControlComponent,\n TriggerConfig\n} from '@fundamental-ngx/core/popover';\nimport { HeaderSizes, TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { FDP_DYNAMIC_PAGE } from '@fundamental-ngx/platform/dynamic-page';\nimport { SearchFieldComponent, SearchInput } from '@fundamental-ngx/platform/search-field';\nimport { shallowEqual } from 'fast-equals';\nimport { BehaviorSubject } from 'rxjs';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { SaveDialogContext } from './models/save-dialog.model';\nimport { VariantManagement } from './models/variant-management';\nimport { NewVariant, Variant } from './models/variant.interface';\nimport { FDP_VARIANT_MANAGEMENT } from './tokens';\nimport { VariantItem } from './variant-item.class';\n\n@Component({\n selector: 'fdp-variant-management',\n templateUrl: './variant-management.component.html',\n styleUrl: './variant-management.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT,\n useExisting: VariantManagementComponent\n }\n ],\n imports: [\n PopoverComponent,\n PopoverControlComponent,\n TitleComponent,\n NgTemplateOutlet,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n BarComponent,\n BarLeftDirective,\n BarElementDirective,\n SearchFieldComponent,\n ListComponent,\n ListItemComponent,\n ListLinkDirective,\n ListTitleDirective,\n PopoverBodyFooterDirective,\n BarRightDirective,\n ButtonBarComponent,\n FdTranslatePipe,\n FilterStringsPipe,\n AsyncPipe,\n NgClass,\n ButtonComponent\n ]\n})\nexport class VariantManagementComponent<T = any> implements VariantManagement<T> {\n /** Initial variants array. */\n @Input()\n set variants(items: Variant<T>[]) {\n this._variants = this._transformVariants(items);\n\n let currentVariantIndex = this._variants.findIndex((variant) => variant.isDefault);\n currentVariantIndex = currentVariantIndex > -1 ? currentVariantIndex : 0;\n const currentVariant = this._variants[currentVariantIndex];\n this.selectVariant(currentVariant as VariantItem);\n }\n\n /** Header size. */\n @Input()\n headerSize: HeaderSizes = 4;\n\n /** Popover trigger events. */\n @Input()\n popoverTriggers: (string | TriggerConfig)[] = [\n { trigger: 'click', stopPropagation: true, closeAction: true, openAction: true }\n ];\n\n /** User's name which will be applied to all new variants user creates. */\n @Input()\n userName: string;\n\n /** Whether to display search field for variants list. */\n @Input({ transform: booleanAttribute })\n displaySearch = false;\n\n /** Whether the variant management component is in readonly mode. */\n @Input({ transform: booleanAttribute })\n readonly = false;\n\n /** Event emitted when variants data has been updated. */\n @Output()\n variantsChange = new EventEmitter<Variant<T>[]>();\n\n /** Event emitted when new variant selected. */\n @Output()\n activeVariantChange = new EventEmitter<Variant<T>>();\n\n /**\n * Custom dirty label directive.\n */\n @ContentChild(VariantManagementDirtyLabelDirective)\n dirtyLabel: VariantManagementDirtyLabelDirective;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class')\n protected readonly _initialClass = 'fd-variant-management';\n\n /**\n * Used internally for communicating with wrapper component.\n */\n activeVariantChangeSubject = new BehaviorSubject<Variant<T> | null>(null);\n\n /** @hidden */\n _variantChanged = false;\n\n /** Selected variant. */\n activeVariant!: VariantItem<T>;\n\n /** @hidden */\n _variants: VariantItem<T>[] = [];\n\n /** @Hidden */\n _filterPhrase: Nullable<string> = null;\n\n /** @hidden */\n get _dynamicPage(): DynamicPage | null {\n return this._coreDynamicPage || this._platformDynamicPage;\n }\n\n /** @hidden */\n protected _dynamicPageCollapsed$ = new BehaviorSubject(false);\n\n /** @hidden */\n protected _coreDynamicPage = inject(FD_DYNAMIC_PAGE, { optional: true });\n /** @hidden */\n protected _platformDynamicPage = inject(FDP_DYNAMIC_PAGE, { optional: true });\n /** @Hidden */\n private _originalActiveVariant: VariantItem<T>;\n\n /** @hidden */\n constructor(\n private readonly _dialogService: DialogService,\n private readonly _cdr: ChangeDetectorRef\n ) {\n if (this._dynamicPage) {\n effect(() => {\n this._dynamicPageCollapsed$.next(this._dynamicPage!.collapsed());\n });\n }\n }\n\n /**\n * Manually select variant.\n * @param variant Variant to select.\n */\n selectVariant(variant: VariantItem<T>): void {\n this._variantChanged = false;\n this.activeVariant = variant;\n this._originalActiveVariant = variant.clone({}, false);\n this.activeVariantChange.emit(variant);\n this.activeVariantChangeSubject.next(variant);\n }\n\n /** Returns original variant data. */\n getOriginalActiveVariantData(): Variant<T>['data'] {\n return this._originalActiveVariant.data;\n }\n\n /** Returns current active variant data with applied changes. */\n getActiveVariantData(): Variant<T>['data'] {\n return this.activeVariant.data;\n }\n\n /**\n * Saves current variant with its configuration.\n */\n saveCurrentVariant(): void {\n if (this.readonly) {\n return;\n }\n const currentVariantIndex = this._variants.findIndex((variant) => variant.id === this.activeVariant.id);\n this._variants[currentVariantIndex] = this.activeVariant;\n this._originalActiveVariant = this.activeVariant.clone({}, false);\n this._variantChanged = false;\n this.variantsChange.emit(this._variants);\n }\n\n /** @hidden */\n _openSaveDialog(): void {\n if (this.readonly) {\n return;\n }\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<SaveDialogContext>(ManageVariantItemComponent, {\n data: {\n existingVariantNames: this._variants.map((variant) => variant.name),\n currentVariantName: this.activeVariant.name\n }\n });\n dialogRef.afterClosed.subscribe({\n next: (result: NewVariant) => {\n const newVariant = this.activeVariant.clone({ ...result, ...{ createdBy: this.userName } });\n this._variants.push(newVariant);\n this.variantsChange.emit(this._variants);\n this.activeVariant = newVariant;\n this._variantChanged = false;\n this._cdr.detectChanges();\n },\n error: () => {}\n });\n }\n\n /**\n * Updates current active preset with new configuration.\n * @param preset Preset configuration.\n * @param componentName component to which this preset belongs to.\n */\n updateActivePreset(preset: T, componentName: string): void {\n const activeVariantData = this._originalActiveVariant.data[componentName];\n this._variantChanged = activeVariantData && !shallowEqual(preset, activeVariantData);\n this.activeVariant.data[componentName] = preset;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _openManageDialog(): void {\n if (this.readonly) {\n return;\n }\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<VariantItem[]>(ManageVariantsDialogComponent, {\n data: this._variants\n });\n\n dialogRef.afterClosed.subscribe({\n next: (variants: VariantItem[]) => {\n this._variants = variants;\n this.variantsChange.emit(this._variants);\n },\n error: () => {}\n });\n }\n\n /** @hidden */\n _onSearchSubmit(search: SearchInput): void {\n this._filterPhrase = search.text;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _cancelSearch(): void {\n this._filterPhrase = null;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _trackFn(index: number, item: VariantItem<T>): string {\n return item.id;\n }\n\n /** @hidden */\n private _transformVariants(items: Variant<T>[]): VariantItem[] {\n return items.map((variant) => new VariantItem(variant));\n }\n}\n","@if (activeVariant) {\n <fd-popover\n #popover\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n >\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4\n fd-title\n [ngClass]=\"{\n 'fd-variant-management__title': true,\n 'fd-variant-management__title--dynamic-page': _dynamicPage,\n 'fd-variant-management__title--dynamic-page--collapsed': _dynamicPageCollapsed$ | async\n }\"\n [headerSize]=\"headerSize\"\n >\n {{ activeVariant.name }}\n </h4>\n @if (_variantChanged && !readonly) {\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n [ngTemplateOutlet]=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n }\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\" [attr.aria-haspopup]=\"true\"></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ ('platformVariantManagement.myViews' | fdTranslate)() }}</h5>\n </fd-bar-element>\n </div>\n </div>\n @if (displaySearch) {\n <div fd-bar barDesign=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"('platformVariantManagement.search' | fdTranslate)()\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n <ul fd-list>\n @for (\n variant of _variants | fdFilterStrings: { searchTerm: _filterPhrase, key: 'name' };\n track variant.id\n ) {\n <li fd-list-item [selected]=\"variant.name === activeVariant.name\" (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n }\n </ul>\n @if (!readonly) {\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n @if (!activeVariant.readonly && _variantChanged) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"('platformVariantManagement.save' | fdTranslate)()\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n }\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"('platformVariantManagement.saveAs' | fdTranslate)()\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"('platformVariantManagement.manage' | fdTranslate)()\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n }\n </fd-popover-body>\n </fd-popover>\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FDP_PRESET_MANAGED_COMPONENT, PresetManagedComponent } from '@fundamental-ngx/platform/shared';\nimport { shallowEqual } from 'fast-equals';\nimport { filter, startWith, Subscription } from 'rxjs';\nimport { VariantManagement } from '../../models/variant-management';\nimport { FDP_VARIANT_MANAGEMENT, FDP_VARIANT_MANAGEMENT_WRAPPER } from '../../tokens';\n\n/**\n * Wrapper component used to wrap components that implement `PresetManagedComponent`.\n * It automatically bounds existing presets from `Variant Management` component to `PresetManagedComponent`.\n * Wrapper component supports two ways of providing Variant Management component.\n * First one is to pass reference via Input property.\n * Second one is to put Variant Management component inside wrapper component so it would be accessible via @ContentChild.\n * Usage example:\n *\n * ```html\n * Usage outside wrapper component:\n * <fdp-variant-management #variantManagement [variants]=\"...\"></fdp-variant-management>\n * <fdp-variant-management-wrapper [variantManager]=\"variantManagement\">\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n *\n * Usage inside wrapper component:\n * <fdp-variant-management-wrapper>\n * <fdp-variant-management [variants]=\"...\"></fdp-variant-management>\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n * ```\n */\n@Component({\n selector: 'fdp-variant-management-wrapper',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT_WRAPPER,\n useExisting: VariantManagementWrapperComponent\n }\n ],\n standalone: true\n})\nexport class VariantManagementWrapperComponent implements AfterViewInit, OnDestroy {\n /** Variant management component. */\n @Input()\n variantManager: VariantManagement;\n\n /** @hidden */\n @ContentChildren(FDP_PRESET_MANAGED_COMPONENT, { descendants: true })\n private readonly _managedComponents: QueryList<PresetManagedComponent<any>>;\n\n /** @hidden */\n @ContentChild(FDP_VARIANT_MANAGEMENT, { descendants: true })\n private set _projectedVariantManager(variantManager: VariantManagement) {\n this._variantManager = variantManager;\n this._setPresets();\n }\n\n private get _projectedVariantManager(): VariantManagement {\n return this._variantManager;\n }\n\n /** @hidden */\n private get _variantManagement(): VariantManagement {\n return this._projectedVariantManager || this.variantManager;\n }\n\n /** @hidden */\n private _variantManager: VariantManagement;\n\n /** @hidden */\n private _activeVariantSubscription: Subscription;\n\n /** @hidden */\n private _componentsPresetChangeSubscription: Subscription;\n\n /** @hidden */\n private _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPresets();\n\n this._managedComponents?.changes\n .pipe(startWith(this._managedComponents), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._listenToPresetChanges();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription?.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the preset change in Variant Management component and applies new configuration across projected components.\n */\n private _setPresets(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._activeVariantSubscription = this._variantManagement?.activeVariantChangeSubject\n .pipe(\n filter((variant) => !!variant && !!this._managedComponents),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n const data = this._variantManagement.activeVariant.data[component.name];\n component.setPreset(data);\n });\n });\n }\n\n /**\n * @hidden\n * Listens to preset configuration changes in projected components and sends updated config to Variant Management component.\n */\n private _listenToPresetChanges(): void {\n this._componentsPresetChangeSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription = new Subscription();\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n this._componentsPresetChangeSubscription.add(\n component.presetChanged\n .pipe(\n filter((preset) => {\n const prevPreset = this._getComponentPreset().get(component);\n return !shallowEqual(preset, prevPreset);\n }),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((preset) => {\n this._variantManagement?.updateActivePreset(preset, component.name);\n })\n );\n });\n }\n\n /** @hidden */\n private _getComponentPreset(): Map<PresetManagedComponent<any>, any> {\n const components = this._managedComponents.toArray();\n const data = this._variantManagement.getActiveVariantData();\n const componentsMap = new Map<PresetManagedComponent<any>, any>();\n\n components.forEach((component) => {\n componentsMap.set(component, data[component.name]);\n });\n\n return componentsMap;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementWrapperComponent } from './components/variant-management-wrapper/variant-management-wrapper.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { VariantManagementComponent } from './variant-management.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ],\n exports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ]\n})\nexport class VariantManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-variant-management.mjs","sources":["../../../../libs/platform/variant-management/directives/variant-management-dirty-label.directive.ts","../../../../libs/platform/variant-management/components/manage-variant-item/manage-variant-item.component.ts","../../../../libs/platform/variant-management/components/manage-variant-item/manage-variant-item.component.html","../../../../libs/platform/variant-management/components/manage-variants-dialog/data-provider.ts","../../../../libs/platform/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.ts","../../../../libs/platform/variant-management/components/manage-variants-dialog/manage-variants-dialog.component.html","../../../../libs/platform/variant-management/tokens.ts","../../../../libs/platform/variant-management/variant-item.class.ts","../../../../libs/platform/variant-management/variant-management.component.ts","../../../../libs/platform/variant-management/variant-management.component.html","../../../../libs/platform/variant-management/components/variant-management-wrapper/variant-management-wrapper.component.ts","../../../../libs/platform/variant-management/variant-management.module.ts","../../../../libs/platform/variant-management/fundamental-ngx-platform-variant-management.ts"],"sourcesContent":["import { Directive, TemplateRef } from '@angular/core';\n\n/**\n * Directive used to change dirty label of Variant Management component.\n *\n * Usage:\n *\n * ```\n * html\n * <fdp-variant-management>\n * <span *fdpVariantManagementDirtyLabel>I'm dirty</span>\n * </fdp-variant-management>\n * ```\n */\n@Directive({\n selector: '[fdpVariantManagementDirtyLabel]',\n standalone: true\n})\nexport class VariantManagementDirtyLabelDirective {\n /** @hidden */\n constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { CdkScrollable } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, ViewChild, ViewEncapsulation } from '@angular/core';\nimport {\n FormBuilder,\n FormGroup,\n FormGroupDirective,\n FormsModule,\n ReactiveFormsModule,\n ValidationErrors,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef\n} from '@fundamental-ngx/core/dialog';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport {\n CheckboxComponent,\n FormFieldComponent,\n FormFieldErrorDirective,\n FormGroupComponent,\n InputComponent\n} from '@fundamental-ngx/platform/form';\nimport { SaveDialogContext } from '../../models/save-dialog.model';\n\n@Component({\n selector: 'fdp-manage-variant-item',\n templateUrl: './manage-variant-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n FormGroupComponent,\n FormsModule,\n ReactiveFormsModule,\n FormFieldComponent,\n InputComponent,\n CheckboxComponent,\n FormFieldErrorDirective,\n DialogFooterComponent,\n ButtonBarComponent,\n FdTranslatePipe\n ]\n})\nexport class ManageVariantItemComponent {\n /** @hidden */\n @ViewChild('formContainer', { read: FormGroupDirective })\n private readonly _formContainer: FormGroupDirective;\n\n /** @Hidden */\n _form: FormGroup;\n /** @hidden */\n _nameValidator: ValidatorFn[];\n\n /** @hidden */\n private readonly _dialogConfig: SaveDialogContext;\n\n /** @hidden */\n constructor(\n public dialog: DialogRef<SaveDialogContext>,\n private readonly _formBuilder: FormBuilder\n ) {\n this._dialogConfig = this.dialog.data;\n this._nameValidator = [this._variantNameValidator(this._dialogConfig)];\n this._form = this._formBuilder.group({\n name: [\n this._dialogConfig.currentVariantName,\n [Validators.required, this._variantNameValidator(this._dialogConfig)]\n ],\n isDefault: false,\n access: 'private',\n applyAutomatically: false,\n readonly: false,\n favourite: false\n });\n }\n /** @Hidden */\n _submitForm(): void {\n this._formContainer.onSubmit(new Event('submit'));\n\n if (!this._form.valid) {\n return;\n }\n\n this.dialog.close(this._form.value);\n }\n\n /** @hidden */\n private _variantNameValidator(data: SaveDialogContext): ValidatorFn {\n return (control): ValidationErrors | null =>\n data.existingVariantNames.includes(control.value) ? { nameTaken: true } : null;\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 fd-title>{{ 'platformVariantManagement.saveView' | fdTranslate }}</h1>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fdp-form-group #formContainer [formGroup]=\"_form\" [unifiedLayout]=\"false\" [useForm]=\"true\">\n <fdp-form-field\n id=\"name\"\n [label]=\"'platformVariantManagement.view' | fdTranslate\"\n [column]=\"1\"\n [rank]=\"1\"\n [required]=\"true\"\n [validators]=\"_nameValidator\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-input name=\"name\" formControlName=\"name\"></fdp-input>\n </fdp-form-field>\n <fdp-form-field\n id=\"isDefault\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"isDefault\"\n formControlName=\"isDefault\"\n [label]=\"'platformVariantManagement.setAsDefault' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"access\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n [values]=\"{ trueValue: 'public', falseValue: 'private' }\"\n name=\"access\"\n formControlName=\"access\"\n [label]=\"'platformVariantManagement.public' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <fdp-form-field\n id=\"applyAutomatically\"\n [noLabelLayout]=\"true\"\n [labelColumnLayout]=\"{ S: 12 }\"\n [fieldColumnLayout]=\"{ S: 12 }\"\n [gapColumnLayout]=\"{ S: 12 }\"\n >\n <fdp-checkbox\n name=\"applyAutomatically\"\n formControlName=\"applyAutomatically\"\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n ></fdp-checkbox>\n </fdp-form-field>\n <span *fdpFormFieldError=\"'required'\">\n {{ 'platformVariantManagement.requiredFieldError' | fdTranslate }}\n </span>\n <span *fdpFormFieldError=\"'nameTaken'\">\n {{ 'platformVariantManagement.nameTakenFieldError' | fdTranslate }}\n </span>\n </fdp-form-group>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_submitForm()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n ariaLabel=\"Cancel\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { ArrayTableDataProvider } from '@fundamental-ngx/platform/table';\nimport { VariantItem } from '../../variant-item.class';\n\nexport class VariantManagementDataProvider extends ArrayTableDataProvider<VariantItem> {\n /** @hidden */\n constructor(items: VariantItem[]) {\n super(items);\n }\n\n /** Updates items list. */\n update(items: VariantItem[]): void {\n this.items$.next(items);\n }\n}\n","import { CdkScrollable } from '@angular/cdk/overlay';\n\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonBarComponent } from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport {\n DialogBodyComponent,\n DialogComponent,\n DialogFooterComponent,\n DialogHeaderComponent,\n DialogRef\n} from '@fundamental-ngx/core/dialog';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ScrollbarDirective } from '@fundamental-ngx/core/scrollbar';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { CheckboxComponent, InputComponent } from '@fundamental-ngx/platform/form';\nimport { TableColumnComponent, TableComponent, TableDataSource } from '@fundamental-ngx/platform/table';\nimport {\n FdpCellDef,\n FdpTableCell,\n TableDataSourceDirective,\n TableHeaderResizerDirective,\n TableInitialStateDirective\n} from '@fundamental-ngx/platform/table-helpers';\nimport { VariantItem } from '../../variant-item.class';\nimport { VariantManagementDataProvider } from './data-provider';\n\n@Component({\n selector: 'fdp-manage-variants-dialog',\n templateUrl: './manage-variants-dialog.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DialogComponent,\n DialogHeaderComponent,\n TitleComponent,\n CdkScrollable,\n ScrollbarDirective,\n DialogBodyComponent,\n TableDataSourceDirective,\n TableHeaderResizerDirective,\n TableComponent,\n TableInitialStateDirective,\n TableColumnComponent,\n FdpCellDef,\n FdpTableCell,\n IconComponent,\n InputComponent,\n FormsModule,\n RadioButtonComponent,\n CheckboxComponent,\n ButtonComponent,\n DialogFooterComponent,\n ButtonBarComponent,\n FdTranslatePipe\n ]\n})\nexport class ManageVariantsDialogComponent {\n /** @hidden */\n _source: TableDataSource<VariantItem>;\n\n /**\n * @hidden\n * Used to apply typings in template.\n */\n _variantModel!: VariantItem;\n\n /** @hidden */\n private readonly _variants: VariantItem[] = [];\n\n /** @hidden */\n private readonly _dataProvider: VariantManagementDataProvider;\n\n /** @hidden */\n constructor(\n public dialog: DialogRef<VariantItem[]>,\n private readonly _cdr: ChangeDetectorRef\n ) {\n // We clone all variants, so we don't change original instances immediately.\n this._variants = this.dialog.data.map((oldVariant) => oldVariant.clone({}, false));\n this._dataProvider = new VariantManagementDataProvider(this._variants);\n this._source = new TableDataSource(this._dataProvider);\n }\n\n /** @Hidden */\n _markAsFavourite(item: VariantItem): void {\n item.favourite = !item.favourite;\n }\n\n /** @hidden */\n _removeVariant(item: VariantItem): void {\n this._variants.splice(\n this._variants.findIndex((variant) => item.id === variant.id),\n 1\n );\n this._dataProvider.update(this._variants);\n this._cdr.detectChanges();\n }\n\n /**\n * @hidden\n * Closes dialog with updated variants array.\n */\n _saveVariants(): void {\n this.dialog.close(this._variants);\n }\n}\n","<fd-dialog>\n <fd-dialog-header>\n <h1 id=\"fd-dialog-header-1\" fd-title>\n {{ 'platformVariantManagement.manageViews' | fdTranslate }}\n </h1>\n </fd-dialog-header>\n <fd-dialog-body>\n <fdp-table [dataSource]=\"_source\" [noVerticalBorders]=\"true\" class=\"fd-variant-management__table\">\n <fdp-column name=\"favourite\" key=\"favourite\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-icon\n class=\"fd-variant-management__favourite-state\"\n [class.fd-variant-management__favourite-state--active]=\"item.favourite\"\n [ariaLabel]=\"'platformVariantManagement.markAsFavourite' | fdTranslate\"\n tabindex=\"0\"\n (click)=\"_markAsFavourite(item)\"\n glyph=\"favorite\"\n ></fd-icon>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.view' | fdTranslate\" name=\"name\" key=\"name\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n @if (!item.readonly) {\n <fdp-input [(ngModel)]=\"item.name\"></fdp-input>\n } @else {\n {{ item.name }}\n }\n </fdp-table-cell>\n </fdp-column>\n <fdp-column [label]=\"'platformVariantManagement.sharing' | fdTranslate\" name=\"access\" key=\"access\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n {{\n (item.access === 'public'\n ? 'platformVariantManagement.access.public'\n : 'platformVariantManagement.access.private'\n ) | fdTranslate\n }}\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.default' | fdTranslate\"\n name=\"isDefault\"\n key=\"isDefault\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fd-radio-button\n [value]=\"true\"\n [id]=\"'radio-' + item.id\"\n name=\"is-variant-default\"\n [(ngModel)]=\"item.isDefault\"\n ></fd-radio-button>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.applyAutomatically' | fdTranslate\"\n name=\"applyAutomatically\"\n key=\"applyAutomatically\"\n align=\"center\"\n >\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n <fdp-checkbox\n class=\"fd-variant-management__centered-checkbox\"\n [standalone]=\"true\"\n name=\"applyAutomatically\"\n [(ngModel)]=\"item.applyAutomatically\"\n ></fdp-checkbox>\n </fdp-table-cell>\n </fdp-column>\n <fdp-column\n [label]=\"'platformVariantManagement.createdBy' | fdTranslate\"\n name=\"createdBy\"\n key=\"createdBy\"\n ></fdp-column>\n <fdp-column name=\"actions\">\n <fdp-table-cell *fdpCellDef=\"let item; as: _variantModel\">\n @if (!item.readonly) {\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [title]=\"'platformVariantManagement.removeVariant' | fdTranslate\"\n (click)=\"_removeVariant(item)\"\n ></button>\n }\n </fdp-table-cell>\n </fdp-column>\n </fdp-table>\n </fd-dialog-body>\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"_saveVariants()\"\n ariaLabel=\"Interested Emphasized\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.cancel' | fdTranslate\"\n (click)=\"dialog.dismiss('Cancel')\"\n [ariaLabel]=\"'platformVariantManagement.cancel' | fdTranslate\"\n ></fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n","import { InjectionToken } from '@angular/core';\n\nexport const FDP_VARIANT_MANAGEMENT_WRAPPER = new InjectionToken('FdpVariantManagementWrapper');\nexport const FDP_VARIANT_MANAGEMENT = new InjectionToken('FdpVariantManagement');\n","import { NewVariant, Variant, VariantAccess } from './models/variant.interface';\n\nlet defaultVariantId = 0;\n\nexport class VariantItem<T = any> implements Variant<T> {\n /** Visibility of the variant. If public, available for everyone. */\n access: VariantAccess = 'public';\n /** Whether to automatically apply changes in preset managed component. */\n applyAutomatically? = false;\n /** Variant's author name. */\n createdBy: string;\n /** Variant data. Can contain any type of data. */\n data: T;\n /** Whether variant is marked as favourite. */\n favourite = false;\n /** Variant ID. */\n id = `variant-item-${++defaultVariantId}`;\n /** Whether to apply variant automatically. */\n isDefault = false;\n /** Variant name to be displayed in popover list. */\n name: string;\n /** Whether variant is editable. */\n readonly = false;\n\n /** @hidden */\n constructor(config: Partial<Variant>) {\n Object.keys(config).forEach((configKey) => {\n this[configKey] = config[configKey];\n });\n }\n\n /**\n * Clones current variant and applies new config on top of it.\n * @param newVariantData New config.\n * @param refreshId Whether to assign new ID to the new variant.\n */\n clone(newVariantData: NewVariant = {}, refreshId = true): VariantItem {\n const currentVariantData: Variant = Object.assign({}, this, newVariantData);\n\n currentVariantData.data = structuredClone(currentVariantData.data);\n\n if (refreshId) {\n delete currentVariantData.id;\n }\n const newVariant = new VariantItem(currentVariantData);\n return newVariant;\n }\n}\n","import { AsyncPipe, NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n inject\n} from '@angular/core';\nimport { FilterStringsPipe, Nullable } from '@fundamental-ngx/cdk/utils';\nimport {\n BarComponent,\n BarElementDirective,\n BarLeftDirective,\n BarRightDirective,\n ButtonBarComponent\n} from '@fundamental-ngx/core/bar';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { DynamicPage, FD_DYNAMIC_PAGE } from '@fundamental-ngx/core/dynamic-page';\nimport { ListComponent, ListItemComponent, ListLinkDirective, ListTitleDirective } from '@fundamental-ngx/core/list';\nimport {\n PopoverBodyComponent,\n PopoverBodyFooterDirective,\n PopoverBodyHeaderDirective,\n PopoverComponent,\n PopoverControlComponent,\n TriggerConfig\n} from '@fundamental-ngx/core/popover';\nimport { HeaderSizes, TitleComponent } from '@fundamental-ngx/core/title';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { FDP_DYNAMIC_PAGE } from '@fundamental-ngx/platform/dynamic-page';\nimport { SearchFieldComponent, SearchInput } from '@fundamental-ngx/platform/search-field';\nimport { shallowEqual } from 'fast-equals';\nimport { BehaviorSubject } from 'rxjs';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { SaveDialogContext } from './models/save-dialog.model';\nimport { VariantManagement } from './models/variant-management';\nimport { NewVariant, Variant } from './models/variant.interface';\nimport { FDP_VARIANT_MANAGEMENT } from './tokens';\nimport { VariantItem } from './variant-item.class';\n\n@Component({\n selector: 'fdp-variant-management',\n templateUrl: './variant-management.component.html',\n styleUrl: './variant-management.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT,\n useExisting: VariantManagementComponent\n }\n ],\n imports: [\n PopoverComponent,\n PopoverControlComponent,\n TitleComponent,\n NgTemplateOutlet,\n PopoverBodyComponent,\n PopoverBodyHeaderDirective,\n BarComponent,\n BarLeftDirective,\n BarElementDirective,\n SearchFieldComponent,\n ListComponent,\n ListItemComponent,\n ListLinkDirective,\n ListTitleDirective,\n PopoverBodyFooterDirective,\n BarRightDirective,\n ButtonBarComponent,\n FdTranslatePipe,\n FilterStringsPipe,\n AsyncPipe,\n NgClass,\n ButtonComponent\n ]\n})\nexport class VariantManagementComponent<T = any> implements VariantManagement<T> {\n /** Initial variants array. */\n @Input()\n set variants(items: Variant<T>[]) {\n this._variants = this._transformVariants(items);\n\n let currentVariantIndex = this._variants.findIndex((variant) => variant.isDefault);\n currentVariantIndex = currentVariantIndex > -1 ? currentVariantIndex : 0;\n const currentVariant = this._variants[currentVariantIndex];\n this.selectVariant(currentVariant as VariantItem);\n }\n\n /** Header size. */\n @Input()\n headerSize: HeaderSizes = 4;\n\n /** Popover trigger events. */\n @Input()\n popoverTriggers: (string | TriggerConfig)[] = [\n { trigger: 'click', stopPropagation: true, closeAction: true, openAction: true }\n ];\n\n /** User's name which will be applied to all new variants user creates. */\n @Input()\n userName: string;\n\n /** Whether to display search field for variants list. */\n @Input({ transform: booleanAttribute })\n displaySearch = false;\n\n /** Whether the variant management component is in readonly mode. */\n @Input({ transform: booleanAttribute })\n readonly = false;\n\n /** Event emitted when variants data has been updated. */\n @Output()\n variantsChange = new EventEmitter<Variant<T>[]>();\n\n /** Event emitted when new variant selected. */\n @Output()\n activeVariantChange = new EventEmitter<Variant<T>>();\n\n /**\n * Custom dirty label directive.\n */\n @ContentChild(VariantManagementDirtyLabelDirective)\n dirtyLabel: VariantManagementDirtyLabelDirective;\n\n /** @hidden */\n @ViewChild('popover')\n _popover: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class')\n protected readonly _initialClass = 'fd-variant-management';\n\n /**\n * Used internally for communicating with wrapper component.\n */\n activeVariantChangeSubject = new BehaviorSubject<Variant<T> | null>(null);\n\n /** @hidden */\n _variantChanged = false;\n\n /** Selected variant. */\n activeVariant!: VariantItem<T>;\n\n /** @hidden */\n _variants: VariantItem<T>[] = [];\n\n /** @Hidden */\n _filterPhrase: Nullable<string> = null;\n\n /** @hidden */\n get _dynamicPage(): DynamicPage | null {\n return this._coreDynamicPage || this._platformDynamicPage;\n }\n\n /** @hidden */\n protected _dynamicPageCollapsed$ = new BehaviorSubject(false);\n\n /** @hidden */\n protected _coreDynamicPage = inject(FD_DYNAMIC_PAGE, { optional: true });\n /** @hidden */\n protected _platformDynamicPage = inject(FDP_DYNAMIC_PAGE, { optional: true });\n /** @Hidden */\n private _originalActiveVariant: VariantItem<T>;\n\n /** @hidden */\n constructor(\n private readonly _dialogService: DialogService,\n private readonly _cdr: ChangeDetectorRef\n ) {\n if (this._dynamicPage) {\n effect(() => {\n this._dynamicPageCollapsed$.next(this._dynamicPage!.collapsed());\n });\n }\n }\n\n /**\n * Manually select variant.\n * @param variant Variant to select.\n */\n selectVariant(variant: VariantItem<T>): void {\n this._variantChanged = false;\n this.activeVariant = variant;\n this._originalActiveVariant = variant.clone({}, false);\n this.activeVariantChange.emit(variant);\n this.activeVariantChangeSubject.next(variant);\n }\n\n /** Returns original variant data. */\n getOriginalActiveVariantData(): Variant<T>['data'] {\n return this._originalActiveVariant.data;\n }\n\n /** Returns current active variant data with applied changes. */\n getActiveVariantData(): Variant<T>['data'] {\n return this.activeVariant.data;\n }\n\n /**\n * Saves current variant with its configuration.\n */\n saveCurrentVariant(): void {\n if (this.readonly) {\n return;\n }\n const currentVariantIndex = this._variants.findIndex((variant) => variant.id === this.activeVariant.id);\n this._variants[currentVariantIndex] = this.activeVariant;\n this._originalActiveVariant = this.activeVariant.clone({}, false);\n this._variantChanged = false;\n this.variantsChange.emit(this._variants);\n }\n\n /** @hidden */\n _openSaveDialog(): void {\n if (this.readonly) {\n return;\n }\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<SaveDialogContext>(ManageVariantItemComponent, {\n data: {\n existingVariantNames: this._variants.map((variant) => variant.name),\n currentVariantName: this.activeVariant.name\n }\n });\n dialogRef.afterClosed.subscribe({\n next: (result: NewVariant) => {\n const newVariant = this.activeVariant.clone({ ...result, ...{ createdBy: this.userName } });\n this._variants.push(newVariant);\n this.variantsChange.emit(this._variants);\n this.activeVariant = newVariant;\n this._variantChanged = false;\n this._cdr.detectChanges();\n },\n error: () => {}\n });\n }\n\n /**\n * Updates current active preset with new configuration.\n * @param preset Preset configuration.\n * @param componentName component to which this preset belongs to.\n */\n updateActivePreset(preset: T, componentName: string): void {\n const activeVariantData = this._originalActiveVariant.data[componentName];\n this._variantChanged = activeVariantData && !shallowEqual(preset, activeVariantData);\n this.activeVariant.data[componentName] = preset;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _openManageDialog(): void {\n if (this.readonly) {\n return;\n }\n this._popover?.close(false);\n const dialogRef = this._dialogService.open<VariantItem[]>(ManageVariantsDialogComponent, {\n data: this._variants\n });\n\n dialogRef.afterClosed.subscribe({\n next: (variants: VariantItem[]) => {\n this._variants = variants;\n this.variantsChange.emit(this._variants);\n },\n error: () => {}\n });\n }\n\n /** @hidden */\n _onSearchSubmit(search: SearchInput): void {\n this._filterPhrase = search.text;\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n _cancelSearch(): void {\n this._filterPhrase = null;\n this._cdr.detectChanges();\n }\n\n /** @Hidden */\n _trackFn(index: number, item: VariantItem<T>): string {\n return item.id;\n }\n\n /** @hidden */\n private _transformVariants(items: Variant<T>[]): VariantItem[] {\n return items.map((variant) => new VariantItem(variant));\n }\n}\n","@if (activeVariant) {\n <fd-popover\n #popover\n placement=\"bottom\"\n [noArrow]=\"false\"\n [focusAutoCapture]=\"true\"\n [focusTrapped]=\"true\"\n additionalBodyClass=\"fd-variant-management__popover-body\"\n [triggers]=\"popoverTriggers\"\n >\n <fd-popover-control>\n <div class=\"fd-variant-management__header\">\n <h4\n fd-title\n [ngClass]=\"{\n 'fd-variant-management__title': true,\n 'fd-variant-management__title--dynamic-page': _dynamicPage,\n 'fd-variant-management__title--dynamic-page--collapsed': _dynamicPageCollapsed$ | async\n }\"\n [headerSize]=\"headerSize\"\n >\n {{ activeVariant.name }}\n </h4>\n @if (_variantChanged && !readonly) {\n <span\n class=\"fd-variant-management__dirty-indicator\"\n [class.fd-variant-management__dirty-indicator--custom]=\"!!dirtyLabel\"\n >\n <ng-template #defaultDirtyIndicator>*</ng-template>\n <ng-template\n [ngTemplateOutlet]=\"dirtyLabel ? dirtyLabel.templateRef : defaultDirtyIndicator\"\n ></ng-template>\n </span>\n }\n <button fd-button [fdMenu]=\"true\" fdType=\"transparent\" [attr.aria-haspopup]=\"true\"></button>\n </div>\n </fd-popover-control>\n <fd-popover-body>\n <div fd-popover-body-header>\n <div fd-bar [barDesign]=\"displaySearch ? 'header-with-subheader' : 'header'\">\n <div fd-bar-left>\n <fd-bar-element>\n <h5 fd-title>{{ 'platformVariantManagement.myViews' | fdTranslate }}</h5>\n </fd-bar-element>\n </div>\n </div>\n @if (displaySearch) {\n <div fd-bar barDesign=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <fdp-search-field\n [placeholder]=\"'platformVariantManagement.search' | fdTranslate\"\n (searchSubmit)=\"_onSearchSubmit($event)\"\n (cancelSearch)=\"_cancelSearch()\"\n [disableRefresh]=\"true\"\n ></fdp-search-field>\n </fd-bar-element>\n </div>\n </div>\n }\n </div>\n <ul fd-list>\n @for (\n variant of _variants | fdFilterStrings: { searchTerm: _filterPhrase, key: 'name' };\n track variant.id\n ) {\n <li fd-list-item [selected]=\"variant.name === activeVariant.name\" (click)=\"selectVariant(variant)\">\n <span fd-list-link>\n <span fd-list-title>{{ variant.name }}</span>\n </span>\n </li>\n }\n </ul>\n @if (!readonly) {\n <div fd-popover-body-footer>\n <div fd-bar barDesign=\"footer\">\n <div fd-bar-right>\n @if (!activeVariant.readonly && _variantChanged) {\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformVariantManagement.save' | fdTranslate\"\n (click)=\"saveCurrentVariant()\"\n >\n </fd-button-bar>\n }\n <fd-button-bar\n [fdType]=\"activeVariant.readonly || !_variantChanged ? 'emphasized' : 'transparent'\"\n [label]=\"'platformVariantManagement.saveAs' | fdTranslate\"\n (click)=\"_openSaveDialog()\"\n ></fd-button-bar>\n <fd-button-bar\n [label]=\"'platformVariantManagement.manage' | fdTranslate\"\n (click)=\"_openManageDialog()\"\n ></fd-button-bar>\n </div>\n </div>\n </div>\n }\n </fd-popover-body>\n </fd-popover>\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n DestroyRef,\n inject,\n Input,\n OnDestroy,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FDP_PRESET_MANAGED_COMPONENT, PresetManagedComponent } from '@fundamental-ngx/platform/shared';\nimport { shallowEqual } from 'fast-equals';\nimport { filter, startWith, Subscription } from 'rxjs';\nimport { VariantManagement } from '../../models/variant-management';\nimport { FDP_VARIANT_MANAGEMENT, FDP_VARIANT_MANAGEMENT_WRAPPER } from '../../tokens';\n\n/**\n * Wrapper component used to wrap components that implement `PresetManagedComponent`.\n * It automatically bounds existing presets from `Variant Management` component to `PresetManagedComponent`.\n * Wrapper component supports two ways of providing Variant Management component.\n * First one is to pass reference via Input property.\n * Second one is to put Variant Management component inside wrapper component so it would be accessible via @ContentChild.\n * Usage example:\n *\n * ```html\n * Usage outside wrapper component:\n * <fdp-variant-management #variantManagement [variants]=\"...\"></fdp-variant-management>\n * <fdp-variant-management-wrapper [variantManager]=\"variantManagement\">\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n *\n * Usage inside wrapper component:\n * <fdp-variant-management-wrapper>\n * <fdp-variant-management [variants]=\"...\"></fdp-variant-management>\n * <fdp-smart-filter-bar>...</fdp-smart-filter-bar>\n * <fdp-table>...</fdp-table>\n * </fdp-variant-management-wrapper>\n * ```\n */\n@Component({\n selector: 'fdp-variant-management-wrapper',\n template: `<ng-content></ng-content>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FDP_VARIANT_MANAGEMENT_WRAPPER,\n useExisting: VariantManagementWrapperComponent\n }\n ],\n standalone: true\n})\nexport class VariantManagementWrapperComponent implements AfterViewInit, OnDestroy {\n /** Variant management component. */\n @Input()\n variantManager: VariantManagement;\n\n /** @hidden */\n @ContentChildren(FDP_PRESET_MANAGED_COMPONENT, { descendants: true })\n private readonly _managedComponents: QueryList<PresetManagedComponent<any>>;\n\n /** @hidden */\n @ContentChild(FDP_VARIANT_MANAGEMENT, { descendants: true })\n private set _projectedVariantManager(variantManager: VariantManagement) {\n this._variantManager = variantManager;\n this._setPresets();\n }\n\n private get _projectedVariantManager(): VariantManagement {\n return this._variantManager;\n }\n\n /** @hidden */\n private get _variantManagement(): VariantManagement {\n return this._projectedVariantManager || this.variantManager;\n }\n\n /** @hidden */\n private _variantManager: VariantManagement;\n\n /** @hidden */\n private _activeVariantSubscription: Subscription;\n\n /** @hidden */\n private _componentsPresetChangeSubscription: Subscription;\n\n /** @hidden */\n private _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setPresets();\n\n this._managedComponents?.changes\n .pipe(startWith(this._managedComponents), takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._listenToPresetChanges();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription?.unsubscribe();\n }\n\n /**\n * @hidden\n * Listens to the preset change in Variant Management component and applies new configuration across projected components.\n */\n private _setPresets(): void {\n this._activeVariantSubscription?.unsubscribe();\n this._activeVariantSubscription = this._variantManagement?.activeVariantChangeSubject\n .pipe(\n filter((variant) => !!variant && !!this._managedComponents),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => {\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n const data = this._variantManagement.activeVariant.data[component.name];\n component.setPreset(data);\n });\n });\n }\n\n /**\n * @hidden\n * Listens to preset configuration changes in projected components and sends updated config to Variant Management component.\n */\n private _listenToPresetChanges(): void {\n this._componentsPresetChangeSubscription?.unsubscribe();\n this._componentsPresetChangeSubscription = new Subscription();\n const components = this._managedComponents.toArray();\n\n components.forEach((component) => {\n this._componentsPresetChangeSubscription.add(\n component.presetChanged\n .pipe(\n filter((preset) => {\n const prevPreset = this._getComponentPreset().get(component);\n return !shallowEqual(preset, prevPreset);\n }),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe((preset) => {\n this._variantManagement?.updateActivePreset(preset, component.name);\n })\n );\n });\n }\n\n /** @hidden */\n private _getComponentPreset(): Map<PresetManagedComponent<any>, any> {\n const components = this._managedComponents.toArray();\n const data = this._variantManagement.getActiveVariantData();\n const componentsMap = new Map<PresetManagedComponent<any>, any>();\n\n components.forEach((component) => {\n componentsMap.set(component, data[component.name]);\n });\n\n return componentsMap;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { ManageVariantItemComponent } from './components/manage-variant-item/manage-variant-item.component';\nimport { ManageVariantsDialogComponent } from './components/manage-variants-dialog/manage-variants-dialog.component';\nimport { VariantManagementWrapperComponent } from './components/variant-management-wrapper/variant-management-wrapper.component';\nimport { VariantManagementDirtyLabelDirective } from './directives/variant-management-dirty-label.directive';\nimport { VariantManagementComponent } from './variant-management.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ],\n exports: [\n VariantManagementComponent,\n VariantManagementDirtyLabelDirective,\n ManageVariantItemComponent,\n VariantManagementWrapperComponent,\n ManageVariantsDialogComponent\n ]\n})\nexport class VariantManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1028,7 +1028,7 @@ class WizardSummarySectionComponent {
1028
1028
  return form.id;
1029
1029
  }
1030
1030
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WizardSummarySectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1031
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: WizardSummarySectionComponent, isStandalone: true, selector: "fdp-wizard-summary-section", inputs: { step: "step" }, outputs: { editStep: "editStep" }, ngImport: i0, template: "@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n @for (item of group.items; track item; let index = $index) {\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n <div>\n <label fd-form-label [allowWrap]=\"true\" [alignLabelEnd]=\"true\"> {{ item.label }}: </label>\n </div>\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <div>\n <label fd-form-label [allowWrap]=\"true\">\n {{ item.value || '-' }}\n </label>\n </div>\n </div>\n @if (index === group.items.length - 1) {\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ ('platformWizardGenerator.summarySectionEditStep' | fdTranslate)() }}\n </fdp-link>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n}\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: LinkComponent, selector: "fdp-link", inputs: ["href", "target", "linkType", "type", "inverted", "title", "hreflang", "download", "media", "rel", "truncate"], outputs: ["click"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1031
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: WizardSummarySectionComponent, isStandalone: true, selector: "fdp-wizard-summary-section", inputs: { step: "step" }, outputs: { editStep: "editStep" }, ngImport: i0, template: "@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n @for (item of group.items; track item; let index = $index) {\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n <div>\n <label fd-form-label [allowWrap]=\"true\" [alignLabelEnd]=\"true\"> {{ item.label }}: </label>\n </div>\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <div>\n <label fd-form-label [allowWrap]=\"true\">\n {{ item.value || '-' }}\n </label>\n </div>\n </div>\n @if (index === group.items.length - 1) {\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ 'platformWizardGenerator.summarySectionEditStep' | fdTranslate }}\n </fdp-link>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n}\n", dependencies: [{ kind: "component", type: TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: LayoutGridColDirective, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: ["fdLayoutGridCol", "colGrow", "colMd", "colLg", "colXl", "colOffset", "colOffsetMd", "colOffsetLg", "colOffsetXl"] }, { kind: "component", type: LayoutGridComponent, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: ["noGap", "noHorizontalGap", "noVerticalGap"] }, { kind: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }, { kind: "component", type: FormLabelComponent, selector: "[fd-form-label]", inputs: ["required", "colon", "alignLabelEnd", "inlineHelpContent", "inlineHelpGlyph", "inlineHelpTriggers", "inlineHelpBodyPlacement", "inlineHelpPlacement", "allowWrap", "inlineHelpLabel", "id"] }, { kind: "component", type: LinkComponent, selector: "fdp-link", inputs: ["href", "target", "linkType", "type", "inverted", "title", "hreflang", "download", "media", "rel", "truncate"], outputs: ["click"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1032
1032
  }
1033
1033
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WizardSummarySectionComponent, decorators: [{
1034
1034
  type: Component,
@@ -1040,7 +1040,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
1040
1040
  FormLabelComponent,
1041
1041
  LinkComponent,
1042
1042
  FdTranslatePipe
1043
- ], template: "@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n @for (item of group.items; track item; let index = $index) {\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n <div>\n <label fd-form-label [allowWrap]=\"true\" [alignLabelEnd]=\"true\"> {{ item.label }}: </label>\n </div>\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <div>\n <label fd-form-label [allowWrap]=\"true\">\n {{ item.value || '-' }}\n </label>\n </div>\n </div>\n @if (index === group.items.length - 1) {\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ ('platformWizardGenerator.summarySectionEditStep' | fdTranslate)() }}\n </fdp-link>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n}\n" }]
1043
+ ], template: "@for (group of step.forms; track _trackFn($index, group)) {\n <h4 fd-title [headerSize]=\"4\">{{ group.title }}</h4>\n <fd-layout-grid [style.margin-bottom.rem]=\"2\">\n @for (item of group.items; track item; let index = $index) {\n <div fdLayoutGridRow>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"2\" [colLg]=\"2\" [colXl]=\"2\">\n <div>\n <label fd-form-label [allowWrap]=\"true\" [alignLabelEnd]=\"true\"> {{ item.label }}: </label>\n </div>\n </div>\n <div [fdLayoutGridCol]=\"4\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <div>\n <label fd-form-label [allowWrap]=\"true\">\n {{ item.value || '-' }}\n </label>\n </div>\n </div>\n @if (index === group.items.length - 1) {\n <div [fdLayoutGridCol]=\"1\" [colMd]=\"5\" [colLg]=\"5\" [colXl]=\"5\">\n <fdp-link href=\"#\" (click)=\"_editStep($event)\">\n {{ 'platformWizardGenerator.summarySectionEditStep' | fdTranslate }}\n </fdp-link>\n </div>\n }\n </div>\n }\n </fd-layout-grid>\n}\n" }]
1044
1044
  }], propDecorators: { step: [{
1045
1045
  type: Input
1046
1046
  }], editStep: [{
@@ -1523,11 +1523,11 @@ class WizardGeneratorComponent extends BaseWizardGenerator {
1523
1523
  this.loadingRange = range(3);
1524
1524
  }
1525
1525
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WizardGeneratorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1526
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: WizardGeneratorComponent, isStandalone: true, selector: "fdp-wizard-generator", providers: [WizardGeneratorService, FormGeneratorService], queries: [{ propertyName: "finishButtonTemplate", first: true, predicate: WizardGeneratorFinishButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "goNextButtonTemplate", first: true, predicate: WizardGeneratorGoNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "customSummaryStepTemplate", first: true, predicate: WizardGeneratorSummaryStepDirective, descendants: true, read: TemplateRef }, { propertyName: "reviewButtonTemplate", first: true, predicate: WizardGeneratorReviewButtonDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul\n fd-wizard-progress-bar\n size=\"lg\"\n role=\"list\"\n [attr.aria-label]=\"('platformWizardGenerator.stepsLabel' | fdTranslate)()\"\n >\n @for (i of loadingRange; track i) {\n <li fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n", dependencies: [{ kind: "component", type: WizardBodyComponent, selector: "fdp-wizard-body", inputs: ["responsivePaddings", "navigationButtonLabels", "appendToWizard", "contentHeight", "isFirstStep", "isLastStep", "isNextStepSummary", "displaySummaryStep", "goNextButtonTemplate", "finishButtonTemplate", "customSummaryStepTemplate", "reviewButtonTemplate", "isSummaryStep", "navigationButtons", "unifiedLayout", "isBranchingStep", "isCurrentStepCompleted", "stepsOrderChanged"], outputs: ["statusChange", "goNext", "finish"] }, { kind: "ngmodule", type: WizardModule }, { kind: "component", type: i2$1.WizardComponent, selector: "fd-wizard", inputs: ["appendToWizard", "contentHeight", "responsivePaddings", "displaySummaryStep", "ariaLabel"] }, { kind: "component", type: i2$1.WizardNavigationComponent, selector: "fd-wizard-navigation", inputs: ["ariaLabel"] }, { kind: "directive", type: i2$1.WizardProgressBarDirective, selector: "[fd-wizard-progress-bar]", inputs: ["size"] }, { kind: "component", type: i2$1.WizardStepComponent, selector: "[fd-wizard-step]", inputs: ["ariaLabel", "ariaRoleDecription", "status", "branching", "label", "optionalText", "isSummary", "stepClickValidator"], outputs: ["statusChange", "stepClicked", "stepIndicatorItemClicked"] }, { kind: "component", type: i2$1.WizardContentComponent, selector: "fd-wizard-content", inputs: ["contentBackground", "size"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1526
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: WizardGeneratorComponent, isStandalone: true, selector: "fdp-wizard-generator", providers: [WizardGeneratorService, FormGeneratorService], queries: [{ propertyName: "finishButtonTemplate", first: true, predicate: WizardGeneratorFinishButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "goNextButtonTemplate", first: true, predicate: WizardGeneratorGoNextButtonDirective, descendants: true, read: TemplateRef }, { propertyName: "customSummaryStepTemplate", first: true, predicate: WizardGeneratorSummaryStepDirective, descendants: true, read: TemplateRef }, { propertyName: "reviewButtonTemplate", first: true, predicate: WizardGeneratorReviewButtonDirective, descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n @for (i of loadingRange; track i) {\n <li fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n", dependencies: [{ kind: "component", type: WizardBodyComponent, selector: "fdp-wizard-body", inputs: ["responsivePaddings", "navigationButtonLabels", "appendToWizard", "contentHeight", "isFirstStep", "isLastStep", "isNextStepSummary", "displaySummaryStep", "goNextButtonTemplate", "finishButtonTemplate", "customSummaryStepTemplate", "reviewButtonTemplate", "isSummaryStep", "navigationButtons", "unifiedLayout", "isBranchingStep", "isCurrentStepCompleted", "stepsOrderChanged"], outputs: ["statusChange", "goNext", "finish"] }, { kind: "ngmodule", type: WizardModule }, { kind: "component", type: i2$1.WizardComponent, selector: "fd-wizard", inputs: ["appendToWizard", "contentHeight", "responsivePaddings", "displaySummaryStep", "ariaLabel"] }, { kind: "component", type: i2$1.WizardNavigationComponent, selector: "fd-wizard-navigation", inputs: ["ariaLabel"] }, { kind: "directive", type: i2$1.WizardProgressBarDirective, selector: "[fd-wizard-progress-bar]", inputs: ["size"] }, { kind: "component", type: i2$1.WizardStepComponent, selector: "[fd-wizard-step]", inputs: ["ariaLabel", "ariaRoleDecription", "status", "branching", "label", "optionalText", "isSummary", "stepClickValidator"], outputs: ["statusChange", "stepClicked", "stepIndicatorItemClicked"] }, { kind: "component", type: i2$1.WizardContentComponent, selector: "fd-wizard-content", inputs: ["contentBackground", "size"] }, { kind: "component", type: SkeletonComponent, selector: "fd-skeleton", inputs: ["animated", "type", "textLines", "width", "height"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1527
1527
  }
1528
1528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: WizardGeneratorComponent, decorators: [{
1529
1529
  type: Component,
1530
- args: [{ selector: 'fdp-wizard-generator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [WizardGeneratorService, FormGeneratorService], imports: [WizardBodyComponent, WizardModule, SkeletonComponent, FdTranslatePipe], template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul\n fd-wizard-progress-bar\n size=\"lg\"\n role=\"list\"\n [attr.aria-label]=\"('platformWizardGenerator.stepsLabel' | fdTranslate)()\"\n >\n @for (i of loadingRange; track i) {\n <li fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n" }]
1530
+ args: [{ selector: 'fdp-wizard-generator', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [WizardGeneratorService, FormGeneratorService], imports: [WizardBodyComponent, WizardModule, SkeletonComponent], template: "@if (wizardCreated) {\n <fdp-wizard-body\n [navigationButtonLabels]=\"_navigationButtonLabels\"\n [goNextButtonTemplate]=\"goNextButtonTemplate\"\n [finishButtonTemplate]=\"finishButtonTemplate\"\n [customSummaryStepTemplate]=\"customSummaryStepTemplate\"\n [reviewButtonTemplate]=\"reviewButtonTemplate\"\n [responsivePaddings]=\"responsivePaddings\"\n [hidden]=\"!wizardCreated\"\n [appendToWizard]=\"appendToWizard\"\n [contentHeight]=\"contentHeight\"\n [isFirstStep]=\"isFirstStep\"\n [isLastStep]=\"isLastStep\"\n [isNextStepSummary]=\"isNextStepSummary\"\n [isSummaryStep]=\"isSummaryStep\"\n [displaySummaryStep]=\"displaySummaryStep\"\n [navigationButtons]=\"navigationButtons\"\n [unifiedLayout]=\"unifiedLayout\"\n [isBranchingStep]=\"isBranchingStep\"\n [isCurrentStepCompleted]=\"isCurrentStepCompleted\"\n [stepsOrderChanged]=\"_stepsOrderChanged\"\n (statusChange)=\"stepStatusChanged($event.id, $event.status)\"\n (goNext)=\"goNext()\"\n (finish)=\"finish()\"\n ></fdp-wizard-body>\n} @else {\n <fd-wizard>\n <fd-wizard-navigation>\n <ul fd-wizard-progress-bar size=\"lg\" role=\"list\" aria-label=\"Wizard Steps\">\n @for (i of loadingRange; track i) {\n <li fd-wizard-step [status]=\"i === 0 ? 'current' : 'upcoming'\">\n <fd-skeleton type=\"rectangle\" width=\"32px\" height=\"32px\"></fd-skeleton>\n <fd-wizard-content size=\"lg\">\n <fd-skeleton type=\"text\" width=\"60%\"></fd-skeleton>\n </fd-wizard-content>\n </li>\n }\n </ul>\n </fd-wizard-navigation>\n </fd-wizard>\n}\n<!-- The Wizard -->\n" }]
1531
1531
  }], propDecorators: { finishButtonTemplate: [{
1532
1532
  type: ContentChild,
1533
1533
  args: [WizardGeneratorFinishButtonDirective, { read: TemplateRef }]