@fluid-topics/ft-button
Version:
A generic Fluid Topics tag
52 lines (51 loc) • 1.92 kB
JavaScript
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 { property } from "lit/decorators.js";
import { safariEllipsisFix } from "@fluid-topics/ft-wc-utils";
import { classicStyles } from "./ft-button.styles";
import { FtBaseButton } from "./ft-base-button";
class FtButton extends FtBaseButton {
constructor() {
super(...arguments);
this.primary = false;
this.outlined = false;
this.dense = false;
this.round = false;
}
get buttonClasses() {
return {
"ft-button": true,
"ft-button--primary": this.primary,
"ft-button--outlined": this.outlined,
"ft-button--dense": this.dense,
"ft-button--round": this.round,
"ft-button--trailing-icon": this.trailingIcon,
"ft-button--loading": this.trailingIcon,
"ft-no-text-select": true,
};
}
get typographyVariant() {
return "button";
}
}
FtButton.styles = [
safariEllipsisFix,
classicStyles
];
__decorate([
property({ type: Boolean })
], FtButton.prototype, "primary", void 0);
__decorate([
property({ type: Boolean })
], FtButton.prototype, "outlined", void 0);
__decorate([
property({ type: Boolean })
], FtButton.prototype, "dense", void 0);
__decorate([
property({ type: Boolean })
], FtButton.prototype, "round", void 0);
export { FtButton };