UNPKG

2.48 kBJavaScriptView Raw
1/*!
2 * Bulmil - MIT License
3 */
4'use strict';
5
6Object.defineProperty(exports, '__esModule', { value: true });
7
8const index = require('./index-481858d9.js');
9
10const dropdownCss = ".dropdown{display:-ms-inline-flexbox;display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:white;border-radius:4px;box-shadow:0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02);padding-bottom:0.5rem;padding-top:0.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:whitesmoke;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#5851ff;color:#fff}.dropdown-divider{background-color:#ededed;border:none;display:block;height:1px;margin:0.5rem 0}";
11
12let Dropdown = class {
13 constructor(hostRef) {
14 index.registerInstance(this, hostRef);
15 /**
16 * The dropdown visibility
17 */
18 this.isActive = false;
19 /**
20 * Align the dropdown to the right
21 */
22 this.isRight = false;
23 /**
24 * Dropdown menu that appears above the dropdown button
25 */
26 this.isUp = false;
27 /**
28 * The dropdown will show up when hovering the dropdown-trigger
29 */
30 this.isHoverable = false;
31 /**
32 * Handle Trigger click action
33 */
34 this.handleTriggerClick = () => {
35 this.isActive = !this.isActive;
36 };
37 }
38 render() {
39 return (index.h("div", { class: {
40 dropdown: true,
41 'is-active': this.isActive,
42 'is-right': this.isRight,
43 'is-up': this.isUp,
44 'is-hoverable': this.isHoverable,
45 } }, index.h("div", { onClick: this.handleTriggerClick, class: "dropdown-trigger" }, index.h("slot", { name: "trigger", "aria-haspopup": "true" })), index.h("div", { class: "dropdown-menu", role: "menu" }, index.h("div", { class: "dropdown-content" }, index.h("slot", null)))));
46 }
47};
48Dropdown.style = dropdownCss;
49
50exports.bm_dropdown = Dropdown;