var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { UmbLitElement } from '../../lit-element/index.js';
import { classMap, customElement, css, html, property } from '../../../../external/lit/index.js';
/**
 *  @element umb-stack
 *  @description - Element for displaying items in a stack with even spacing between
 *  @augments LitElement
 */
let UmbStackElement = class UmbStackElement extends UmbLitElement {
    constructor() {
        super(...arguments);
        /**
         * Look
         * @type {string}
         * @memberof UmbStackElement
         */
        this.look = 'default';
        /**
         * Divide
         * @type {boolean}
         * @memberof UmbStackElement
         */
        this.divide = false;
    }
    render() {
        return html `
			<div class=${classMap({ divide: this.divide, compact: this.look === 'compact' })}>
				<slot></slot>
			</div>
		`;
    }
    static { this.styles = [
        css `
			div {
				display: block;
				position: relative;
			}

			::slotted(*) {
				position: relative;
				margin-top: var(--uui-size-space-6);
			}

			.divide ::slotted(*)::before {
				content: '';
				position: absolute;
				top: calc((var(--uui-size-space-6) / 2) * -1);
				height: 0;
				width: 100%;
				border-top: solid 1px var(--uui-color-divider-standalone);
			}

			::slotted(*:first-child) {
				margin-top: 0;
			}

			.divide ::slotted(*:first-child)::before {
				display: none;
			}

			.compact ::slotted(*) {
				margin-top: var(--uui-size-space-3);
			}

			.compact ::slotted(*:first-child) {
				margin-top: 0;
			}

			.compact.divide ::slotted(*)::before {
				display: none;
			}
		`,
    ]; }
};
__decorate([
    property({ type: String })
], UmbStackElement.prototype, "look", void 0);
__decorate([
    property({ type: Boolean })
], UmbStackElement.prototype, "divide", void 0);
UmbStackElement = __decorate([
    customElement('umb-stack')
], UmbStackElement);
export { UmbStackElement };
export default UmbStackElement;
