UNPKG

@ribajs/bs4

Version:

Bootstrap 4 module for Riba.js

62 lines 5.13 kB
import { Component } from "@ribajs/core"; export class Bs4ButtonComponent extends Component { static tagName = "bs4-button"; autobind = true; static get observedAttributes() { return ["animation-class"]; } scope = { animationClass: "btn-animation-start", onClick: this.onClick.bind(this), }; constructor() { super(); } onClick() { this.startAnimation(); } connectedCallback() { super.connectedCallback(); this.init(Bs4ButtonComponent.observedAttributes); } startAnimation() { this.classList.add(this.scope.animationClass); } onStartAnimation() { } onEndAnimation() { setTimeout(() => { this.classList.remove(this.scope.animationClass); }); } async init(observedAttributes) { return super.init(observedAttributes).then((view) => { this.onStartAnimation = this.onStartAnimation.bind(this); this.addEventListener("webkitAnimationStart", this.onStartAnimation); this.addEventListener("animationstart", this.onStartAnimation); this.onEndAnimation = this.onEndAnimation.bind(this); this.addEventListener("webkitAnimationEnd", this.onEndAnimation); this.addEventListener("animationend", this.onEndAnimation); this.addEventListener("click", this.scope.onClick); return view; }); } requiredAttributes() { return []; } parsedAttributeChangedCallback(attributeName, oldValue, newValue, namespace) { super.parsedAttributeChangedCallback(attributeName, oldValue, newValue, namespace); } disconnectedCallback() { super.disconnectedCallback(); this.removeEventListener("webkitAnimationStart", this.onStartAnimation); this.removeEventListener("animationstart", this.onStartAnimation); this.removeEventListener("webkitAnimationEnd", this.onEndAnimation); this.removeEventListener("animationend", this.onEndAnimation); this.removeEventListener("click", this.scope.onClick); } template() { return null; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnM0LWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9iczQtYnV0dG9uL2JzNC1idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQStCLE1BQU0sY0FBYyxDQUFDO0FBT3RFLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxTQUFTO0lBQ3hDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBRTNCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFFMUIsTUFBTSxLQUFLLGtCQUFrQjtRQUMzQixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sS0FBSyxHQUFVO1FBQ3BCLGNBQWMsRUFBRSxxQkFBcUI7UUFDckMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNqQyxDQUFDO0lBRUY7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxpQkFBaUI7UUFDekIsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFUyxjQUFjO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLGdCQUFnQjtJQUUxQixDQUFDO0lBRVMsY0FBYztRQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUE0QjtRQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsZ0JBQWdCLENBQ25CLHNCQUEwQyxFQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQUM7WUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQ25CLG9CQUFzQyxFQUN0QyxJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVTLDhCQUE4QixDQUN0QyxhQUFxQixFQUNyQixRQUFhLEVBQ2IsUUFBYSxFQUNiLFNBQXdCO1FBRXhCLEtBQUssQ0FBQyw4QkFBOEIsQ0FDbEMsYUFBYSxFQUNiLFFBQVEsRUFDUixRQUFRLEVBQ1IsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0lBR1Msb0JBQW9CO1FBQzVCLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEIsc0JBQTBDLEVBQzFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDdEIsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsbUJBQW1CLENBQ3RCLG9CQUFzQyxFQUN0QyxJQUFJLENBQUMsY0FBYyxDQUNwQixDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyJ9