@fundamental-ngx/core 0.64.2-rc.9 → 0.64.3

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 (38) hide show
  1. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +9 -11
  2. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  3. package/fesm2022/fundamental-ngx-core-calendar.mjs +20 -39
  4. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  5. package/fesm2022/fundamental-ngx-core-date-picker.mjs +4 -5
  6. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  7. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +5 -8
  8. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  9. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +21 -5
  10. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-facets.mjs +2 -2
  12. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  13. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +28 -17
  14. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  15. package/fesm2022/fundamental-ngx-core-form.mjs +210 -102
  16. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  17. package/fesm2022/fundamental-ngx-core-input-group.mjs +2 -2
  18. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  19. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +1 -1
  20. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  21. package/fesm2022/fundamental-ngx-core-popover.mjs +10 -1
  22. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  23. package/fesm2022/fundamental-ngx-core-slider.mjs +13 -18
  24. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  25. package/fesm2022/fundamental-ngx-core-step-input.mjs +1 -1
  26. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-time-picker.mjs +4 -4
  28. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-time.mjs +3 -4
  30. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  31. package/package.json +3 -3
  32. package/schematics/package.json +1 -1
  33. package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +4 -5
  34. package/types/fundamental-ngx-core-calendar.d.ts +0 -2
  35. package/types/fundamental-ngx-core-dynamic-page.d.ts +15 -1
  36. package/types/fundamental-ngx-core-flexible-column-layout.d.ts +8 -5
  37. package/types/fundamental-ngx-core-form.d.ts +44 -22
  38. package/types/fundamental-ngx-core-slider.d.ts +8 -8
@@ -99,7 +99,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
99
99
 
100
100
  class FacetGroupComponent {
101
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FacetGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: FacetGroupComponent, isStandalone: true, selector: "fd-facet-group", inputs: { ariaLabel: "ariaLabel" }, host: { attributes: { "role": "group" }, properties: { "class.fd-facet-group": "true", "attr.aria-label": "ariaLabel" } }, ngImport: i0, template: ` <ng-content select="fd-facet"></ng-content> `, isInline: true, styles: [".fd-facet-align-end{order:1;display:flex;flex:1;flex-direction:column;align-items:flex-end}.fd-title.fd-margin-bottom--sm{margin-block-end:1rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: FacetGroupComponent, isStandalone: true, selector: "fd-facet-group", inputs: { ariaLabel: "ariaLabel" }, host: { attributes: { "role": "group" }, properties: { "class.fd-facet-group": "true", "attr.aria-label": "ariaLabel" } }, ngImport: i0, template: ` <ng-content select="fd-facet"></ng-content> `, isInline: true, styles: [".fd-facet-align-end{order:1;display:flex;flex:1;flex-direction:column;align-items:flex-end}.fd-title.fd-margin-bottom--sm{margin-block-end:1rem}.fd-facet-group{gap:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
103
  }
104
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FacetGroupComponent, decorators: [{
105
105
  type: Component,
@@ -107,7 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
107
107
  '[class.fd-facet-group]': 'true',
108
108
  '[attr.aria-label]': 'ariaLabel',
109
109
  role: 'group'
110
- }, standalone: true, styles: [".fd-facet-align-end{order:1;display:flex;flex:1;flex-direction:column;align-items:flex-end}.fd-title.fd-margin-bottom--sm{margin-block-end:1rem}\n"] }]
110
+ }, standalone: true, styles: [".fd-facet-align-end{order:1;display:flex;flex:1;flex-direction:column;align-items:flex-end}.fd-title.fd-margin-bottom--sm{margin-block-end:1rem}.fd-facet-group{gap:0}\n"] }]
111
111
  }], propDecorators: { ariaLabel: [{
112
112
  type: Input
113
113
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-facets.mjs","sources":["../../../../libs/core/facets/constants.ts","../../../../libs/core/facets/utils.ts","../../../../libs/core/facets/content/facet-content.component.ts","../../../../libs/core/facets/facet-container.component.ts","../../../../libs/core/facets/facet-group.component.ts","../../../../libs/core/facets/facet/facet.component.ts","../../../../libs/core/facets/facet/facet.component.html","../../../../libs/core/facets/facet.module.ts","../../../../libs/core/facets/fundamental-ngx-core-facets.ts"],"sourcesContent":["export const FACET_CLASS_NAME = {\n facetContainer: 'fd-facet__container',\n facetRatingIndicatorContainer: 'fd-facet__rating-container',\n facetRatingIndicatorDynamicText: 'fd-facet__rating-dynamic-text',\n facetObjectStatus: 'fd-facet__object-status',\n facetObjectStatusText: 'fd-facet__object-status-text',\n marginTopTiny: 'fd-margin-top--tiny',\n marginBottomTiny: 'fd-margin-bottom--tiny',\n marginEndTiny: 'fd-margin-end--tiny',\n paddingNone: 'fd-padding--none'\n} as const;\n\nexport type FacetType = 'form' | 'key-value' | 'image' | 'rating-indicator' | 'custom';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToFacetElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { FACET_CLASS_NAME } from '../constants';\nimport { addClassNameToFacetElement } from '../utils';\n\n@Component({\n selector: 'fd-facet-content',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class FacetContentComponent implements OnInit {\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(FACET_CLASS_NAME.facetContainer);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToFacetElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nexport type ContainerFlexDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';\n\nexport type ContainerFlexJustify =\n | 'start'\n | 'center'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch';\n\nexport type ContainerFlexAlign =\n | 'start'\n | 'center'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'self-start'\n | 'self-end'\n | 'baseline';\n\n@Component({\n selector: 'fd-facet-container',\n template: ` <ng-content></ng-content> `,\n styleUrl: './facet-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet-container]': 'true',\n '[style.gap.rem]': 'flexGap()',\n '[style.flex-direction]': 'flexDirection()',\n '[style.align-items]': 'alignItems()',\n '[style.justify-content]': 'justifyContent()'\n },\n standalone: true\n})\nexport class FacetContainerComponent {\n /**\n * Value for the direction of the flex container.\n * Possible values: 'row' | 'row-reverse' | 'column' | 'column-reverse'\n * Default: 'column'\n */\n flexDirection = input<ContainerFlexDirection>('column');\n\n /**\n * Value for align-items of the flex container.\n * Possible values:\n * 'start', 'center', 'end', 'flex-start', 'flex-end', 'space-between', 'space-around',\n * 'space-evenly', 'stretch', 'self-start', 'self-end', 'baseline'\n * Default: 'start'\n */\n alignItems = input<ContainerFlexJustify>('start');\n\n /**\n * Value for justify-content of the flex container.\n * Possible values:\n * 'start', 'center', 'end', 'flex-start', 'flex-end', 'space-between', 'space-around',\n * 'space-evenly', 'stretch'\n * Default: 'start'\n */\n justifyContent = input<ContainerFlexAlign>('start');\n\n /**\n * Value for the flex container gap in rem.\n * An integer number\n * Default: 1\n */\n flexGap = input(1);\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fd-facet-group',\n template: ` <ng-content select=\"fd-facet\"></ng-content> `,\n styleUrl: './facet-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet-group]': 'true',\n '[attr.aria-label]': 'ariaLabel',\n role: 'group'\n },\n standalone: true\n})\nexport class FacetGroupComponent {\n /**\n * the aria label for the facet group\n */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FACET_CLASS_NAME, FacetType } from '../constants';\nimport { addClassNameToFacetElement } from '../utils';\n\nlet randomId = 0;\nlet randomTitleId = 0;\n\n@Component({\n selector: 'fd-facet',\n templateUrl: './facet.component.html',\n styleUrl: './facet.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet]': 'true'\n },\n imports: [NgTemplateOutlet, TitleComponent, FormLabelComponent]\n})\nexport class FacetComponent implements AfterViewInit {\n /** the type of Facet: form, key-value, image, rating-indicator */\n @Input()\n type: FacetType;\n\n /** The facet title.\n * For eg: for key-value facet, facetTitle is the key and the underlying object status or object number\n * component is the value.\n */\n @Input()\n facetTitle: string;\n\n /** An optional subtitle to display in the rating-indicator facet */\n @Input()\n subtitle: string;\n\n /**\n * Heading level of the facet title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /**\n * id for the facet\n */\n @Input()\n @HostBinding('attr.role')\n id = `fd-facet-id-${randomId++}`;\n\n /**\n * property that allows the facet to be aligned to the end of the facet group, right-aligned.\n */\n @Input()\n alignEnd = false;\n\n /** @hidden\n * the appropriate role for each facet type\n */\n @HostBinding('attr.role')\n get role(): string {\n return this.type !== 'image' ? 'group' : '';\n }\n\n /** @hidden\n * the appropriate aria-labelledby to associate with the role\n */\n @HostBinding('attr.aria-labelledby')\n get ariaLabelledby(): string {\n return this.type !== 'image' ? this.titleId : '';\n }\n\n /** @hidden */\n _headingLevel: number;\n\n /** @hidden\n * the internal id for the title to be associated with the aria-labelledby\n */\n titleId = `fd-facet-title-id-${randomTitleId++}`;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setupAdditionalStyles();\n this._addAlignmentModifier();\n }\n\n /**\n * @hidden\n * set up common styles and specific styles based on each facet type\n */\n private _setupAdditionalStyles(): void {\n if (!this.type) {\n return;\n }\n // add type modifier class to host\n this.elementRef.nativeElement.classList.add(`fd-facet--${this.type}`);\n\n // add margin end and bottom spacings\n this.elementRef.nativeElement.classList.add(`fd-margin-end--md`);\n if (this.type !== 'image') {\n // add bottom margin to non-image facets\n this.elementRef.nativeElement.classList.add(`fd-margin-bottom--sm`);\n }\n\n switch (this.type) {\n case 'image':\n // image should always be on the left\n this._setStyleToHostElement('order', '-1');\n break;\n case 'rating-indicator': {\n const ratingIndicatorComponent = this.elementRef.nativeElement.querySelector('.fd-rating-indicator');\n\n if (!ratingIndicatorComponent) {\n return;\n }\n this._addClassNameToCustomElement(ratingIndicatorComponent, FACET_CLASS_NAME.facetContainer);\n const ratingIndicatorContainer = ratingIndicatorComponent.querySelector(\n '.fd-rating-indicator__container'\n );\n if (!ratingIndicatorContainer) {\n return;\n }\n this._addClassNameToCustomElement(\n ratingIndicatorContainer,\n FACET_CLASS_NAME.facetRatingIndicatorContainer\n );\n\n const ratingIndicatorDynamicText = ratingIndicatorComponent.querySelector(\n '.fd-rating-indicator__dynamic-text'\n );\n if (!ratingIndicatorDynamicText) {\n return;\n }\n this._addClassNameToCustomElement(\n ratingIndicatorDynamicText,\n FACET_CLASS_NAME.facetRatingIndicatorDynamicText\n );\n this._addClassNameToCustomElement(ratingIndicatorDynamicText, FACET_CLASS_NAME.marginTopTiny);\n break;\n }\n case 'form': {\n const formFacetContainer = this.elementRef.nativeElement.querySelectorAll('.fd-facet__container');\n if (!formFacetContainer) {\n return;\n }\n formFacetContainer.forEach((container, index) => {\n if (index !== formFacetContainer.length - 1) {\n this._addClassNameToCustomElement(container, FACET_CLASS_NAME.marginBottomTiny);\n }\n // if icon+link is presented, add spacing to the icon\n const iconComponent = container.querySelector('fd-icon');\n if (!iconComponent) {\n return;\n }\n this._addClassNameToCustomElement(iconComponent, FACET_CLASS_NAME.marginEndTiny);\n });\n\n break;\n }\n case 'key-value': {\n // add class to object status\n const objectStatusComponent = this.elementRef.nativeElement.querySelector('.fd-object-status');\n if (!objectStatusComponent) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusComponent, FACET_CLASS_NAME.facetObjectStatus);\n\n // add class to override font-family value\n const objectStatusText = objectStatusComponent.querySelector('.fd-object-status__text');\n if (!objectStatusText) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusText, FACET_CLASS_NAME.facetObjectStatusText);\n\n // add spacing to object status icon, if present\n const objectStatusIcon = objectStatusComponent.querySelector('.fd-object-status__icon');\n if (!objectStatusIcon) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusIcon, FACET_CLASS_NAME.paddingNone);\n this._addClassNameToCustomElement(objectStatusIcon, FACET_CLASS_NAME.marginEndTiny);\n break;\n }\n default:\n break;\n }\n }\n\n /** @hidden\n * adds the logic for `alignEnd` modifier\n */\n private _addAlignmentModifier(): void {\n if (!this.alignEnd) {\n return;\n }\n addClassNameToFacetElement(this._renderer, this.elementRef.nativeElement, 'fd-facet-align-end');\n\n // add margins to the left after removing existing right margin\n this.elementRef.nativeElement.classList.remove(`fd-margin-end--md`);\n this.elementRef.nativeElement.classList.add(`fd-margin-begin--md`);\n }\n\n /** @hidden */\n private _setStyleToHostElement(attribute: string, value: any): void {\n this._renderer.setStyle(this.elementRef.nativeElement, attribute, value);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToFacetElement(this._renderer, element, className);\n }\n}\n","@if (type === 'image') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n} @else {\n @if (facetTitle) {\n <div\n [attr.role]=\"!!_headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"_headingLevel\"\n fd-title\n [headerSize]=\"5\"\n class=\"fd-margin-bottom--sm\"\n [id]=\"titleId\"\n >\n {{ facetTitle }}\n </div>\n }\n @if (type === 'form') {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n @if (type === 'key-value' || 'custom') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n }\n @if (type === 'rating-indicator') {\n <span fd-form-label>{{ subtitle }}</span>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n}\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { FacetContentComponent } from './content/facet-content.component';\nimport { FacetContainerComponent } from './facet-container.component';\nimport { FacetGroupComponent } from './facet-group.component';\nimport { FacetComponent } from './facet/facet.component';\n\nconst components = [FacetComponent, FacetGroupComponent, FacetContentComponent, FacetContainerComponent];\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FacetModule {}\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-core-facets.mjs","sources":["../../../../libs/core/facets/constants.ts","../../../../libs/core/facets/utils.ts","../../../../libs/core/facets/content/facet-content.component.ts","../../../../libs/core/facets/facet-container.component.ts","../../../../libs/core/facets/facet-group.component.ts","../../../../libs/core/facets/facet/facet.component.ts","../../../../libs/core/facets/facet/facet.component.html","../../../../libs/core/facets/facet.module.ts","../../../../libs/core/facets/fundamental-ngx-core-facets.ts"],"sourcesContent":["export const FACET_CLASS_NAME = {\n facetContainer: 'fd-facet__container',\n facetRatingIndicatorContainer: 'fd-facet__rating-container',\n facetRatingIndicatorDynamicText: 'fd-facet__rating-dynamic-text',\n facetObjectStatus: 'fd-facet__object-status',\n facetObjectStatusText: 'fd-facet__object-status-text',\n marginTopTiny: 'fd-margin-top--tiny',\n marginBottomTiny: 'fd-margin-bottom--tiny',\n marginEndTiny: 'fd-margin-end--tiny',\n paddingNone: 'fd-padding--none'\n} as const;\n\nexport type FacetType = 'form' | 'key-value' | 'image' | 'rating-indicator' | 'custom';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToFacetElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\nimport { FACET_CLASS_NAME } from '../constants';\nimport { addClassNameToFacetElement } from '../utils';\n\n@Component({\n selector: 'fd-facet-content',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class FacetContentComponent implements OnInit {\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(FACET_CLASS_NAME.facetContainer);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToFacetElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\nexport type ContainerFlexDirection = 'row' | 'row-reverse' | 'column' | 'column-reverse';\n\nexport type ContainerFlexJustify =\n | 'start'\n | 'center'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch';\n\nexport type ContainerFlexAlign =\n | 'start'\n | 'center'\n | 'end'\n | 'flex-start'\n | 'flex-end'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | 'self-start'\n | 'self-end'\n | 'baseline';\n\n@Component({\n selector: 'fd-facet-container',\n template: ` <ng-content></ng-content> `,\n styleUrl: './facet-container.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet-container]': 'true',\n '[style.gap.rem]': 'flexGap()',\n '[style.flex-direction]': 'flexDirection()',\n '[style.align-items]': 'alignItems()',\n '[style.justify-content]': 'justifyContent()'\n },\n standalone: true\n})\nexport class FacetContainerComponent {\n /**\n * Value for the direction of the flex container.\n * Possible values: 'row' | 'row-reverse' | 'column' | 'column-reverse'\n * Default: 'column'\n */\n flexDirection = input<ContainerFlexDirection>('column');\n\n /**\n * Value for align-items of the flex container.\n * Possible values:\n * 'start', 'center', 'end', 'flex-start', 'flex-end', 'space-between', 'space-around',\n * 'space-evenly', 'stretch', 'self-start', 'self-end', 'baseline'\n * Default: 'start'\n */\n alignItems = input<ContainerFlexJustify>('start');\n\n /**\n * Value for justify-content of the flex container.\n * Possible values:\n * 'start', 'center', 'end', 'flex-start', 'flex-end', 'space-between', 'space-around',\n * 'space-evenly', 'stretch'\n * Default: 'start'\n */\n justifyContent = input<ContainerFlexAlign>('start');\n\n /**\n * Value for the flex container gap in rem.\n * An integer number\n * Default: 1\n */\n flexGap = input(1);\n}\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fd-facet-group',\n template: ` <ng-content select=\"fd-facet\"></ng-content> `,\n styleUrl: './facet-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet-group]': 'true',\n '[attr.aria-label]': 'ariaLabel',\n role: 'group'\n },\n standalone: true\n})\nexport class FacetGroupComponent {\n /**\n * the aria label for the facet group\n */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormLabelComponent } from '@fundamental-ngx/core/form';\nimport { HeadingLevel } from '@fundamental-ngx/core/shared';\nimport { TitleComponent } from '@fundamental-ngx/core/title';\nimport { FACET_CLASS_NAME, FacetType } from '../constants';\nimport { addClassNameToFacetElement } from '../utils';\n\nlet randomId = 0;\nlet randomTitleId = 0;\n\n@Component({\n selector: 'fd-facet',\n templateUrl: './facet.component.html',\n styleUrl: './facet.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class.fd-facet]': 'true'\n },\n imports: [NgTemplateOutlet, TitleComponent, FormLabelComponent]\n})\nexport class FacetComponent implements AfterViewInit {\n /** the type of Facet: form, key-value, image, rating-indicator */\n @Input()\n type: FacetType;\n\n /** The facet title.\n * For eg: for key-value facet, facetTitle is the key and the underlying object status or object number\n * component is the value.\n */\n @Input()\n facetTitle: string;\n\n /** An optional subtitle to display in the rating-indicator facet */\n @Input()\n subtitle: string;\n\n /**\n * Heading level of the facet title.\n */\n @Input()\n set headingLevel(level: Nullable<HeadingLevel>) {\n if (typeof level === 'number') {\n this._headingLevel = level;\n } else if (typeof level === 'string') {\n this._headingLevel = Number.parseInt(level.replace(/\\D/g, ''), 10);\n }\n }\n\n /**\n * id for the facet\n */\n @Input()\n @HostBinding('attr.role')\n id = `fd-facet-id-${randomId++}`;\n\n /**\n * property that allows the facet to be aligned to the end of the facet group, right-aligned.\n */\n @Input()\n alignEnd = false;\n\n /** @hidden\n * the appropriate role for each facet type\n */\n @HostBinding('attr.role')\n get role(): string {\n return this.type !== 'image' ? 'group' : '';\n }\n\n /** @hidden\n * the appropriate aria-labelledby to associate with the role\n */\n @HostBinding('attr.aria-labelledby')\n get ariaLabelledby(): string {\n return this.type !== 'image' ? this.titleId : '';\n }\n\n /** @hidden */\n _headingLevel: number;\n\n /** @hidden\n * the internal id for the title to be associated with the aria-labelledby\n */\n titleId = `fd-facet-title-id-${randomTitleId++}`;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._setupAdditionalStyles();\n this._addAlignmentModifier();\n }\n\n /**\n * @hidden\n * set up common styles and specific styles based on each facet type\n */\n private _setupAdditionalStyles(): void {\n if (!this.type) {\n return;\n }\n // add type modifier class to host\n this.elementRef.nativeElement.classList.add(`fd-facet--${this.type}`);\n\n // add margin end and bottom spacings\n this.elementRef.nativeElement.classList.add(`fd-margin-end--md`);\n if (this.type !== 'image') {\n // add bottom margin to non-image facets\n this.elementRef.nativeElement.classList.add(`fd-margin-bottom--sm`);\n }\n\n switch (this.type) {\n case 'image':\n // image should always be on the left\n this._setStyleToHostElement('order', '-1');\n break;\n case 'rating-indicator': {\n const ratingIndicatorComponent = this.elementRef.nativeElement.querySelector('.fd-rating-indicator');\n\n if (!ratingIndicatorComponent) {\n return;\n }\n this._addClassNameToCustomElement(ratingIndicatorComponent, FACET_CLASS_NAME.facetContainer);\n const ratingIndicatorContainer = ratingIndicatorComponent.querySelector(\n '.fd-rating-indicator__container'\n );\n if (!ratingIndicatorContainer) {\n return;\n }\n this._addClassNameToCustomElement(\n ratingIndicatorContainer,\n FACET_CLASS_NAME.facetRatingIndicatorContainer\n );\n\n const ratingIndicatorDynamicText = ratingIndicatorComponent.querySelector(\n '.fd-rating-indicator__dynamic-text'\n );\n if (!ratingIndicatorDynamicText) {\n return;\n }\n this._addClassNameToCustomElement(\n ratingIndicatorDynamicText,\n FACET_CLASS_NAME.facetRatingIndicatorDynamicText\n );\n this._addClassNameToCustomElement(ratingIndicatorDynamicText, FACET_CLASS_NAME.marginTopTiny);\n break;\n }\n case 'form': {\n const formFacetContainer = this.elementRef.nativeElement.querySelectorAll('.fd-facet__container');\n if (!formFacetContainer) {\n return;\n }\n formFacetContainer.forEach((container, index) => {\n if (index !== formFacetContainer.length - 1) {\n this._addClassNameToCustomElement(container, FACET_CLASS_NAME.marginBottomTiny);\n }\n // if icon+link is presented, add spacing to the icon\n const iconComponent = container.querySelector('fd-icon');\n if (!iconComponent) {\n return;\n }\n this._addClassNameToCustomElement(iconComponent, FACET_CLASS_NAME.marginEndTiny);\n });\n\n break;\n }\n case 'key-value': {\n // add class to object status\n const objectStatusComponent = this.elementRef.nativeElement.querySelector('.fd-object-status');\n if (!objectStatusComponent) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusComponent, FACET_CLASS_NAME.facetObjectStatus);\n\n // add class to override font-family value\n const objectStatusText = objectStatusComponent.querySelector('.fd-object-status__text');\n if (!objectStatusText) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusText, FACET_CLASS_NAME.facetObjectStatusText);\n\n // add spacing to object status icon, if present\n const objectStatusIcon = objectStatusComponent.querySelector('.fd-object-status__icon');\n if (!objectStatusIcon) {\n return;\n }\n this._addClassNameToCustomElement(objectStatusIcon, FACET_CLASS_NAME.paddingNone);\n this._addClassNameToCustomElement(objectStatusIcon, FACET_CLASS_NAME.marginEndTiny);\n break;\n }\n default:\n break;\n }\n }\n\n /** @hidden\n * adds the logic for `alignEnd` modifier\n */\n private _addAlignmentModifier(): void {\n if (!this.alignEnd) {\n return;\n }\n addClassNameToFacetElement(this._renderer, this.elementRef.nativeElement, 'fd-facet-align-end');\n\n // add margins to the left after removing existing right margin\n this.elementRef.nativeElement.classList.remove(`fd-margin-end--md`);\n this.elementRef.nativeElement.classList.add(`fd-margin-begin--md`);\n }\n\n /** @hidden */\n private _setStyleToHostElement(attribute: string, value: any): void {\n this._renderer.setStyle(this.elementRef.nativeElement, attribute, value);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToFacetElement(this._renderer, element, className);\n }\n}\n","@if (type === 'image') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n} @else {\n @if (facetTitle) {\n <div\n [attr.role]=\"!!_headingLevel ? 'heading' : null\"\n [attr.aria-level]=\"_headingLevel\"\n fd-title\n [headerSize]=\"5\"\n class=\"fd-margin-bottom--sm\"\n [id]=\"titleId\"\n >\n {{ facetTitle }}\n </div>\n }\n @if (type === 'form') {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n @if (type === 'key-value' || 'custom') {\n <ng-template [ngTemplateOutlet]=\"customContentTemplate\"></ng-template>\n }\n @if (type === 'rating-indicator') {\n <span fd-form-label>{{ subtitle }}</span>\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n}\n<ng-template #contentTemplate>\n <ng-content select=\"fd-facet-content\"></ng-content>\n</ng-template>\n<ng-template #customContentTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { FacetContentComponent } from './content/facet-content.component';\nimport { FacetContainerComponent } from './facet-container.component';\nimport { FacetGroupComponent } from './facet-group.component';\nimport { FacetComponent } from './facet/facet.component';\n\nconst components = [FacetComponent, FacetGroupComponent, FacetContentComponent, FacetContainerComponent];\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class FacetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, EventEmitter, Input, Output, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, EventEmitter, signal, Input, Output, ContentChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
  import { NgTemplateOutlet } from '@angular/common';
4
4
  import { ButtonComponent } from '@fundamental-ngx/core/button';
5
5
  import { ContentDensityDirective } from '@fundamental-ngx/core/content-density';
@@ -47,14 +47,6 @@ class FlexibleColumnLayoutComponent {
47
47
  * The default is set to 'solid'
48
48
  */
49
49
  this.backgroundDesign = 'solid';
50
- /**
51
- * The layout of the component
52
- * Options include: 'OneColumnStartFullScreen' | 'OneColumnMidFullScreen' |
53
- * 'OneColumnEndFullScreen' | 'TwoColumnsStartExpanded' | 'TwoColumnsMidExpanded' |
54
- * 'TwoColumnsEndExpanded' | 'ThreeColumnsMidExpanded' | 'ThreeColumnsEndExpanded' |
55
- * 'ThreeColumnsStartMinimized' | 'ThreeColumnsEndMinimized'
56
- */
57
- this.layout = ONE_COLUMN_START_FULL_SCREEN;
58
50
  /**
59
51
  * Mapping of the layout name and the column layout in %
60
52
  */
@@ -80,7 +72,8 @@ class FlexibleColumnLayoutComponent {
80
72
  * if the separator is visible
81
73
  * Options include: 'left', 'right' and null
82
74
  */
83
- this._leftColumnSeparator = null;
75
+ this._leftColumnSeparator = signal(null, /* @ts-ignore */
76
+ ...(ngDevMode ? [{ debugName: "_leftColumnSeparator" }] : /* istanbul ignore next */ []));
84
77
  /**
85
78
  * @hidden
86
79
  * right column separator value (between middle and end columns)
@@ -88,13 +81,18 @@ class FlexibleColumnLayoutComponent {
88
81
  * if the separator is visible
89
82
  * Options include: 'left', 'right' and null
90
83
  */
91
- this._rightColumnSeparator = null;
84
+ this._rightColumnSeparator = signal(null, /* @ts-ignore */
85
+ ...(ngDevMode ? [{ debugName: "_rightColumnSeparator" }] : /* istanbul ignore next */ []));
92
86
  /**
93
87
  * @hidden
94
88
  * the column layout representing the distribution of the width
95
89
  * between the first (start), the middle and the last(end) column
96
90
  */
97
- this._columnLayout = this.layoutDefinitions[this.layout];
91
+ this._columnLayout = signal(this.layoutDefinitions[ONE_COLUMN_START_FULL_SCREEN], /* @ts-ignore */
92
+ ...(ngDevMode ? [{ debugName: "_columnLayout" }] : /* istanbul ignore next */ []));
93
+ /** @hidden */
94
+ this._layout = signal(ONE_COLUMN_START_FULL_SCREEN, /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "_layout" }] : /* istanbul ignore next */ []));
98
96
  /**
99
97
  * @hidden
100
98
  * allows to keep track of the previos layout
@@ -113,6 +111,19 @@ class FlexibleColumnLayoutComponent {
113
111
  */
