import { h, Host } from "@stencil/core";
export class PdsRow {
    constructor() {
        this.colGapMap = {
            none: '0',
            xxs: '.25rem',
            xs: '.5rem',
            sm: '1rem',
            md: '1.5rem',
            lg: '2.25rem',
            xl: '3rem',
            xxl: '4rem',
        };
        this.alignItems = undefined;
        this.border = false;
        this.colGap = undefined;
        this.componentId = undefined;
        this.justifyContent = undefined;
        this.minHeight = undefined;
        this.noWrap = false;
    }
    render() {
        const rowClasses = `
    ${this.alignItems !== undefined && this.alignItems.trim() !== '' ? `pds-align-items-${this.alignItems}` : ''}
    ${this.border ? 'pds-row--border' : ''}
    ${this.justifyContent !== undefined && this.justifyContent.trim() !== '' ? `pds-justify-content-${this.justifyContent}` : ''}
    ${this.noWrap ? 'pds-row--no-wrap' : ''}
  `;
        const rowInlineStyles = Object.assign(Object.assign({}, (this.colGap && {
            '--row-gap-x': this.colGap !== undefined && this.colGap.trim() !== '' ? this.colGapMap[this.colGap] : '',
            '--row-gap-y': this.colGap !== undefined && this.colGap.trim() !== '' ? this.colGapMap[this.colGap] : '',
        })), (this.minHeight && {
            'min-height': this.minHeight,
        }));
        return h(Host, { key: 'b764491968a34ae8f1e3e329111cb4ba0887bdef', class: `pds-row ${rowClasses}`, style: rowInlineStyles });
    }
    static get is() { return "pds-row"; }
    static get originalStyleUrls() {
        return {
            "$": ["pds-row.scss"]
        };
    }
    static get styleUrls() {
        return {
            "$": ["pds-row.css"]
        };
    }
    static get properties() {
        return {
            "alignItems": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "`start` | `center` | `end` | `baseline` | `stretch`",
                    "resolved": "\"baseline\" | \"center\" | \"end\" | \"start\" | \"stretch\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [{
                            "name": "defaultValue",
                            "text": "start"
                        }],
                    "text": "Defines the vertical alignment of the row items."
                },
                "attribute": "align-items",
                "reflect": false
            },
            "border": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "If `true`, the row will have a border."
                },
                "attribute": "border",
                "reflect": false,
                "defaultValue": "false"
            },
            "colGap": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "BoxTShirtSizeType | null",
                    "resolved": "\"lg\" | \"md\" | \"none\" | \"sm\" | \"xl\" | \"xs\" | \"xxl\" | \"xxs\"",
                    "references": {
                        "BoxTShirtSizeType": {
                            "location": "import",
                            "path": "../../utils/types",
                            "id": "src/utils/types.ts::BoxTShirtSizeType"
                        }
                    }
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "Defines the spacing between the row items."
                },
                "attribute": "col-gap",
                "reflect": false
            },
            "componentId": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": false,
                "docs": {
                    "tags": [],
                    "text": "A unique identifier used for the underlying component `id` attribute."
                },
                "attribute": "component-id",
                "reflect": false
            },
            "justifyContent": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "`start` | `center` | `end` | `space-between` | `space-around`",
                    "resolved": "\"center\" | \"end\" | \"space-around\" | \"space-between\" | \"start\"",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [{
                            "name": "defaultValue",
                            "text": "start"
                        }],
                    "text": "Defines the horizontal alignment of the row items."
                },
                "attribute": "justify-content",
                "reflect": false
            },
            "minHeight": {
                "type": "string",
                "mutable": false,
                "complexType": {
                    "original": "string",
                    "resolved": "string",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "The minimum height of the row. Used in conjunction with alignment props"
                },
                "attribute": "min-height",
                "reflect": false
            },
            "noWrap": {
                "type": "boolean",
                "mutable": false,
                "complexType": {
                    "original": "boolean",
                    "resolved": "boolean",
                    "references": {}
                },
                "required": false,
                "optional": true,
                "docs": {
                    "tags": [],
                    "text": "If `true`, the row items will not wrap to the next line if horizontal space is not available."
                },
                "attribute": "no-wrap",
                "reflect": false,
                "defaultValue": "false"
            }
        };
    }
}
//# sourceMappingURL=pds-row.js.map
