import { __decorate, __extends, __metadata } from "tslib";
import { classNamesFunction } from '@uifabric-vue/utilities';
import StatelessComponent from '../../StatelessComponent';
import { Component, Prop } from 'vue-property-decorator';
var getClassNames = classNamesFunction();
var ShimmerLineBase = /** @class */ (function (_super) {
    __extends(ShimmerLineBase, _super);
    function ShimmerLineBase() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    ShimmerLineBase.prototype.render = function (h, ctx) {
        var _a = ctx.props, height = _a.height, styles = _a.styles, width = _a.width, borderStyle = _a.borderStyle, theme = _a.theme;
        var classNames = getClassNames(styles, {
            theme: theme,
            height: height,
            borderStyle: borderStyle,
        });
        function createSvg(className, path) {
            return h('svg', {
                attrs: {
                    width: '2',
                    height: '2',
                    class: className,
                },
            }, [
                h('path', {
                    attrs: { d: path },
                }),
            ]);
        }
        return h('div', {
            style: { width: width, minWidth: typeof width === 'number' ? "".concat(width, "px") : 'auto' },
            class: classNames.root,
        }, [
            createSvg(classNames.topLeftCorner, 'M0 2 A 2 2, 0, 0, 1, 2 0 L 0 0 Z'),
            createSvg(classNames.topRightCorner, 'M0 0 A 2 2, 0, 0, 1, 2 2 L 2 0 Z'),
            createSvg(classNames.bottomRightCorner, 'M2 0 A 2 2, 0, 0, 1, 0 2 L 2 2 Z'),
            createSvg(classNames.bottomLeftCorner, 'M2 2 A 2 2, 0, 0, 1, 0 0 L 0 2 Z'),
        ]);
    };
    __decorate([
        Prop({ type: Number, default: 16 }),
        __metadata("design:type", Number)
    ], ShimmerLineBase.prototype, "height", void 0);
    __decorate([
        Prop({ type: String, default: '100%' }),
        __metadata("design:type", String)
    ], ShimmerLineBase.prototype, "width", void 0);
    __decorate([
        Prop({ type: String, default: '' }),
        __metadata("design:type", String)
    ], ShimmerLineBase.prototype, "borderStyle", void 0);
    ShimmerLineBase = __decorate([
        Component
    ], ShimmerLineBase);
    return ShimmerLineBase;
}(StatelessComponent));
export { ShimmerLineBase };
//# sourceMappingURL=ShimmerLine.base.js.map