import { __extends, __decorate, __metadata } from 'tslib';
import { classNamesFunction } from '@uifabric-vue/utilities';
import StatelessComponent from '../../StatelessComponent.js';
import { Prop, Component } from 'vue-property-decorator';

var getClassNames = classNamesFunction();
var ShimmerLineBase = function(_super) {
  __extends(ShimmerLineBase2, _super);
  function ShimmerLineBase2() {
    return _super !== null && _super.apply(this, arguments) || this;
  }
  ShimmerLineBase2.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)
  ], ShimmerLineBase2.prototype, "height", void 0);
  __decorate([
    Prop({ type: String, default: "100%" }),
    __metadata("design:type", String)
  ], ShimmerLineBase2.prototype, "width", void 0);
  __decorate([
    Prop({ type: String, default: "" }),
    __metadata("design:type", String)
  ], ShimmerLineBase2.prototype, "borderStyle", void 0);
  ShimmerLineBase2 = __decorate([
    Component
  ], ShimmerLineBase2);
  return ShimmerLineBase2;
}(StatelessComponent);

export { ShimmerLineBase };
