import { __decorate, __metadata } from 'tslib';
import { coerceNumberProperty } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { booleanAttribute, Input, Directive, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
import { applyCssClass } from '@fundamental-ngx/cdk/utils';
import { NgTemplateOutlet } from '@angular/common';

/** Describes number of columns in grid horizontal dimension */
const GRID_COLUMNS_NUMBER = 12;
const CSS_CLASS_NAME = {
    layoutGrid: 'fd-container',
    layoutGridNoHorizontalGap: 'fd-container--no-horizontal-gap',
    layoutGridNoVerticalGap: 'fd-container--no-vertical-gap',
    layoutGridNoGap: 'fd-container--no-gap',
    col: 'fd-col',
    colGrow: 'fd-col--full',
    colSizePrefix: 'fd-col--',
    mdColSizePrefix: 'fd-col-md--',
    lgColSizePrefix: 'fd-col-lg--',
    xlColSizePrefix: 'fd-col-xl--',
    colOffsetPrefix: 'fd-col--offset-',
    mdColOffsetPrefix: 'fd-col-md--offset-',
    lgColOffsetPrefix: 'fd-col-lg--offset-',
    xlColOffsetPrefix: 'fd-col-xl--offset-'
};

class LayoutGridColDirective {
    /** @hidden */
    constructor(elementRef) {
        this.elementRef = elementRef;
        /** Weather the column should take all available width */
        this.colGrow = false;
    }
    /** @hidden */
    buildComponentCssClass() {
        return [
            CSS_CLASS_NAME.col,
            this.colGrow ? CSS_CLASS_NAME.colGrow : '',
            this.getCssClassWithColWidth(CSS_CLASS_NAME.colSizePrefix, this.fdLayoutGridCol),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.mdColSizePrefix, this.colMd),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.lgColSizePrefix, this.colLg),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.xlColSizePrefix, this.colXl),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.colOffsetPrefix, this.colOffset),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.mdColOffsetPrefix, this.colOffsetMd),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.lgColOffsetPrefix, this.colOffsetLg),
            this.getCssClassWithColWidth(CSS_CLASS_NAME.xlColOffsetPrefix, this.colOffsetXl),
            this.class
        ].filter((v) => !!v);
    }
    /** @hidden */
    ngOnChanges() {
        this.buildComponentCssClass();
    }
    /** @hidden */
    ngOnInit() {
        this.buildComponentCssClass();
    }
    /** @hidden */
    getCssClassWithColWidth(classPrefix, colWidth) {
        if (!colWidth) {
            return null;
        }
        const col = coerceNumberProperty(colWidth);
        return col <= GRID_COLUMNS_NUMBER && col >= 1 ? classPrefix + col : null;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridColDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.2.3", type: LayoutGridColDirective, isStandalone: true, selector: "[fd-layout-grid-col], [fdLayoutGridCol]", inputs: { fdLayoutGridCol: "fdLayoutGridCol", colGrow: ["colGrow", "colGrow", booleanAttribute], colMd: "colMd", colLg: "colLg", colXl: "colXl", colOffset: "colOffset", colOffsetMd: "colOffsetMd", colOffsetLg: "colOffsetLg", colOffsetXl: "colOffsetXl", class: "class" }, usesOnChanges: true, ngImport: i0 }); }
}
__decorate([
    applyCssClass,
    __metadata("design:type", Function),
    __metadata("design:paramtypes", []),
    __metadata("design:returntype", Array)
], LayoutGridColDirective.prototype, "buildComponentCssClass", null);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridColDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[fd-layout-grid-col], [fdLayoutGridCol]',
                    standalone: true
                }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdLayoutGridCol: [{
                type: Input
            }], colGrow: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], colMd: [{
                type: Input
            }], colLg: [{
                type: Input
            }], colXl: [{
                type: Input
            }], colOffset: [{
                type: Input
            }], colOffsetMd: [{
                type: Input
            }], colOffsetLg: [{
                type: Input
            }], colOffsetXl: [{
                type: Input
            }], class: [{
                type: Input
            }], buildComponentCssClass: [] } });

class LayoutGridRowDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridRowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.3", type: LayoutGridRowDirective, isStandalone: true, selector: "[fd-layout-grid-row], [fdLayoutGridRow]", host: { classAttribute: "fd-row" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridRowDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[fd-layout-grid-row], [fdLayoutGridRow]',
                    host: {
                        class: 'fd-row'
                    },
                    standalone: true
                }]
        }] });

/**
 * Use a layout grid to arrange components evenly in a grid layout.
 */
class LayoutGridComponent {
    /** Custom classes */
    set class(userClass) {
        this._class = userClass;
        this.buildComponentCssClass();
    }
    /** @hidden */
    constructor(elementRef) {
        this.elementRef = elementRef;
        /** @hidden */
        this._class = '';
    }
    /** @hidden */
    buildComponentCssClass() {
        return [
            CSS_CLASS_NAME.layoutGrid,
            this.noVerticalGap ? CSS_CLASS_NAME.layoutGridNoVerticalGap : '',
            this.noHorizontalGap ? CSS_CLASS_NAME.layoutGridNoHorizontalGap : '',
            this.noGap ? CSS_CLASS_NAME.layoutGridNoGap : '',
            this._class
        ];
    }
    /** @hidden */
    ngOnInit() {
        this.buildComponentCssClass();
    }
    /** @hidden */
    ngOnChanges() {
        this.buildComponentCssClass();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: LayoutGridComponent, isStandalone: true, selector: "fd-layout-grid, [fdLayoutGrid]", inputs: { class: "class", noGap: "noGap", noHorizontalGap: "noHorizontalGap", noVerticalGap: "noVerticalGap" }, queries: [{ propertyName: "_rowsQueryList", predicate: LayoutGridRowDirective }], usesOnChanges: true, ngImport: i0, template: "@if (_rowsQueryList.length) {\n    <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n} @else {\n    <div fdLayoutGridRow>\n        <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n    </div>\n}\n<!-- To avoid breaking change-->\n<ng-template #content>\n    <ng-content></ng-content>\n</ng-template>\n", styles: [".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%}}\n/*! Bundled license information:\n\nfundamental-styles/dist/layout-grid.css:\n  (*!\n   * Fundamental Library Styles v0.40.1\n   * Copyright (c) 2025 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: "directive", type: LayoutGridRowDirective, selector: "[fd-layout-grid-row], [fdLayoutGridRow]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
__decorate([
    applyCssClass,
    __metadata("design:type", Function),
    __metadata("design:paramtypes", []),
    __metadata("design:returntype", Array)
], LayoutGridComponent.prototype, "buildComponentCssClass", null);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-layout-grid, [fdLayoutGrid]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, LayoutGridRowDirective], template: "@if (_rowsQueryList.length) {\n    <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n} @else {\n    <div fdLayoutGridRow>\n        <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n    </div>\n}\n<!-- To avoid breaking change-->\n<ng-template #content>\n    <ng-content></ng-content>\n</ng-template>\n", styles: [".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%}}\n/*! Bundled license information:\n\nfundamental-styles/dist/layout-grid.css:\n  (*!\n   * Fundamental Library Styles v0.40.1\n   * Copyright (c) 2025 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"] }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
                type: Input
            }], noGap: [{
                type: Input
            }], noHorizontalGap: [{
                type: Input
            }], noVerticalGap: [{
                type: Input
            }], _rowsQueryList: [{
                type: ContentChildren,
                args: [LayoutGridRowDirective]
            }], buildComponentCssClass: [] } });

const components = [LayoutGridComponent, LayoutGridColDirective, LayoutGridRowDirective];
class LayoutGridModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridModule, imports: [LayoutGridComponent, LayoutGridColDirective, LayoutGridRowDirective], exports: [LayoutGridComponent, LayoutGridColDirective, LayoutGridRowDirective] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: LayoutGridModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

/**
 * Generated bundle index. Do not edit.
 */

export { CSS_CLASS_NAME, GRID_COLUMNS_NUMBER, LayoutGridColDirective, LayoutGridComponent, LayoutGridModule, LayoutGridRowDirective };
//# sourceMappingURL=fundamental-ngx-core-layout-grid.mjs.map
