UNPKG

@ribajs/bs5

Version:

Bootstrap 5 module for Riba.js

52 lines 5.3 kB
import { Dropdown as _Dropdown } from "bootstrap"; import { Bs5DropdownComponent } from "../components/bs5-dropdown/bs5-dropdown.component.js"; const DROPDOWN_DATA_API_KEY = ".data-api"; const DROPDOWN_ARROW_DOWN_KEY = "ArrowDown"; const DROPDOWN_ARROW_UP_KEY = "ArrowUp"; const DROPDOWN_ESCAPE_KEY = "Escape"; export class Dropdown extends _Dropdown { static hideAll(event) { this.clearMenus(event); } static getAllComponents() { const dropdownEls = document.querySelectorAll(Bs5DropdownComponent.tagName); return Array.from(dropdownEls); } static hideAllComponents() { const dropdownEls = this.getAllComponents(); for (const dropdownEl of Array.from(dropdownEls)) { dropdownEl.dropdown?.hide(); } } constructor(element, options) { super(element, options); } static DATA_API_KEY = DROPDOWN_DATA_API_KEY; static ESCAPE_KEY = DROPDOWN_ESCAPE_KEY; static SPACE_KEY = "Space"; static TAB_KEY = "Tab"; static ARROW_UP_KEY = DROPDOWN_ARROW_UP_KEY; static ARROW_DOWN_KEY = DROPDOWN_ARROW_DOWN_KEY; static RIGHT_MOUSE_BUTTON = 2; static REGEXP_KEYDOWN = new RegExp(`${DROPDOWN_ARROW_UP_KEY}|${DROPDOWN_ARROW_DOWN_KEY}|${DROPDOWN_ESCAPE_KEY}`); static EVENT_HIDE = `hide${Dropdown.EVENT_KEY}`; static EVENT_HIDDEN = `hidden${Dropdown.EVENT_KEY}`; static EVENT_SHOW = `show${Dropdown.EVENT_KEY}`; static EVENT_SHOWN = `shown${Dropdown.EVENT_KEY}`; static EVENT_CLICK = `click${Dropdown.EVENT_KEY}`; static EVENT_CLICK_DATA_API = `click${Dropdown.EVENT_KEY}${DROPDOWN_DATA_API_KEY}`; static EVENT_KEYDOWN_DATA_API = `keydown${Dropdown.EVENT_KEY}${DROPDOWN_DATA_API_KEY}`; static EVENT_KEYUP_DATA_API = `keyup${Dropdown.EVENT_KEY}${DROPDOWN_DATA_API_KEY}`; static CLASS_NAME_DISABLED = "disabled"; static CLASS_NAME_SHOW = "show"; static CLASS_NAME_DROPUP = "dropup"; static CLASS_NAME_DROPEND = "dropend"; static CLASS_NAME_DROPSTART = "dropstart"; static CLASS_NAME_NAVBAR = "navbar"; static SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dropdown"]'; static SELECTOR_FORM_CHILD = ".dropdown form"; static SELECTOR_MENU = ".dropdown-menu"; static SELECTOR_NAVBAR_NAV = ".navbar-nav"; static SELECTOR_VISIBLE_ITEMS = ".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)"; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFNUYsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUM7QUFFMUMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUM7QUFDNUMsTUFBTSxxQkFBcUIsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUM7QUFLckMsTUFBTSxPQUFPLFFBQVMsU0FBUSxTQUFTO0lBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBWTtRQUMvQixJQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCO1FBQzVCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDM0Msb0JBQW9CLENBQUMsT0FBTyxDQUM3QixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsaUJBQWlCO1FBQzdCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVDLEtBQUssTUFBTSxVQUFVLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ2pELFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLE9BQXlCLEVBQUUsT0FBb0M7UUFDekUsS0FBSyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBT0QsTUFBTSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQztJQUU1QyxNQUFNLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sQ0FBQyxZQUFZLEdBQUcscUJBQXFCLENBQUM7SUFDNUMsTUFBTSxDQUFDLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQztJQUNoRCxNQUFNLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBRTlCLE1BQU0sQ0FBQyxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQ2hDLEdBQUcscUJBQXFCLElBQUksdUJBQXVCLElBQUksbUJBQW1CLEVBQUUsQ0FDN0UsQ0FBQztJQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsT0FBTyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEQsTUFBTSxDQUFDLFlBQVksR0FBRyxTQUFTLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwRCxNQUFNLENBQUMsVUFBVSxHQUFHLE9BQU8sUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxXQUFXLEdBQUcsUUFBUSxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxRQUFRLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsRCxNQUFNLENBQUMsb0JBQW9CLEdBQUcsUUFBUSxRQUFRLENBQUMsU0FBUyxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFDbkYsTUFBTSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsUUFBUSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3ZGLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLFFBQVEsQ0FBQyxTQUFTLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztJQUVuRixNQUFNLENBQUMsbUJBQW1CLEdBQUcsVUFBVSxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7SUFDcEMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztJQUN0QyxNQUFNLENBQUMsb0JBQW9CLEdBQUcsV0FBVyxDQUFDO0lBQzFDLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUM7SUFFcEMsTUFBTSxDQUFDLG9CQUFvQixHQUFHLDZCQUE2QixDQUFDO0lBQzVELE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUM5QyxNQUFNLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLENBQUM7SUFDM0MsTUFBTSxDQUFDLHNCQUFzQixHQUMzQiw2REFBNkQsQ0FBQyJ9