@ribajs/bs5
Version:
Bootstrap 5 module for Riba.js
52 lines • 5.3 kB
JavaScript
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