UNPKG

@ribajs/bs5

Version:

Bootstrap 5 module for Riba.js

66 lines 5.04 kB
import { Component } from "@ribajs/core"; import template from "./bs5-toast-item.component.html?raw"; import { Toast } from "../../services/index.js"; import { getElementFromEvent } from "@ribajs/utils/src/dom.js"; export class Bs5ToastItemComponent extends Component { static tagName = "bs5-toast-item"; _debug = false; autobind = true; toastService; static get observedAttributes() { return ["toast", "icon-url", "index"]; } requiredAttributes() { return ["toast"]; } scope = { onHidden: this.onHidden.bind(this), index: -1, dismiss: this.dismiss.bind(this), toast: undefined, }; constructor() { super(); } connectedCallback() { super.connectedCallback(); this.init(Bs5ToastItemComponent.observedAttributes); } async afterBind() { this.initToast(); await super.afterBind(); } initToast() { const toast = this.scope.toast; const toastEl = this.firstElementChild; if (toast && toastEl) { this.toastService = new Toast(toastEl, { delay: toast.delay !== undefined ? toast.delay : 5000, autohide: toast.autoHide !== undefined ? toast.autoHide : true, animation: toast.animation !== undefined ? toast.animation : true, }); toastEl.addEventListener(Toast.EVENT_HIDDEN, this.scope.onHidden, { once: true, }); this.toastService.show(); } } dismiss() { this.toastService?.hide(); } onHidden(event, el) { if (!el) { el = getElementFromEvent(event); } const toastContainer = this.scope.$parent?.$parent || null; if (typeof toastContainer?.onItemHide === "function" && this.scope.toast && el) { toastContainer.onItemHide(event, el, this.scope.index, this.scope.toast); } } template() { return template; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnM1LXRvYXN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYnM1LXRvYXN0LWl0ZW0vYnM1LXRvYXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQStCLE1BQU0sY0FBYyxDQUFDO0FBRXRFLE9BQU8sUUFBUSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFFbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFlL0QsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQVM7SUFDM0MsTUFBTSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztJQUVsQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ1osUUFBUSxHQUFHLElBQUksQ0FBQztJQUVoQixZQUFZLENBQVM7SUFFL0IsTUFBTSxLQUFLLGtCQUFrQjtRQUMzQixPQUFPLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRU0sS0FBSyxHQUFVO1FBQ3BCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbEMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNULE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDaEMsS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQztJQUVGO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRVMsS0FBSyxDQUFDLFNBQVM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUyxTQUFTO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQy9CLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBdUMsQ0FBQztRQUM3RCxJQUFJLEtBQUssSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtnQkFDckMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNyRCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzlELFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNsRSxDQUFDLENBQUM7WUFHSCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDaEUsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDLENBQUM7WUFHSCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBR00sT0FBTztRQUNaLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUdNLFFBQVEsQ0FBQyxLQUFZLEVBQUUsRUFBZ0I7UUFDNUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsRUFBRSxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQztRQUN0QyxJQUNFLE9BQU8sY0FBYyxFQUFFLFVBQVUsS0FBSyxVQUFVO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUNoQixFQUFFLEVBQ0YsQ0FBQztZQUNELGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDIn0=