114
112
  this._responsiveFullscreenLayout = false;
115
113
  }
114
+ /**
115
+ * The layout of the component
116
+ * Options include: 'OneColumnStartFullScreen' | 'OneColumnMidFullScreen' |
117
+ * 'OneColumnEndFullScreen' | 'TwoColumnsStartExpanded' | 'TwoColumnsMidExpanded' |
118
+ * 'TwoColumnsEndExpanded' | 'ThreeColumnsMidExpanded' | 'ThreeColumnsEndExpanded' |
119
+ * 'ThreeColumnsStartMinimized' | 'ThreeColumnsEndMinimized'
120
+ */
121
+ set layout(value) {
122
+ this._layout.set(value);
123
+ }
124
+ get layout() {
125
+ return this._layout();
126
+ }
116
127
  /**
117
128
  * @hidden
118
129
  * function that handles the click events on the left separator
@@ -336,9 +347,9 @@ class FlexibleColumnLayoutComponent {
336
347
  * makes a call to determine the new value of the right separator
337
348
  */
338
349
  _updateColumnLayoutParameters() {
339
- this._columnLayout = this.layoutDefinitions[this.layout];
340
- this._leftColumnSeparator = this._getLeftColumnSeparatorValue();
341
- this._rightColumnSeparator = this._getRightColumnSeparatorValue();
350
+ this._columnLayout.set(this.layoutDefinitions[this.layout]);
351
+ this._leftColumnSeparator.set(this._getLeftColumnSeparatorValue());
352
+ this._rightColumnSeparator.set(this._getRightColumnSeparatorValue());
342
353
  }
343
354
  /**
344
355
  * @hidden
@@ -360,7 +371,7 @@ class FlexibleColumnLayoutComponent {
360
371
  provide: FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,
361
372
  useExisting: FlexibleColumnLayoutComponent
362
373
  }
363
- ], queries: [{ propertyName: "startColumn", first: true, predicate: ["startColumn"], descendants: true }, { propertyName: "midColumn", first: true, predicate: ["midColumn"], descendants: true }, { propertyName: "endColumn", first: true, predicate: ["endColumn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator ? 'slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator ? 'slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n", styles: [".fd-flexible-column-layout{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);min-width:1rem;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translate(-50%);-webkit-transition:all .1s ease-in;transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:-webkit-gradient(linear,left bottom,left top,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:-webkit-gradient(linear,left top,left bottom,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{height:2rem;min-width:1.5rem;width:1.5rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:50%;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:2}.fd-flexible-column-layout__column{border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-width:20rem;padding-block:0;padding-inline:0;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column.is-first-child,.fd-flexible-column-layout__column:first-child{border-left:none}.fd-flexible-column-layout__column.is-last-child,.fd-flexible-column-layout__column:last-child{border-right:none}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n/*! Bundled license information:\n\nfundamental-styles/dist/flexible-column-layout.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
374
+ ], queries: [{ propertyName: "startColumn", first: true, predicate: ["startColumn"], descendants: true }, { propertyName: "midColumn", first: true, predicate: ["midColumn"], descendants: true }, { propertyName: "endColumn", first: true, predicate: ["endColumn"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().start\"\n [style.visibility]=\"_columnLayout().start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator() ? 'slim-arrow-' + _leftColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().mid\"\n [style.visibility]=\"_columnLayout().mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator() ? 'slim-arrow-' + _rightColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().end\"\n [style.visibility]=\"_columnLayout().end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.fd-flexible-column-layout{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);min-width:1rem;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translate(-50%);-webkit-transition:all .1s ease-in;transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:-webkit-gradient(linear,left bottom,left top,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:-webkit-gradient(linear,left top,left bottom,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{height:2rem;min-width:1.5rem;width:1.5rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:50%;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:2}.fd-flexible-column-layout__column{border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-width:20rem;padding-block:0;padding-inline:0;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column.is-first-child,.fd-flexible-column-layout__column:first-child{border-left:none}.fd-flexible-column-layout__column.is-last-child,.fd-flexible-column-layout__column:last-child{border-right:none}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-col,.fd-container,.fd-row{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-col:after,.fd-col:before,.fd-container:after,.fd-container:before,.fd-row:after,.fd-row:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;padding-block:0;padding-inline:.25rem;position:relative}.fd-container .fd-row{margin-inline:-.25rem;min-width:calc(100% + .5rem)}.fd-container>.fd-row>.fd-col{padding-block:.25rem}.fd-container.fd-container--no-gap .fd-row,.fd-container.fd-container--no-horizontal-gap .fd-row{margin-inline:0}.fd-container.fd-container--no-gap .fd-row .fd-col,.fd-container.fd-container--no-horizontal-gap .fd-row .fd-col{padding-inline:0}.fd-container.fd-container--no-gap>.fd-row>.fd-col,.fd-container.fd-container--no-vertical-gap>.fd-row>.fd-col{padding-block:0}.fd-container[dir=rtl],[dir=rtl] .fd-container{direction:rtl}.fd-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;position:relative}.fd-col{max-width:100%;min-width:100%;padding-inline:.25rem}.fd-col--0{max-width:0;min-width:0%}.fd-col--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col--3{max-width:25%;min-width:25%}.fd-col--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col--6{max-width:50%;min-width:50%}.fd-col--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col--9{max-width:75%;min-width:75%}.fd-col--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col--12{max-width:100%;min-width:100%}.fd-col--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}.fd-col--full{max-width:none;min-width:8.3333333333%;-webkit-box-flex:1;-ms-flex:1;flex:1}.fd-col--wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}@media(width>=600px){.fd-container{padding-block:0;padding-inline:.5rem}.fd-container .fd-row{margin-inline:-.5rem;min-width:calc(100% + 1rem)}.fd-container>.fd-row>.fd-col{padding-block:.5rem}.fd-col{padding-inline:.5rem}.fd-col-md--0{max-width:0;min-width:0%}.fd-col-md--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-md--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-md--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-md--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-md--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-md--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-md--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-md--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-md--3{max-width:25%;min-width:25%}.fd-col-md--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-md--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-md--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-md--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-md--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-md--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-md--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-md--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-md--6{max-width:50%;min-width:50%}.fd-col-md--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-md--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-md--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-md--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-md--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-md--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-md--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-md--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-md--9{max-width:75%;min-width:75%}.fd-col-md--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-md--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-md--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-md--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-md--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-md--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-md--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-md--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-md--12{max-width:100%;min-width:100%}.fd-col-md--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-md--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}@media(width>=1024px){.fd-col-lg--0{max-width:0;min-width:0%}.fd-col-lg--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-lg--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-lg--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-lg--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-lg--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-lg--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-lg--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-lg--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-lg--3{max-width:25%;min-width:25%}.fd-col-lg--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-lg--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-lg--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-lg--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-lg--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-lg--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-lg--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-lg--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-lg--6{max-width:50%;min-width:50%}.fd-col-lg--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-lg--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-lg--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-lg--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-lg--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-lg--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-lg--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-lg--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-lg--9{max-width:75%;min-width:75%}.fd-col-lg--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-lg--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-lg--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-lg--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-lg--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-lg--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-lg--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-lg--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-lg--12{max-width:100%;min-width:100%}.fd-col-lg--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-lg--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}@media(width>=1440px){.fd-col-xl--0{max-width:0;min-width:0%}.fd-col-xl--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-xl--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-xl--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-xl--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-xl--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-xl--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-xl--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-xl--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-xl--3{max-width:25%;min-width:25%}.fd-col-xl--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-xl--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-xl--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-xl--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-xl--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-xl--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-xl--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-xl--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-xl--6{max-width:50%;min-width:50%}.fd-col-xl--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-xl--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-xl--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-xl--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-xl--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-xl--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-xl--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-xl--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-xl--9{max-width:75%;min-width:75%}.fd-col-xl--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-xl--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-xl--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-xl--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-xl--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-xl--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-xl--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-xl--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-xl--12{max-width:100%;min-width:100%}.fd-col-xl--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-xl--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden;min-width:0;container-type:inline-size}@container (max-width: 599px){.fd-col-md--1,.fd-col-lg--1,.fd-col-xl--1,.fd-col-md--2,.fd-col-lg--2,.fd-col-xl--2,.fd-col-md--3,.fd-col-lg--3,.fd-col-xl--3,.fd-col-md--4,.fd-col-lg--4,.fd-col-xl--4,.fd-col-md--5,.fd-col-lg--5,.fd-col-xl--5,.fd-col-md--6,.fd-col-lg--6,.fd-col-xl--6,.fd-col-md--7,.fd-col-lg--7,.fd-col-xl--7,.fd-col-md--8,.fd-col-lg--8,.fd-col-xl--8,.fd-col-md--9,.fd-col-lg--9,.fd-col-xl--9,.fd-col-md--10,.fd-col-lg--10,.fd-col-xl--10,.fd-col-md--11,.fd-col-lg--11,.fd-col-xl--11,.fd-col-md--12,.fd-col-lg--12,.fd-col-xl--12{max-width:100%!important;min-width:100%!important}}@container (min-width: 600px) and (max-width: 1023px){.fd-col-lg--1,.fd-col-xl--1{max-width:8.3333333333%!important;min-width:8.3333333333%!important}.fd-col-lg--2,.fd-col-xl--2{max-width:16.6666666667%!important;min-width:16.6666666667%!important}.fd-col-lg--3,.fd-col-xl--3{max-width:25%!important;min-width:25%!important}.fd-col-lg--4,.fd-col-xl--4{max-width:33.3333333333%!important;min-width:33.3333333333%!important}.fd-col-lg--5,.fd-col-xl--5{max-width:41.6666666667%!important;min-width:41.6666666667%!important}.fd-col-lg--6,.fd-col-xl--6{max-width:50%!important;min-width:50%!important}.fd-col-lg--7,.fd-col-xl--7{max-width:58.3333333333%!important;min-width:58.3333333333%!important}.fd-col-lg--8,.fd-col-xl--8{max-width:66.6666666667%!important;min-width:66.6666666667%!important}.fd-col-lg--9,.fd-col-xl--9{max-width:75%!important;min-width:75%!important}.fd-col-lg--10,.fd-col-xl--10{max-width:83.3333333333%!important;min-width:83.3333333333%!important}.fd-col-lg--11,.fd-col-xl--11{max-width:91.6666666667%!important;min-width:91.6666666667%!important}.fd-col-lg--12,.fd-col-xl--12{max-width:100%!important;min-width:100%!important}.fd-col-md--1{max-width:8.3333333333%!important;min-width:8.3333333333%!important}.fd-col-md--2{max-width:16.6666666667%!important;min-width:16.6666666667%!important}.fd-col-md--3{max-width:25%!important;min-width:25%!important}.fd-col-md--4{max-width:33.3333333333%!important;min-width:33.3333333333%!important}.fd-col-md--5{max-width:41.6666666667%!important;min-width:41.6666666667%!important}.fd-col-md--6{max-width:50%!important;min-width:50%!important}.fd-col-md--7{max-width:58.3333333333%!important;min-width:58.3333333333%!important}.fd-col-md--8{max-width:66.6666666667%!important;min-width:66.6666666667%!important}.fd-col-md--9{max-width:75%!important;min-width:75%!important}.fd-col-md--10{max-width:83.3333333333%!important;min-width:83.3333333333%!important}.fd-col-md--11{max-width:91.6666666667%!important;min-width:91.6666666667%!important}.fd-col-md--12{max-width:100%!important;min-width:100%!important}}\n/*! Bundled license information:\n\nfundamental-styles/dist/layout-grid.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }, { kind: "directive", type: ContentDensityDirective, selector: "[fdContentDensity]:not([fdCompact]):not([fdCondensed]):not([fdCozy]), [fdCompact]:not([fdContentDensity]):not([fdCondensed]):not([fdCozy]), [fdCondensed]:not([fdContentDensity]):not([fdCompact]):not([fdCozy]), [fdCozy]:not([fdContentDensity]):not([fdCompact]):not([fdCondensed])", inputs: ["fdContentDensity", "fdCompact", "fdCondensed", "fdCozy"], exportAs: ["fdContentDensity"] }, { kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "size", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
364
375
  }
365
376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: FlexibleColumnLayoutComponent, decorators: [{
366
377
  type: Component,
@@ -369,7 +380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
369
380
  provide: FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,
370
381
  useExisting: FlexibleColumnLayoutComponent
371
382
  }
372
- ], imports: [NgTemplateOutlet, ButtonComponent, ContentDensityDirective, IconComponent], template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator ? 'slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator ? 'slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n", styles: [".fd-flexible-column-layout{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);min-width:1rem;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translate(-50%);-webkit-transition:all .1s ease-in;transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:-webkit-gradient(linear,left bottom,left top,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:-webkit-gradient(linear,left top,left bottom,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{height:2rem;min-width:1.5rem;width:1.5rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:50%;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:2}.fd-flexible-column-layout__column{border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-width:20rem;padding-block:0;padding-inline:0;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column.is-first-child,.fd-flexible-column-layout__column:first-child{border-left:none}.fd-flexible-column-layout__column.is-last-child,.fd-flexible-column-layout__column:last-child{border-right:none}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden}.fd-flexible-column-layout__column{min-width:0}\n/*! Bundled license information:\n\nfundamental-styles/dist/flexible-column-layout.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
383
+ ], imports: [NgTemplateOutlet, ButtonComponent, ContentDensityDirective, IconComponent], template: "<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().start\"\n [style.visibility]=\"_columnLayout().start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator() ? 'slim-arrow-' + _leftColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().mid\"\n [style.visibility]=\"_columnLayout().mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator() ? 'slim-arrow-' + _rightColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().end\"\n [style.visibility]=\"_columnLayout().end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.fd-flexible-column-layout{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.fd-flexible-column-layout:after,.fd-flexible-column-layout:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__separator{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdFlexibleColumnLayout_Background_Solid);min-width:1rem;position:relative;width:1rem}.fd-flexible-column-layout__separator:after,.fd-flexible-column-layout__separator:before{-webkit-box-sizing:inherit;box-sizing:inherit;content:\"\";display:block;font-size:inherit;height:4rem;left:50%;position:absolute;-webkit-transform:translateX(-50%);transform:translate(-50%);-webkit-transition:all .1s ease-in;transition:all .1s ease-in;width:.0625rem}.fd-flexible-column-layout__separator:before{background-image:-webkit-gradient(linear,left bottom,left top,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to top,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);bottom:calc(50% + 1rem)}.fd-flexible-column-layout__separator:after{background-image:-webkit-gradient(linear,left top,left bottom,from(var(--fdFlexibleColumnLayout_Toggle_Image_Color)),to(transparent));background-image:linear-gradient(to bottom,var(--fdFlexibleColumnLayout_Toggle_Image_Color),transparent);top:calc(50% + 1rem)}.fd-flexible-column-layout__separator.is-hover:after,.fd-flexible-column-layout__separator.is-hover:before,.fd-flexible-column-layout__separator:hover:after,.fd-flexible-column-layout__separator:hover:before{height:7rem}.fd-flexible-column-layout .fd-flexible-column-layout__button{height:2rem;min-width:1.5rem;width:1.5rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;left:50%;padding-block:0;padding-inline:0;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:2}.fd-flexible-column-layout__column{border:0;border-left:var(--fdFlexibleColumnLayout_Border);border-right:var(--fdFlexibleColumnLayout_Border);-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;min-width:20rem;padding-block:0;padding-inline:0;-webkit-transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in;transition:width .56s cubic-bezier(.1,0,.05,1),visibility .56s ease-in}.fd-flexible-column-layout__column:after,.fd-flexible-column-layout__column:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-flexible-column-layout__column.is-first-child,.fd-flexible-column-layout__column:first-child{border-left:none}.fd-flexible-column-layout__column.is-last-child,.fd-flexible-column-layout__column:last-child{border-right:none}.fd-flexible-column-layout__column--hidden{border:none;min-width:0}.fd-flexible-column-layout--translucent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Translucent)}.fd-flexible-column-layout--transparent .fd-flexible-column-layout__separator{background-color:var(--fdFlexibleColumnLayout_Background_Transparent)}.fd-col,.fd-container,.fd-row{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-col:after,.fd-col:before,.fd-container:after,.fd-container:before,.fd-row:after,.fd-row:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;padding-block:0;padding-inline:.25rem;position:relative}.fd-container .fd-row{margin-inline:-.25rem;min-width:calc(100% + .5rem)}.fd-container>.fd-row>.fd-col{padding-block:.25rem}.fd-container.fd-container--no-gap .fd-row,.fd-container.fd-container--no-horizontal-gap .fd-row{margin-inline:0}.fd-container.fd-container--no-gap .fd-row .fd-col,.fd-container.fd-container--no-horizontal-gap .fd-row .fd-col{padding-inline:0}.fd-container.fd-container--no-gap>.fd-row>.fd-col,.fd-container.fd-container--no-vertical-gap>.fd-row>.fd-col{padding-block:0}.fd-container[dir=rtl],[dir=rtl] .fd-container{direction:rtl}.fd-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;min-width:100%;position:relative}.fd-col{max-width:100%;min-width:100%;padding-inline:.25rem}.fd-col--0{max-width:0;min-width:0%}.fd-col--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col--3{max-width:25%;min-width:25%}.fd-col--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col--6{max-width:50%;min-width:50%}.fd-col--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col--9{max-width:75%;min-width:75%}.fd-col--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col--12{max-width:100%;min-width:100%}.fd-col--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}.fd-col--full{max-width:none;min-width:8.3333333333%;-webkit-box-flex:1;-ms-flex:1;flex:1}.fd-col--wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}@media(width>=600px){.fd-container{padding-block:0;padding-inline:.5rem}.fd-container .fd-row{margin-inline:-.5rem;min-width:calc(100% + 1rem)}.fd-container>.fd-row>.fd-col{padding-block:.5rem}.fd-col{padding-inline:.5rem}.fd-col-md--0{max-width:0;min-width:0%}.fd-col-md--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-md--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-md--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-md--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-md--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-md--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-md--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-md--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-md--3{max-width:25%;min-width:25%}.fd-col-md--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-md--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-md--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-md--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-md--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-md--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-md--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-md--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-md--6{max-width:50%;min-width:50%}.fd-col-md--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-md--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-md--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-md--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-md--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-md--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-md--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-md--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-md--9{max-width:75%;min-width:75%}.fd-col-md--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-md--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-md--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-md--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-md--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-md--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-md--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-md--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-md--12{max-width:100%;min-width:100%}.fd-col-md--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-md--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}@media(width>=1024px){.fd-col-lg--0{max-width:0;min-width:0%}.fd-col-lg--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-lg--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-lg--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-lg--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-lg--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-lg--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-lg--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-lg--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-lg--3{max-width:25%;min-width:25%}.fd-col-lg--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-lg--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-lg--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-lg--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-lg--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-lg--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-lg--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-lg--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-lg--6{max-width:50%;min-width:50%}.fd-col-lg--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-lg--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-lg--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-lg--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-lg--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-lg--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-lg--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-lg--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-lg--9{max-width:75%;min-width:75%}.fd-col-lg--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-lg--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-lg--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-lg--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-lg--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-lg--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-lg--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-lg--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-lg--12{max-width:100%;min-width:100%}.fd-col-lg--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-lg--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}@media(width>=1440px){.fd-col-xl--0{max-width:0;min-width:0%}.fd-col-xl--offset-0{-webkit-margin-start:0;margin-inline-start:0}.fd-col-xl--offset-after-0{-webkit-margin-end:0;margin-inline-end:0}.fd-col-xl--1{max-width:8.3333333333%;min-width:8.3333333333%}.fd-col-xl--offset-1{-webkit-margin-start:8.3333333333%;margin-inline-start:8.3333333333%}.fd-col-xl--offset-after-1{-webkit-margin-end:8.3333333333%;margin-inline-end:8.3333333333%}.fd-col-xl--2{max-width:16.6666666667%;min-width:16.6666666667%}.fd-col-xl--offset-2{-webkit-margin-start:16.6666666667%;margin-inline-start:16.6666666667%}.fd-col-xl--offset-after-2{-webkit-margin-end:16.6666666667%;margin-inline-end:16.6666666667%}.fd-col-xl--3{max-width:25%;min-width:25%}.fd-col-xl--offset-3{-webkit-margin-start:25%;margin-inline-start:25%}.fd-col-xl--offset-after-3{-webkit-margin-end:25%;margin-inline-end:25%}.fd-col-xl--4{max-width:33.3333333333%;min-width:33.3333333333%}.fd-col-xl--offset-4{-webkit-margin-start:33.3333333333%;margin-inline-start:33.3333333333%}.fd-col-xl--offset-after-4{-webkit-margin-end:33.3333333333%;margin-inline-end:33.3333333333%}.fd-col-xl--5{max-width:41.6666666667%;min-width:41.6666666667%}.fd-col-xl--offset-5{-webkit-margin-start:41.6666666667%;margin-inline-start:41.6666666667%}.fd-col-xl--offset-after-5{-webkit-margin-end:41.6666666667%;margin-inline-end:41.6666666667%}.fd-col-xl--6{max-width:50%;min-width:50%}.fd-col-xl--offset-6{-webkit-margin-start:50%;margin-inline-start:50%}.fd-col-xl--offset-after-6{-webkit-margin-end:50%;margin-inline-end:50%}.fd-col-xl--7{max-width:58.3333333333%;min-width:58.3333333333%}.fd-col-xl--offset-7{-webkit-margin-start:58.3333333333%;margin-inline-start:58.3333333333%}.fd-col-xl--offset-after-7{-webkit-margin-end:58.3333333333%;margin-inline-end:58.3333333333%}.fd-col-xl--8{max-width:66.6666666667%;min-width:66.6666666667%}.fd-col-xl--offset-8{-webkit-margin-start:66.6666666667%;margin-inline-start:66.6666666667%}.fd-col-xl--offset-after-8{-webkit-margin-end:66.6666666667%;margin-inline-end:66.6666666667%}.fd-col-xl--9{max-width:75%;min-width:75%}.fd-col-xl--offset-9{-webkit-margin-start:75%;margin-inline-start:75%}.fd-col-xl--offset-after-9{-webkit-margin-end:75%;margin-inline-end:75%}.fd-col-xl--10{max-width:83.3333333333%;min-width:83.3333333333%}.fd-col-xl--offset-10{-webkit-margin-start:83.3333333333%;margin-inline-start:83.3333333333%}.fd-col-xl--offset-after-10{-webkit-margin-end:83.3333333333%;margin-inline-end:83.3333333333%}.fd-col-xl--11{max-width:91.6666666667%;min-width:91.6666666667%}.fd-col-xl--offset-11{-webkit-margin-start:91.6666666667%;margin-inline-start:91.6666666667%}.fd-col-xl--offset-after-11{-webkit-margin-end:91.6666666667%;margin-inline-end:91.6666666667%}.fd-col-xl--12{max-width:100%;min-width:100%}.fd-col-xl--offset-12{-webkit-margin-start:100%;margin-inline-start:100%}.fd-col-xl--offset-after-12{-webkit-margin-end:100%;margin-inline-end:100%}}.fd-button.fd-flexible-column-layout__button{z-index:1}.fd-flexible-column-layout__column{transition:width .56s cubic-bezier(.1,0,.05,1),visibility .1s ease-in;overflow:hidden;min-width:0;container-type:inline-size}@container (max-width: 599px){.fd-col-md--1,.fd-col-lg--1,.fd-col-xl--1,.fd-col-md--2,.fd-col-lg--2,.fd-col-xl--2,.fd-col-md--3,.fd-col-lg--3,.fd-col-xl--3,.fd-col-md--4,.fd-col-lg--4,.fd-col-xl--4,.fd-col-md--5,.fd-col-lg--5,.fd-col-xl--5,.fd-col-md--6,.fd-col-lg--6,.fd-col-xl--6,.fd-col-md--7,.fd-col-lg--7,.fd-col-xl--7,.fd-col-md--8,.fd-col-lg--8,.fd-col-xl--8,.fd-col-md--9,.fd-col-lg--9,.fd-col-xl--9,.fd-col-md--10,.fd-col-lg--10,.fd-col-xl--10,.fd-col-md--11,.fd-col-lg--11,.fd-col-xl--11,.fd-col-md--12,.fd-col-lg--12,.fd-col-xl--12{max-width:100%!important;min-width:100%!important}}@container (min-width: 600px) and (max-width: 1023px){.fd-col-lg--1,.fd-col-xl--1{max-width:8.3333333333%!important;min-width:8.3333333333%!important}.fd-col-lg--2,.fd-col-xl--2{max-width:16.6666666667%!important;min-width:16.6666666667%!important}.fd-col-lg--3,.fd-col-xl--3{max-width:25%!important;min-width:25%!important}.fd-col-lg--4,.fd-col-xl--4{max-width:33.3333333333%!important;min-width:33.3333333333%!important}.fd-col-lg--5,.fd-col-xl--5{max-width:41.6666666667%!important;min-width:41.6666666667%!important}.fd-col-lg--6,.fd-col-xl--6{max-width:50%!important;min-width:50%!important}.fd-col-lg--7,.fd-col-xl--7{max-width:58.3333333333%!important;min-width:58.3333333333%!important}.fd-col-lg--8,.fd-col-xl--8{max-width:66.6666666667%!important;min-width:66.6666666667%!important}.fd-col-lg--9,.fd-col-xl--9{max-width:75%!important;min-width:75%!important}.fd-col-lg--10,.fd-col-xl--10{max-width:83.3333333333%!important;min-width:83.3333333333%!important}.fd-col-lg--11,.fd-col-xl--11{max-width:91.6666666667%!important;min-width:91.6666666667%!important}.fd-col-lg--12,.fd-col-xl--12{max-width:100%!important;min-width:100%!important}.fd-col-md--1{max-width:8.3333333333%!important;min-width:8.3333333333%!important}.fd-col-md--2{max-width:16.6666666667%!important;min-width:16.6666666667%!important}.fd-col-md--3{max-width:25%!important;min-width:25%!important}.fd-col-md--4{max-width:33.3333333333%!important;min-width:33.3333333333%!important}.fd-col-md--5{max-width:41.6666666667%!important;min-width:41.6666666667%!important}.fd-col-md--6{max-width:50%!important;min-width:50%!important}.fd-col-md--7{max-width:58.3333333333%!important;min-width:58.3333333333%!important}.fd-col-md--8{max-width:66.6666666667%!important;min-width:66.6666666667%!important}.fd-col-md--9{max-width:75%!important;min-width:75%!important}.fd-col-md--10{max-width:83.3333333333%!important;min-width:83.3333333333%!important}.fd-col-md--11{max-width:91.6666666667%!important;min-width:91.6666666667%!important}.fd-col-md--12{max-width:100%!important;min-width:100%!important}}\n/*! Bundled license information:\n\nfundamental-styles/dist/layout-grid.css:\n (*!\n * Fundamental Library Styles v0.41.8\n * Copyright (c) 2026 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
373
384
  }], propDecorators: { startColumn: [{
374
385
  type: ContentChild,
375
386
  args: ['startColumn']
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-flexible-column-layout.mjs","sources":["../../../../libs/core/flexible-column-layout/constants.ts","../../../../libs/core/flexible-column-layout/tokens.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.component.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.component.html","../../../../libs/core/flexible-column-layout/provide-config.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.module.ts","../../../../libs/core/flexible-column-layout/fundamental-ngx-core-flexible-column-layout.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const ONE_COLUMN_START_FULL_SCREEN = 'OneColumnStartFullScreen';\nexport const ONE_COLUMN_MID_FULL_SCREEN = 'OneColumnMidFullScreen';\nexport const ONE_COLUMN_END_FULL_SCREEN = 'OneColumnEndFullScreen';\nexport const TWO_COLUMNS_START_EXPANDED = 'TwoColumnsStartExpanded';\nexport const TWO_COLUMNS_MID_EXPANDED = 'TwoColumnsMidExpanded';\nexport const TWO_COLUMNS_END_EXPANDED = 'TwoColumnsEndExpanded';\nexport const THREE_COLUMNS_MID_EXPANDED = 'ThreeColumnsMidExpanded';\nexport const THREE_COLUMNS_END_EXPANDED = 'ThreeColumnsEndExpanded';\nexport const THREE_COLUMNS_START_MINIMIZED = 'ThreeColumnsStartMinimized';\nexport const THREE_COLUMNS_END_MINIMIZED = 'ThreeColumnsEndMinimized';\n\nexport const SM_SCREEN_SIZE = 'sm';\nexport const MD_SCREEN_SIZE = 'md';\nexport const LG_SCREEN_SIZE = 'lg';\n\nexport type ScreenSize = 'sm' | 'md' | 'lg';\n\nexport type FlexibleColumnLayout =\n | 'OneColumnStartFullScreen'\n | 'OneColumnMidFullScreen'\n | 'OneColumnEndFullScreen'\n | 'TwoColumnsStartExpanded'\n | 'TwoColumnsMidExpanded'\n | 'TwoColumnsEndExpanded'\n | 'ThreeColumnsMidExpanded'\n | 'ThreeColumnsEndExpanded'\n | 'ThreeColumnsStartMinimized'\n | 'ThreeColumnsEndMinimized';\n\nexport type ColumnSeparatorValue = 'right' | 'left' | null;\n\nexport interface FlexibleColumnSettings {\n start: number;\n mid: number;\n end: number;\n}\n\nexport type FlexibleColumnLayoutDefinition = { [key in FlexibleColumnLayout]: FlexibleColumnSettings };\n\nexport interface FlexibleLayoutConfig {\n layouts: FlexibleColumnLayoutDefinition;\n}\n\nexport const DEFAULT_FLEXIBLE_LAYOUT_CONFIG: FlexibleLayoutConfig = {\n layouts: {\n OneColumnStartFullScreen: { start: 100, mid: 0, end: 0 },\n OneColumnMidFullScreen: { start: 0, mid: 100, end: 0 },\n OneColumnEndFullScreen: { start: 0, mid: 0, end: 100 },\n TwoColumnsStartExpanded: { start: 67, mid: 33, end: 0 },\n TwoColumnsMidExpanded: { start: 33, mid: 67, end: 0 },\n TwoColumnsEndExpanded: { start: 0, mid: 33, end: 67 },\n ThreeColumnsMidExpanded: { start: 25, mid: 50, end: 25 },\n ThreeColumnsEndExpanded: { start: 25, mid: 25, end: 50 },\n ThreeColumnsStartMinimized: { start: 0, mid: 67, end: 33 },\n ThreeColumnsEndMinimized: { start: 33, mid: 67, end: 0 }\n }\n};\n\nexport const FD_FLEXIBLE_LAYOUT_CONFIG = new InjectionToken<FlexibleLayoutConfig>('FdFlexibleLayoutConfig');\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT = new InjectionToken('FdFlexibleColumnLayoutComponent');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport {\n ColumnSeparatorValue,\n FD_FLEXIBLE_LAYOUT_CONFIG,\n FlexibleColumnLayout,\n FlexibleColumnLayoutDefinition,\n LG_SCREEN_SIZE,\n MD_SCREEN_SIZE,\n ONE_COLUMN_END_FULL_SCREEN,\n ONE_COLUMN_MID_FULL_SCREEN,\n ONE_COLUMN_START_FULL_SCREEN,\n ScreenSize,\n SM_SCREEN_SIZE,\n THREE_COLUMNS_END_EXPANDED,\n THREE_COLUMNS_END_MINIMIZED,\n THREE_COLUMNS_MID_EXPANDED,\n THREE_COLUMNS_START_MINIMIZED,\n TWO_COLUMNS_END_EXPANDED,\n TWO_COLUMNS_MID_EXPANDED,\n TWO_COLUMNS_START_EXPANDED\n} from './constants';\nimport { FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT } from './tokens';\n\n@Component({\n selector: 'fd-flexible-column-layout',\n templateUrl: './flexible-column-layout.component.html',\n styleUrl: './flexible-column-layout.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,\n useExisting: FlexibleColumnLayoutComponent\n }\n ],\n imports: [NgTemplateOutlet, ButtonComponent, ContentDensityDirective, IconComponent]\n})\nexport class FlexibleColumnLayoutComponent implements AfterViewInit, OnChanges, OnDestroy, OnInit {\n /**\n * The template that provides the content of the first/start/left column\n */\n @ContentChild('startColumn')\n startColumn: TemplateRef<any>;\n\n /**\n * The template that provides the content of the middle column\n */\n @ContentChild('midColumn')\n midColumn: TemplateRef<any>;\n\n /**\n * The template that provides the content of the last/end/right column\n */\n @ContentChild('endColumn')\n endColumn: TemplateRef<any>;\n\n /**\n * The background design of the component\n * Options include: 'solid' | 'translucent' | 'transparent'\n * The default is set to 'solid'\n */\n @Input()\n backgroundDesign: 'solid' | 'translucent' | 'transparent' = 'solid';\n\n /**\n * The layout of the component\n * Options include: 'OneColumnStartFullScreen' | 'OneColumnMidFullScreen' |\n * 'OneColumnEndFullScreen' | 'TwoColumnsStartExpanded' | 'TwoColumnsMidExpanded' |\n * 'TwoColumnsEndExpanded' | 'ThreeColumnsMidExpanded' | 'ThreeColumnsEndExpanded' |\n * 'ThreeColumnsStartMinimized' | 'ThreeColumnsEndMinimized'\n */\n @Input()\n layout: FlexibleColumnLayout = ONE_COLUMN_START_FULL_SCREEN;\n\n /**\n * Mapping of the layout name and the column layout in %\n */\n @Input()\n layoutDefinitions: FlexibleColumnLayoutDefinition = inject(FD_FLEXIBLE_LAYOUT_CONFIG).layouts;\n\n /**\n * The event emitted on layout value change.\n */\n @Output()\n layoutChange: EventEmitter<FlexibleColumnLayout> = new EventEmitter<FlexibleColumnLayout>();\n\n /**\n * User defined break point for SM screens\n * Default (Fiori 3) value is 960\n */\n @Input()\n smBreakPoint = 960;\n\n /**\n * User-defined break point for LG screens\n * the default (Fiori 3) value is 1280\n */\n @Input()\n lgBreakPoint = 1280;\n\n /**\n * User-defined onResize function\n */\n @Input()\n customOnResizeFunction: () => void;\n\n /** aria-label for separator */\n @Input()\n separatorAriaLabel: string;\n\n /** title for expanded button */\n @Input()\n expandTitle: string;\n\n /** title for collapsed button */\n @Input()\n collapseTitle: string;\n\n /** title for expanded state of the button between start and mid column */\n @Input()\n expandTitleStartBtn: string;\n\n /** title for collapsed state of the button between start and mid column */\n @Input()\n collapseTitleStartBtn: string;\n\n /** title for expanded state of the button between mid and end column */\n @Input()\n expandTitleEndBtn: string;\n\n /** title for collapsed state of the button between mid and end column */\n @Input()\n collapseTitleEndBtn: string;\n\n /**\n * @hidden\n * left column separator value (between start and middle columns)\n * that specifies the direction of the arrow and\n * if the separator is visible\n * Options include: 'left', 'right' and null\n */\n _leftColumnSeparator: ColumnSeparatorValue = null;\n\n /**\n * @hidden\n * right column separator value (between middle and end columns)\n * that specifies the direction of the arrow and\n * if the separator is visible\n * Options include: 'left', 'right' and null\n */\n _rightColumnSeparator: ColumnSeparatorValue = null;\n\n /**\n * @hidden\n * the column layout representing the distribution of the width\n * between the first (start), the middle and the last(end) column\n */\n _columnLayout: { start: number; mid: number; end: number } = this.layoutDefinitions[this.layout];\n\n /**\n * @hidden\n * allows to keep track of the previos layout\n * so we can go back to it on window resize\n */\n private _previousLayout: FlexibleColumnLayout = this.layout;\n\n /** @hidden */\n private _screenSize: ScreenSize = LG_SCREEN_SIZE;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /**\n * @hidden\n * set to 'true' if the layout is changed to fullscreen on window resize\n * this will allow the layout to switch to previous mode on SM->MD transition\n * if a layout is set by the user to fullscreen, it should persist on window resize\n */\n private _responsiveFullscreenLayout = false;\n\n /**\n * @hidden\n * function that handles the click events on the left separator\n * and updates the layout\n */\n _handleLeftColumnSeparatorClick(): void {\n switch (this.layout) {\n case TWO_COLUMNS_START_EXPANDED:\n this._updateCurrentLayout(TWO_COLUMNS_MID_EXPANDED);\n break;\n case TWO_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(TWO_COLUMNS_START_EXPANDED);\n break;\n case THREE_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n break;\n case THREE_COLUMNS_END_MINIMIZED:\n this._updateCurrentLayout(TWO_COLUMNS_START_EXPANDED);\n break;\n case THREE_COLUMNS_START_MINIMIZED:\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n break;\n }\n }\n\n /**\n * @hidden\n * function that handles the click events on the right separator\n * and updates the layout\n */\n _handleRightColumnSeparatorClick(): void {\n switch (this.layout) {\n case TWO_COLUMNS_END_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_START_MINIMIZED);\n break;\n case THREE_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_END_EXPANDED);\n break;\n case THREE_COLUMNS_END_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n break;\n case THREE_COLUMNS_END_MINIMIZED:\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n break;\n case THREE_COLUMNS_START_MINIMIZED:\n this._updateCurrentLayout(TWO_COLUMNS_END_EXPANDED);\n break;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._updateColumnLayoutParameters();\n this._previousLayout = this.layout;\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._screenSize = this._getScreenSize(window.innerWidth);\n this._listenOnWindowResize();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n this._updateColumnLayoutParameters();\n\n if (changes && changes.layout.previousValue) {\n this._previousLayout = changes.layout.previousValue;\n }\n\n if (changes && changes.layout) {\n this._responsiveLayoutChangeHandler();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden\n * function to determine the screen size in 'sm' | 'md' | 'lg' | 'xl'\n * format depending on the window size in px\n */\n private _getScreenSize(size: number): ScreenSize {\n if (size > this.lgBreakPoint) {\n return LG_SCREEN_SIZE;\n } else if (size > this.smBreakPoint && size <= this.lgBreakPoint) {\n return MD_SCREEN_SIZE;\n } else {\n return SM_SCREEN_SIZE;\n }\n }\n\n /**\n * @hidden\n * handles the change of the layouts on reaching a break point\n */\n private _responsiveLayoutChangeHandler(): void {\n this._screenSize = this._getScreenSize(window.innerWidth);\n\n switch (this.layout) {\n case ONE_COLUMN_MID_FULL_SCREEN:\n case ONE_COLUMN_END_FULL_SCREEN: {\n if (\n this._screenSize !== SM_SCREEN_SIZE &&\n this.layout !== this._previousLayout &&\n this._responsiveFullscreenLayout\n ) {\n this._responsiveFullscreenLayout = false;\n this._updateCurrentLayout(this._previousLayout);\n }\n break;\n }\n\n case TWO_COLUMNS_START_EXPANDED:\n case TWO_COLUMNS_MID_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_MID_FULL_SCREEN);\n }\n break;\n }\n\n case TWO_COLUMNS_END_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_END_EXPANDED);\n }\n break;\n }\n\n case THREE_COLUMNS_START_MINIMIZED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n }\n break;\n }\n\n case THREE_COLUMNS_END_MINIMIZED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n }\n break;\n }\n\n case THREE_COLUMNS_MID_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === MD_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_START_MINIMIZED);\n }\n break;\n }\n\n case THREE_COLUMNS_END_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === MD_SCREEN_SIZE) {\n this._updateCurrentLayout(TWO_COLUMNS_END_EXPANDED);\n }\n break;\n }\n }\n }\n\n /**\n * @hidden\n * Listen on window resize and update the layout\n * call user defined custom function if provided\n */\n private _listenOnWindowResize(): void {\n if (this.customOnResizeFunction) {\n this.customOnResizeFunction();\n } else {\n this._subscriptions.add(\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => this._responsiveLayoutChangeHandler())\n );\n }\n }\n\n /**\n * @hidden\n * determines if the left separator should be visible\n * and the value that will specify the direction of the arrow\n */\n private _getLeftColumnSeparatorValue(): ColumnSeparatorValue {\n switch (this.layout) {\n case TWO_COLUMNS_START_EXPANDED:\n return 'left';\n case TWO_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_END_MINIMIZED:\n case THREE_COLUMNS_START_MINIMIZED:\n return 'right';\n default:\n return null;\n }\n }\n\n /**\n * @hidden\n * determines if the right separator should be visible\n * and the value that will specify the direction of the arrow\n */\n private _getRightColumnSeparatorValue(): ColumnSeparatorValue {\n switch (this.layout) {\n case TWO_COLUMNS_END_EXPANDED:\n case THREE_COLUMNS_END_EXPANDED:\n return 'right';\n case THREE_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_END_MINIMIZED:\n case THREE_COLUMNS_START_MINIMIZED:\n return 'left';\n default:\n return null;\n }\n }\n\n /**\n * @hidden\n * updates the column layout based on the layout name\n * makes a call to determine the new value of the left separator\n * makes a call to determine the new value of the right separator\n */\n private _updateColumnLayoutParameters(): void {\n this._columnLayout = this.layoutDefinitions[this.layout];\n this._leftColumnSeparator = this._getLeftColumnSeparatorValue();\n this._rightColumnSeparator = this._getRightColumnSeparatorValue();\n }\n\n /**\n * @hidden\n * updates the layout\n * emits an event\n * makes a call to the helper function that will update the column layout and the separators\n */\n private _updateCurrentLayout(newLayout: FlexibleColumnLayout): void {\n this.layout = newLayout;\n this._updateColumnLayoutParameters();\n\n // setTimeout fixes \"ExpressionChangedAfterItHasBeenCheckedError\"\n setTimeout(() => {\n this.layoutChange.emit(this.layout);\n });\n }\n}\n","<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.start\"\n [style.visibility]=\"_columnLayout.start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator ? 'slim-arrow-' + _leftColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.mid\"\n [style.visibility]=\"_columnLayout.mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator ? 'slim-arrow-' + _rightColumnSeparator : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout.end\"\n [style.visibility]=\"_columnLayout.end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout.end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout.end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n","import { Provider } from '@angular/core';\nimport { merge } from '@fundamental-ngx/cdk/utils';\nimport { DEFAULT_FLEXIBLE_LAYOUT_CONFIG, FD_FLEXIBLE_LAYOUT_CONFIG, FlexibleLayoutConfig } from './constants';\n\n/**\n * Helper function to provide custom configuration for Flexible Column Layout component.\n * @param config\n * @returns\n */\nexport function provideFlexibleColumnLayoutConfig(config: Partial<FlexibleLayoutConfig>): Provider[] {\n config = merge(structuredClone(DEFAULT_FLEXIBLE_LAYOUT_CONFIG), structuredClone(config));\n return [\n {\n provide: FD_FLEXIBLE_LAYOUT_CONFIG,\n useValue: config\n }\n ];\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DEFAULT_FLEXIBLE_LAYOUT_CONFIG, FD_FLEXIBLE_LAYOUT_CONFIG, FlexibleLayoutConfig } from './constants';\nimport { FlexibleColumnLayoutComponent } from './flexible-column-layout.component';\nimport { provideFlexibleColumnLayoutConfig } from './provide-config';\n\n/**\n * Adds Flexible Column Layout functionality to your application.\n *\n * Can be imported in two ways:\n * * Plain `FlexibleColumnLayoutModule` with default configuration\n * * With `withConfig()` method which allows passing custom default configuration.\n */\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [FlexibleColumnLayoutComponent],\n exports: [FlexibleColumnLayoutComponent],\n providers: [\n {\n provide: FD_FLEXIBLE_LAYOUT_CONFIG,\n useValue: DEFAULT_FLEXIBLE_LAYOUT_CONFIG\n }\n ]\n})\nexport class FlexibleColumnLayoutModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<FlexibleLayoutConfig>): ModuleWithProviders<FlexibleColumnLayoutModule> {\n return {\n ngModule: FlexibleColumnLayoutModule,\n providers: provideFlexibleColumnLayoutConfig(config)\n };\n }\n}\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-core-flexible-column-layout.mjs","sources":["../../../../libs/core/flexible-column-layout/constants.ts","../../../../libs/core/flexible-column-layout/tokens.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.component.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.component.html","../../../../libs/core/flexible-column-layout/provide-config.ts","../../../../libs/core/flexible-column-layout/flexible-column-layout.module.ts","../../../../libs/core/flexible-column-layout/fundamental-ngx-core-flexible-column-layout.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const ONE_COLUMN_START_FULL_SCREEN = 'OneColumnStartFullScreen';\nexport const ONE_COLUMN_MID_FULL_SCREEN = 'OneColumnMidFullScreen';\nexport const ONE_COLUMN_END_FULL_SCREEN = 'OneColumnEndFullScreen';\nexport const TWO_COLUMNS_START_EXPANDED = 'TwoColumnsStartExpanded';\nexport const TWO_COLUMNS_MID_EXPANDED = 'TwoColumnsMidExpanded';\nexport const TWO_COLUMNS_END_EXPANDED = 'TwoColumnsEndExpanded';\nexport const THREE_COLUMNS_MID_EXPANDED = 'ThreeColumnsMidExpanded';\nexport const THREE_COLUMNS_END_EXPANDED = 'ThreeColumnsEndExpanded';\nexport const THREE_COLUMNS_START_MINIMIZED = 'ThreeColumnsStartMinimized';\nexport const THREE_COLUMNS_END_MINIMIZED = 'ThreeColumnsEndMinimized';\n\nexport const SM_SCREEN_SIZE = 'sm';\nexport const MD_SCREEN_SIZE = 'md';\nexport const LG_SCREEN_SIZE = 'lg';\n\nexport type ScreenSize = 'sm' | 'md' | 'lg';\n\nexport type FlexibleColumnLayout =\n | 'OneColumnStartFullScreen'\n | 'OneColumnMidFullScreen'\n | 'OneColumnEndFullScreen'\n | 'TwoColumnsStartExpanded'\n | 'TwoColumnsMidExpanded'\n | 'TwoColumnsEndExpanded'\n | 'ThreeColumnsMidExpanded'\n | 'ThreeColumnsEndExpanded'\n | 'ThreeColumnsStartMinimized'\n | 'ThreeColumnsEndMinimized';\n\nexport type ColumnSeparatorValue = 'right' | 'left' | null;\n\nexport interface FlexibleColumnSettings {\n start: number;\n mid: number;\n end: number;\n}\n\nexport type FlexibleColumnLayoutDefinition = { [key in FlexibleColumnLayout]: FlexibleColumnSettings };\n\nexport interface FlexibleLayoutConfig {\n layouts: FlexibleColumnLayoutDefinition;\n}\n\nexport const DEFAULT_FLEXIBLE_LAYOUT_CONFIG: FlexibleLayoutConfig = {\n layouts: {\n OneColumnStartFullScreen: { start: 100, mid: 0, end: 0 },\n OneColumnMidFullScreen: { start: 0, mid: 100, end: 0 },\n OneColumnEndFullScreen: { start: 0, mid: 0, end: 100 },\n TwoColumnsStartExpanded: { start: 67, mid: 33, end: 0 },\n TwoColumnsMidExpanded: { start: 33, mid: 67, end: 0 },\n TwoColumnsEndExpanded: { start: 0, mid: 33, end: 67 },\n ThreeColumnsMidExpanded: { start: 25, mid: 50, end: 25 },\n ThreeColumnsEndExpanded: { start: 25, mid: 25, end: 50 },\n ThreeColumnsStartMinimized: { start: 0, mid: 67, end: 33 },\n ThreeColumnsEndMinimized: { start: 33, mid: 67, end: 0 }\n }\n};\n\nexport const FD_FLEXIBLE_LAYOUT_CONFIG = new InjectionToken<FlexibleLayoutConfig>('FdFlexibleLayoutConfig');\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT = new InjectionToken('FdFlexibleColumnLayoutComponent');\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n signal,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { ContentDensityDirective } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport {\n ColumnSeparatorValue,\n FD_FLEXIBLE_LAYOUT_CONFIG,\n FlexibleColumnLayout,\n FlexibleColumnLayoutDefinition,\n LG_SCREEN_SIZE,\n MD_SCREEN_SIZE,\n ONE_COLUMN_END_FULL_SCREEN,\n ONE_COLUMN_MID_FULL_SCREEN,\n ONE_COLUMN_START_FULL_SCREEN,\n ScreenSize,\n SM_SCREEN_SIZE,\n THREE_COLUMNS_END_EXPANDED,\n THREE_COLUMNS_END_MINIMIZED,\n THREE_COLUMNS_MID_EXPANDED,\n THREE_COLUMNS_START_MINIMIZED,\n TWO_COLUMNS_END_EXPANDED,\n TWO_COLUMNS_MID_EXPANDED,\n TWO_COLUMNS_START_EXPANDED\n} from './constants';\nimport { FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT } from './tokens';\n\n@Component({\n selector: 'fd-flexible-column-layout',\n templateUrl: './flexible-column-layout.component.html',\n styleUrl: './flexible-column-layout.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT,\n useExisting: FlexibleColumnLayoutComponent\n }\n ],\n imports: [NgTemplateOutlet, ButtonComponent, ContentDensityDirective, IconComponent]\n})\nexport class FlexibleColumnLayoutComponent implements AfterViewInit, OnChanges, OnDestroy, OnInit {\n /**\n * The template that provides the content of the first/start/left column\n */\n @ContentChild('startColumn')\n startColumn: TemplateRef<any>;\n\n /**\n * The template that provides the content of the middle column\n */\n @ContentChild('midColumn')\n midColumn: TemplateRef<any>;\n\n /**\n * The template that provides the content of the last/end/right column\n */\n @ContentChild('endColumn')\n endColumn: TemplateRef<any>;\n\n /**\n * The background design of the component\n * Options include: 'solid' | 'translucent' | 'transparent'\n * The default is set to 'solid'\n */\n @Input()\n backgroundDesign: 'solid' | 'translucent' | 'transparent' = 'solid';\n\n /**\n * The layout of the component\n * Options include: 'OneColumnStartFullScreen' | 'OneColumnMidFullScreen' |\n * 'OneColumnEndFullScreen' | 'TwoColumnsStartExpanded' | 'TwoColumnsMidExpanded' |\n * 'TwoColumnsEndExpanded' | 'ThreeColumnsMidExpanded' | 'ThreeColumnsEndExpanded' |\n * 'ThreeColumnsStartMinimized' | 'ThreeColumnsEndMinimized'\n */\n @Input()\n set layout(value: FlexibleColumnLayout) {\n this._layout.set(value);\n }\n get layout(): FlexibleColumnLayout {\n return this._layout();\n }\n\n /**\n * Mapping of the layout name and the column layout in %\n */\n @Input()\n layoutDefinitions: FlexibleColumnLayoutDefinition = inject(FD_FLEXIBLE_LAYOUT_CONFIG).layouts;\n\n /**\n * The event emitted on layout value change.\n */\n @Output()\n layoutChange: EventEmitter<FlexibleColumnLayout> = new EventEmitter<FlexibleColumnLayout>();\n\n /**\n * User defined break point for SM screens\n * Default (Fiori 3) value is 960\n */\n @Input()\n smBreakPoint = 960;\n\n /**\n * User-defined break point for LG screens\n * the default (Fiori 3) value is 1280\n */\n @Input()\n lgBreakPoint = 1280;\n\n /**\n * User-defined onResize function\n */\n @Input()\n customOnResizeFunction: () => void;\n\n /** aria-label for separator */\n @Input()\n separatorAriaLabel: string;\n\n /** title for expanded button */\n @Input()\n expandTitle: string;\n\n /** title for collapsed button */\n @Input()\n collapseTitle: string;\n\n /** title for expanded state of the button between start and mid column */\n @Input()\n expandTitleStartBtn: string;\n\n /** title for collapsed state of the button between start and mid column */\n @Input()\n collapseTitleStartBtn: string;\n\n /** title for expanded state of the button between mid and end column */\n @Input()\n expandTitleEndBtn: string;\n\n /** title for collapsed state of the button between mid and end column */\n @Input()\n collapseTitleEndBtn: string;\n\n /**\n * @hidden\n * left column separator value (between start and middle columns)\n * that specifies the direction of the arrow and\n * if the separator is visible\n * Options include: 'left', 'right' and null\n */\n readonly _leftColumnSeparator = signal<ColumnSeparatorValue>(null);\n\n /**\n * @hidden\n * right column separator value (between middle and end columns)\n * that specifies the direction of the arrow and\n * if the separator is visible\n * Options include: 'left', 'right' and null\n */\n readonly _rightColumnSeparator = signal<ColumnSeparatorValue>(null);\n\n /**\n * @hidden\n * the column layout representing the distribution of the width\n * between the first (start), the middle and the last(end) column\n */\n readonly _columnLayout = signal<{ start: number; mid: number; end: number }>(\n this.layoutDefinitions[ONE_COLUMN_START_FULL_SCREEN]\n );\n\n /** @hidden */\n private readonly _layout = signal<FlexibleColumnLayout>(ONE_COLUMN_START_FULL_SCREEN);\n\n /**\n * @hidden\n * allows to keep track of the previos layout\n * so we can go back to it on window resize\n */\n private _previousLayout: FlexibleColumnLayout = this.layout;\n\n /** @hidden */\n private _screenSize: ScreenSize = LG_SCREEN_SIZE;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /**\n * @hidden\n * set to 'true' if the layout is changed to fullscreen on window resize\n * this will allow the layout to switch to previous mode on SM->MD transition\n * if a layout is set by the user to fullscreen, it should persist on window resize\n */\n private _responsiveFullscreenLayout = false;\n\n /**\n * @hidden\n * function that handles the click events on the left separator\n * and updates the layout\n */\n _handleLeftColumnSeparatorClick(): void {\n switch (this.layout) {\n case TWO_COLUMNS_START_EXPANDED:\n this._updateCurrentLayout(TWO_COLUMNS_MID_EXPANDED);\n break;\n case TWO_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(TWO_COLUMNS_START_EXPANDED);\n break;\n case THREE_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n break;\n case THREE_COLUMNS_END_MINIMIZED:\n this._updateCurrentLayout(TWO_COLUMNS_START_EXPANDED);\n break;\n case THREE_COLUMNS_START_MINIMIZED:\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n break;\n }\n }\n\n /**\n * @hidden\n * function that handles the click events on the right separator\n * and updates the layout\n */\n _handleRightColumnSeparatorClick(): void {\n switch (this.layout) {\n case TWO_COLUMNS_END_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_START_MINIMIZED);\n break;\n case THREE_COLUMNS_MID_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_END_EXPANDED);\n break;\n case THREE_COLUMNS_END_EXPANDED:\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n break;\n case THREE_COLUMNS_END_MINIMIZED:\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n break;\n case THREE_COLUMNS_START_MINIMIZED:\n this._updateCurrentLayout(TWO_COLUMNS_END_EXPANDED);\n break;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._updateColumnLayoutParameters();\n this._previousLayout = this.layout;\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._screenSize = this._getScreenSize(window.innerWidth);\n this._listenOnWindowResize();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n this._updateColumnLayoutParameters();\n\n if (changes && changes.layout.previousValue) {\n this._previousLayout = changes.layout.previousValue;\n }\n\n if (changes && changes.layout) {\n this._responsiveLayoutChangeHandler();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /**\n * @hidden\n * function to determine the screen size in 'sm' | 'md' | 'lg' | 'xl'\n * format depending on the window size in px\n */\n private _getScreenSize(size: number): ScreenSize {\n if (size > this.lgBreakPoint) {\n return LG_SCREEN_SIZE;\n } else if (size > this.smBreakPoint && size <= this.lgBreakPoint) {\n return MD_SCREEN_SIZE;\n } else {\n return SM_SCREEN_SIZE;\n }\n }\n\n /**\n * @hidden\n * handles the change of the layouts on reaching a break point\n */\n private _responsiveLayoutChangeHandler(): void {\n this._screenSize = this._getScreenSize(window.innerWidth);\n\n switch (this.layout) {\n case ONE_COLUMN_MID_FULL_SCREEN:\n case ONE_COLUMN_END_FULL_SCREEN: {\n if (\n this._screenSize !== SM_SCREEN_SIZE &&\n this.layout !== this._previousLayout &&\n this._responsiveFullscreenLayout\n ) {\n this._responsiveFullscreenLayout = false;\n this._updateCurrentLayout(this._previousLayout);\n }\n break;\n }\n\n case TWO_COLUMNS_START_EXPANDED:\n case TWO_COLUMNS_MID_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_MID_FULL_SCREEN);\n }\n break;\n }\n\n case TWO_COLUMNS_END_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_END_EXPANDED);\n }\n break;\n }\n\n case THREE_COLUMNS_START_MINIMIZED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_MID_EXPANDED);\n }\n break;\n }\n\n case THREE_COLUMNS_END_MINIMIZED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === LG_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_END_MINIMIZED);\n }\n break;\n }\n\n case THREE_COLUMNS_MID_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === MD_SCREEN_SIZE) {\n this._updateCurrentLayout(THREE_COLUMNS_START_MINIMIZED);\n }\n break;\n }\n\n case THREE_COLUMNS_END_EXPANDED: {\n if (this._screenSize === SM_SCREEN_SIZE) {\n this._responsiveFullscreenLayout = true;\n this._updateCurrentLayout(ONE_COLUMN_END_FULL_SCREEN);\n }\n\n if (this._screenSize === MD_SCREEN_SIZE) {\n this._updateCurrentLayout(TWO_COLUMNS_END_EXPANDED);\n }\n break;\n }\n }\n }\n\n /**\n * @hidden\n * Listen on window resize and update the layout\n * call user defined custom function if provided\n */\n private _listenOnWindowResize(): void {\n if (this.customOnResizeFunction) {\n this.customOnResizeFunction();\n } else {\n this._subscriptions.add(\n fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => this._responsiveLayoutChangeHandler())\n );\n }\n }\n\n /**\n * @hidden\n * determines if the left separator should be visible\n * and the value that will specify the direction of the arrow\n */\n private _getLeftColumnSeparatorValue(): ColumnSeparatorValue {\n switch (this.layout) {\n case TWO_COLUMNS_START_EXPANDED:\n return 'left';\n case TWO_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_END_MINIMIZED:\n case THREE_COLUMNS_START_MINIMIZED:\n return 'right';\n default:\n return null;\n }\n }\n\n /**\n * @hidden\n * determines if the right separator should be visible\n * and the value that will specify the direction of the arrow\n */\n private _getRightColumnSeparatorValue(): ColumnSeparatorValue {\n switch (this.layout) {\n case TWO_COLUMNS_END_EXPANDED:\n case THREE_COLUMNS_END_EXPANDED:\n return 'right';\n case THREE_COLUMNS_MID_EXPANDED:\n case THREE_COLUMNS_END_MINIMIZED:\n case THREE_COLUMNS_START_MINIMIZED:\n return 'left';\n default:\n return null;\n }\n }\n\n /**\n * @hidden\n * updates the column layout based on the layout name\n * makes a call to determine the new value of the left separator\n * makes a call to determine the new value of the right separator\n */\n private _updateColumnLayoutParameters(): void {\n this._columnLayout.set(this.layoutDefinitions[this.layout]);\n this._leftColumnSeparator.set(this._getLeftColumnSeparatorValue());\n this._rightColumnSeparator.set(this._getRightColumnSeparatorValue());\n }\n\n /**\n * @hidden\n * updates the layout\n * emits an event\n * makes a call to the helper function that will update the column layout and the separators\n */\n private _updateCurrentLayout(newLayout: FlexibleColumnLayout): void {\n this.layout = newLayout;\n this._updateColumnLayoutParameters();\n\n // setTimeout fixes \"ExpressionChangedAfterItHasBeenCheckedError\"\n setTimeout(() => {\n this.layoutChange.emit(this.layout);\n });\n }\n}\n","<div\n class=\"fd-flexible-column-layout\"\n [class.fd-flexible-column-layout--translucent]=\"backgroundDesign === 'translucent'\"\n [class.fd-flexible-column-layout--transparent]=\"backgroundDesign === 'transparent'\"\n>\n <!-- Start/Left/First Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().start\"\n [style.visibility]=\"_columnLayout().start === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().start === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().start === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"startColumn\"></ng-template>\n </div>\n <!-- Left Separator -->\n @if (_leftColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleLeftColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_leftColumnSeparator() === 'left' ? collapseTitleStartBtn : expandTitleStartBtn) ||\n (_leftColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_leftColumnSeparator() ? 'slim-arrow-' + _leftColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- Middle/Second Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().mid\"\n [style.visibility]=\"_columnLayout().mid === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().mid === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().mid === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"midColumn\"></ng-template>\n </div>\n <!-- Right Separator -->\n @if (_rightColumnSeparator()) {\n <div\n class=\"fd-flexible-column-layout__separator\"\n [attr.aria-label]=\"separatorAriaLabel\"\n (click)=\"_handleRightColumnSeparatorClick()\"\n >\n <button\n fd-button\n fdCompact\n fdType=\"transparent\"\n class=\"fd-flexible-column-layout__button\"\n [ariaLabel]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n [title]=\"\n (_rightColumnSeparator() === 'left' ? collapseTitleEndBtn : expandTitleEndBtn) ||\n (_rightColumnSeparator() === 'left' ? collapseTitle : expandTitle) ||\n ''\n \"\n >\n <fd-icon\n [glyph]=\"_rightColumnSeparator() ? 'slim-arrow-' + _rightColumnSeparator() : ''\"\n role=\"presentation\"\n ></fd-icon>\n </button>\n </div>\n }\n <!-- End/Right/Third Column -->\n <div\n class=\"fd-flexible-column-layout__column\"\n [style.width.%]=\"_columnLayout().end\"\n [style.visibility]=\"_columnLayout().end === 0 ? 'hidden' : 'visible'\"\n [style.height]=\"_columnLayout().end === 0 ? '0' : 'auto'\"\n [attr.aria-hidden]=\"_columnLayout().end === 0\"\n >\n <ng-template [ngTemplateOutlet]=\"endColumn\"></ng-template>\n </div>\n</div>\n","import { Provider } from '@angular/core';\nimport { merge } from '@fundamental-ngx/cdk/utils';\nimport { DEFAULT_FLEXIBLE_LAYOUT_CONFIG, FD_FLEXIBLE_LAYOUT_CONFIG, FlexibleLayoutConfig } from './constants';\n\n/**\n * Helper function to provide custom configuration for Flexible Column Layout component.\n * @param config\n * @returns\n */\nexport function provideFlexibleColumnLayoutConfig(config: Partial<FlexibleLayoutConfig>): Provider[] {\n config = merge(structuredClone(DEFAULT_FLEXIBLE_LAYOUT_CONFIG), structuredClone(config));\n return [\n {\n provide: FD_FLEXIBLE_LAYOUT_CONFIG,\n useValue: config\n }\n ];\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { DEFAULT_FLEXIBLE_LAYOUT_CONFIG, FD_FLEXIBLE_LAYOUT_CONFIG, FlexibleLayoutConfig } from './constants';\nimport { FlexibleColumnLayoutComponent } from './flexible-column-layout.component';\nimport { provideFlexibleColumnLayoutConfig } from './provide-config';\n\n/**\n * Adds Flexible Column Layout functionality to your application.\n *\n * Can be imported in two ways:\n * * Plain `FlexibleColumnLayoutModule` with default configuration\n * * With `withConfig()` method which allows passing custom default configuration.\n */\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [FlexibleColumnLayoutComponent],\n exports: [FlexibleColumnLayoutComponent],\n providers: [\n {\n provide: FD_FLEXIBLE_LAYOUT_CONFIG,\n useValue: DEFAULT_FLEXIBLE_LAYOUT_CONFIG\n }\n ]\n})\nexport class FlexibleColumnLayoutModule {\n /**\n * Allows configuring module on a global level with custom configuration.\n * @param config User's custom configuration.\n */\n static withConfig(config: Partial<FlexibleLayoutConfig>): ModuleWithProviders<FlexibleColumnLayoutModule> {\n return {\n ngModule: FlexibleColumnLayoutModule,\n providers: provideFlexibleColumnLayoutConfig(config)\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}