button.mjs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { B as l, _ as i, Q as a, F as c, v as g, t as u, a as m, G as p, E as v, r as f } from "./base-component-BMXjNJAi.mjs";
  2. import { a as n } from "./activeClass-iqaD75Su.mjs";
  3. import { d as h } from "./dataBsToggle-B84TS15h.mjs";
  4. import { i as b } from "./isDisabled-BG5MoQVt.mjs";
  5. const d = "button", r = "Button", B = `[${h}="${d}"]`, _ = (e) => u(e, r), A = (e) => new C(e);
  6. class C extends l {
  7. static selector = B;
  8. static init = A;
  9. static getInstance = _;
  10. constructor(s) {
  11. super(s);
  12. const { element: t } = this;
  13. this.isActive = i(t, n), a(t, c, String(!!this.isActive)), this._toggleEventListeners(!0);
  14. }
  15. get name() {
  16. return r;
  17. }
  18. toggle = (s) => {
  19. s && s.preventDefault();
  20. const { element: t, isActive: o } = this;
  21. if (b(t)) return;
  22. (o ? m : p)(t, n), a(t, c, o ? "false" : "true"), this.isActive = i(t, n);
  23. };
  24. _toggleEventListeners = (s) => {
  25. (s ? v : f)(this.element, g, this.toggle);
  26. };
  27. dispose() {
  28. this._toggleEventListeners(), super.dispose();
  29. }
  30. }
  31. export {
  32. C as default
  33. };
  34. //# sourceMappingURL=button.mjs.map