import { Host, h } from "@stencil/core";
import { cls } from "../../utils/helpers";
export class XGridColumn {
    constructor() {
        this.size = undefined;
        this.order = undefined;
        this.offset = undefined;
        this.align = undefined;
        this.auto = undefined;
        this.sizeSm = undefined;
        this.sizeMd = undefined;
        this.sizeLg = undefined;
        this.sizeXl = undefined;
        this.orderSm = undefined;
        this.orderMd = undefined;
        this.orderLg = undefined;
        this.orderXl = undefined;
        this.offsetSm = undefined;
        this.offsetMd = undefined;
        this.offsetLg = undefined;
        this.offsetXl = undefined;
        this.alignSm = undefined;
        this.alignMd = undefined;
        this.alignLg = undefined;
        this.alignXl = undefined;
        this.paddingGutterBase = undefined;
        this.paddingGutterSm = undefined;
        this.paddingGutterMd = undefined;
        this.paddingGutterLg = undefined;
        this.paddingGutterXl = undefined;
    }
    async setPaddingGutters(size, type = 'base') {
        switch (type) {
            case 'sm':
                this.paddingGutterSm = size;
                break;
            case 'md':
                this.paddingGutterMd = size;
                break;
            case 'lg':
                this.paddingGutterLg = size;
                break;
            case 'xl':
                this.paddingGutterXl = size;
                break;
            default: this.paddingGutterBase = size;
        }
    }
    /**
     * Render component
     */
    render() {
        return h(Host, { key: '91ce36af75b8d50476edb4e7f24b3f991d9696f4', class: cls(this.size ? `col-${this.size}` : 'col', this.sizeSm && `col-sm-${this.sizeSm}`, this.sizeMd && `col-md-${this.sizeMd}`, this.sizeLg && `col-lg-${this.sizeLg}`, this.sizeXl && `col-xl-${this.sizeXl}`, this.order && `order-${this.order}`, this.orderSm && `order-sm-${this.orderSm}`, this.orderMd && `order-md-${this.orderMd}`, this.orderLg && `order-lg-${this.orderLg}`, this.orderXl && `order-xl-${this.orderXl}`, this.offset && `offset-${this.offset}`, this.offsetSm && `offset-sm-${this.offsetSm}`, this.offsetMd && `offset-md-${this.offsetMd}`, this.offsetLg && `offset-lg-${this.offsetLg}`, this.offsetXl && `offset-xl-${this.offsetXl}`, this.align && `align-self-${this.align}`, this.alignSm && `align-self-sm-${this.alignSm}`, this.alignMd && `align-self-md-${this.alignMd}`, this.alignLg && `align-self-lg-${this.alignLg}`, this.alignXl && `align-self-xl-${this.alignXl}`, this.paddingGutterBase && `px-${this.paddingGutterBase}`, this.paddingGutterSm && `px-sm-${this.paddingGutterSm}`, this.paddingGutterMd && `px-md-${this.paddingGutterMd}`, this.paddingGutterLg && `px-lg-${this.paddingGutterLg}`, this.paddingGutterXl && `px-xl-${this.paddingGutterXl}`, { 'col-auto': this.size === 'auto' || this.auto }) }, h("slot", { key: '5e3d949b7bab0b38ab9833caed541fde33c01acf' }));
    }
    static get is() { return "x-col"; }
    static get originalStyleUrls() {
        return {
            "$": ["./style.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["style.css"]
        };
    }
    static get properties() {
        return {
            "size": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnSizeType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"",
                    "references": {
                        "ColumnSizeType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnSizeType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element column size"
                },
                "attribute": "size",
                "reflect": false
            },
            "order": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOrderType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"first\" | \"last\"",
                    "references": {
                        "ColumnOrderType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOrderType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element aligment order"
                },
                "attribute": "order",
                "reflect": false
            },
            "offset": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOffsetType",
                    "resolved": "\"0\" | \"1\" | \"10\" | \"11\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\"",
                    "references": {
                        "ColumnOffsetType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOffsetType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element offset size"
                },
                "attribute": "offset",
                "reflect": false
            },
            "align": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "RowAlignType",
                    "resolved": "\"center\" | \"end\" | \"normal\" | \"start\" | \"stretch\"",
                    "references": {
                        "RowAlignType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowAlignType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element align items style"
                },
                "attribute": "align",
                "reflect": false
            },
            "auto": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element auto size column"
                },
                "attribute": "auto",
                "reflect": false
            },
            "sizeSm": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnSizeType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"",
                    "references": {
                        "ColumnSizeType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnSizeType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element column size in small screens"
                },
                "attribute": "size-sm",
                "reflect": false
            },
            "sizeMd": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnSizeType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"",
                    "references": {
                        "ColumnSizeType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnSizeType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element column size in medium screens"
                },
                "attribute": "size-md",
                "reflect": false
            },
            "sizeLg": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnSizeType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"",
                    "references": {
                        "ColumnSizeType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnSizeType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element column size in large screens"
                },
                "attribute": "size-lg",
                "reflect": false
            },
            "sizeXl": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnSizeType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"",
                    "references": {
                        "ColumnSizeType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnSizeType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element column size in extra large screens"
                },
                "attribute": "size-xl",
                "reflect": false
            },
            "orderSm": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOrderType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"first\" | \"last\"",
                    "references": {
                        "ColumnOrderType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOrderType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element aligment order in small screens"
                },
                "attribute": "order-sm",
                "reflect": false
            },
            "orderMd": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOrderType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"first\" | \"last\"",
                    "references": {
                        "ColumnOrderType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOrderType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element aligment order in medium screens"
                },
                "attribute": "order-md",
                "reflect": false
            },
            "orderLg": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOrderType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"first\" | \"last\"",
                    "references": {
                        "ColumnOrderType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOrderType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element aligment order in large screens"
                },
                "attribute": "order-lg",
                "reflect": false
            },
            "orderXl": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOrderType",
                    "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"first\" | \"last\"",
                    "references": {
                        "ColumnOrderType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOrderType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element aligment order in extra large screens"
                },
                "attribute": "order-xl",
                "reflect": false
            },
            "offsetSm": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOffsetType",
                    "resolved": "\"0\" | \"1\" | \"10\" | \"11\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\"",
                    "references": {
                        "ColumnOffsetType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOffsetType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element offset size in small screens"
                },
                "attribute": "offset-sm",
                "reflect": false
            },
            "offsetMd": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOffsetType",
                    "resolved": "\"0\" | \"1\" | \"10\" | \"11\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\"",
                    "references": {
                        "ColumnOffsetType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOffsetType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element offset size in medium screens"
                },
                "attribute": "offset-md",
                "reflect": false
            },
            "offsetLg": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOffsetType",
                    "resolved": "\"0\" | \"1\" | \"10\" | \"11\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\"",
                    "references": {
                        "ColumnOffsetType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOffsetType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element offset size in large screens"
                },
                "attribute": "offset-lg",
                "reflect": false
            },
            "offsetXl": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "ColumnOffsetType",
                    "resolved": "\"0\" | \"1\" | \"10\" | \"11\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\"",
                    "references": {
                        "ColumnOffsetType": {
                            "location": "local",
                            "path": "/opt/atlassian/pipelines/agent/build/src/components/x-grid/component-col.tsx",
                            "id": "src/components/x-grid/component-col.tsx::ColumnOffsetType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element offset size in extra large screens"
                },
                "attribute": "offset-xl",
                "reflect": false
            },
            "alignSm": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "RowAlignType",
                    "resolved": "\"center\" | \"end\" | \"normal\" | \"start\" | \"stretch\"",
                    "references": {
                        "RowAlignType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowAlignType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element align items style in small screens"
                },
                "attribute": "align-sm",
                "reflect": false
            },
            "alignMd": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "RowAlignType",
                    "resolved": "\"center\" | \"end\" | \"normal\" | \"start\" | \"stretch\"",
                    "references": {
                        "RowAlignType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowAlignType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element align items style in medium screens"
                },
                "attribute": "align-md",
                "reflect": false
            },
            "alignLg": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "RowAlignType",
                    "resolved": "\"center\" | \"end\" | \"normal\" | \"start\" | \"stretch\"",
                    "references": {
                        "RowAlignType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowAlignType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element align items style in large screens"
                },
                "attribute": "align-lg",
                "reflect": false
            },
            "alignXl": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "RowAlignType",
                    "resolved": "\"center\" | \"end\" | \"normal\" | \"start\" | \"stretch\"",
                    "references": {
                        "RowAlignType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowAlignType"
                        }
                    }
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "Element align items style in extra large screens"
                },
                "attribute": "align-xl",
                "reflect": false
            }
        };
    }
    static get states() {
        return {
            "paddingGutterBase": {},
            "paddingGutterSm": {},
            "paddingGutterMd": {},
            "paddingGutterLg": {},
            "paddingGutterXl": {}
        };
    }
    static get methods() {
        return {
            "setPaddingGutters": {
                "complexType": {
                    "signature": "(size: RowGuttersType, type?: GridSizesType) => Promise<void>",
                    "parameters": [{
                            "name": "size",
                            "type": "\"0\" | \"1\" | \"2\" | \"3\" | \"4\" | \"5\"",
                            "docs": ""
                        }, {
                            "name": "type",
                            "type": "\"base\" | \"md\" | \"sm\" | \"lg\" | \"xl\"",
                            "docs": ""
                        }],
                    "references": {
                        "Promise": {
                            "location": "global",
                            "id": "global::Promise"
                        },
                        "RowGuttersType": {
                            "location": "import",
                            "path": "./component-row",
                            "id": "src/components/x-grid/component-row.tsx::RowGuttersType"
                        },
                        "GridSizesType": {
                            "location": "import",
                            "path": "./component",
                            "id": "src/components/x-grid/component.tsx::GridSizesType"
                        }
                    },
                    "return": "Promise<void>"
                },
                "docs": {
                    "text": "",
                    "tags": []
                }
            }
        };
    }
}
