offcanvas.mjs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import { B as X, c as Y, d as f, _ as c, Z as m, t as _, u as j, G as O, a as D, s as E, m as h, x as T, a0 as q, $ as y, a1 as A, Q as w, a2 as B, J as N, a3 as P, E as x, r as I, M as z, k as F, v as L, W as C, N as R, Y as U } from "./base-component-BMXjNJAi.mjs";
  2. import { d as ee } from "./dataBsDismiss-DdNPQYa-.mjs";
  3. import { d as te } from "./dataBsToggle-B84TS15h.mjs";
  4. import { s as n } from "./showClass-C8hdJfjQ.mjs";
  5. import { h as se, o as i } from "./popupContainer-BY58HXTH.mjs";
  6. import { d as G, g as S, a as ae, t as oe, s as ne, h as K, o as l, i as ie, r as re, m as ce, c as le, f as Q } from "./isVisible-8OcOPiZa.mjs";
  7. import { g as W } from "./getTargetElement-px782XHx.mjs";
  8. import { i as fe } from "./isDisabled-BG5MoQVt.mjs";
  9. const ge = `.${i}`, Z = `[${te}="${i}"]`, de = `[${ee}="${i}"]`, u = `${i}-toggling`, ve = {
  10. backdrop: !0,
  11. keyboard: !0,
  12. scroll: !1
  13. }, g = (a) => _(a, G), me = (a) => new we(a), v = h(`show.bs.${i}`), J = h(`shown.bs.${i}`), b = h(`hide.bs.${i}`), M = h(`hidden.bs.${i}`), he = (a) => {
  14. const { element: e } = a, { clientHeight: t, scrollHeight: s } = z(e);
  15. le(e, t !== s);
  16. }, V = (a, e) => {
  17. const t = e ? x : I, s = f(a.element);
  18. t(s, F, Oe), t(s, L, be);
  19. }, H = (a) => {
  20. const { element: e, options: t } = a;
  21. t.scroll || (he(a), T(q(e), { overflow: "hidden" })), O(e, u), O(e, n), T(e, { visibility: "visible" }), E(e, () => Te(a));
  22. }, ue = (a) => {
  23. const { element: e, options: t } = a, s = S(e);
  24. e.blur(), !s && t.backdrop && c(l, n) && K(), E(e, () => ye(a));
  25. };
  26. function pe(a) {
  27. const e = W(this), t = e && g(e);
  28. fe(this) || t && (t.relatedTarget = this, t.toggle(), this.tagName === "A" && a.preventDefault());
  29. }
  30. const be = (a) => {
  31. const { target: e } = a, t = C(
  32. Q,
  33. f(e)
  34. );
  35. if (!t) return;
  36. const s = C(
  37. de,
  38. t
  39. ), o = g(t);
  40. if (!o) return;
  41. const { options: r, triggers: d } = o, { backdrop: $ } = r, p = R(e, Z), k = f(t).getSelection();
  42. l.contains(e) && $ === "static" || (!(k && k.toString().length) && (!t.contains(e) && $ && (!p || d.includes(e)) || s && s.contains(e)) && (o.relatedTarget = s && s.contains(e) ? s : void 0, o.hide()), p && p.tagName === "A" && a.preventDefault());
  43. }, Oe = ({ code: a, target: e }) => {
  44. const t = C(
  45. Q,
  46. f(e)
  47. ), s = t && g(t);
  48. s && s.options.keyboard && a === U && (s.relatedTarget = void 0, s.hide());
  49. }, Te = (a) => {
  50. const { element: e } = a;
  51. D(e, u), y(e, A), w(e, B, "true"), w(e, "role", "dialog"), m(e, J), V(a, !0), N(e), P(e);
  52. }, ye = (a) => {
  53. const { element: e, triggers: t } = a;
  54. w(e, A, "true"), y(e, B), y(e, "role"), T(e, { visibility: "" });
  55. const s = v.relatedTarget || t.find(ie);
  56. s && N(s), re(e), m(e, M), D(e, u), P(e), S(e) || V(a);
  57. };
  58. class we extends X {
  59. static selector = ge;
  60. static init = me;
  61. static getInstance = g;
  62. constructor(e, t) {
  63. super(e, t);
  64. const { element: s } = this;
  65. this.triggers = [
  66. ...Y(
  67. Z,
  68. f(s)
  69. )
  70. ].filter(
  71. (o) => W(o) === s
  72. ), this.relatedTarget = void 0, this._toggleEventListeners(!0);
  73. }
  74. get name() {
  75. return G;
  76. }
  77. get defaults() {
  78. return ve;
  79. }
  80. toggle() {
  81. c(this.element, n) ? this.hide() : this.show();
  82. }
  83. show() {
  84. const { element: e, options: t, relatedTarget: s } = this;
  85. let o = 0;
  86. if (c(e, n) || (v.relatedTarget = s || void 0, J.relatedTarget = s || void 0, m(e, v), v.defaultPrevented)) return;
  87. const r = S(e);
  88. if (r && r !== e) {
  89. const d = g(r) || _(
  90. r,
  91. ce
  92. );
  93. d && d.hide();
  94. }
  95. t.backdrop ? (se(l) ? oe() : ae(e, !0), o = j(l), ne(), setTimeout(() => H(this), o)) : (H(this), r && c(l, n) && K());
  96. }
  97. hide() {
  98. const { element: e, relatedTarget: t } = this;
  99. c(e, n) && (b.relatedTarget = t || void 0, M.relatedTarget = t || void 0, m(e, b), !b.defaultPrevented && (O(e, u), D(e, n), ue(this)));
  100. }
  101. _toggleEventListeners = (e) => {
  102. const t = e ? x : I;
  103. this.triggers.forEach((s) => {
  104. t(s, L, pe);
  105. });
  106. };
  107. dispose() {
  108. const { element: e } = this, t = c(e, n), s = () => setTimeout(() => super.dispose(), 1);
  109. this.hide(), this._toggleEventListeners(), t ? E(e, s) : s();
  110. }
  111. }
  112. export {
  113. we as default
  114. };
  115. //# sourceMappingURL=offcanvas.mjs.map