PageSourceSearch

https://portal.godesignguru.com/build/assets/popover-DTQdCRwt.js

js godesignguru.com collected 2026-10-04 05:47:43 UTC 11,307 bytes, 202 lines download raw bytes

1import { q as re, N as se, E as ie, n as Z, e as k } from "./XMarkIcon-C7ztHuKP.js";
2import { B as pe, r as ve, A as R, n as W, o, m as D, p as L, I as ce, k as U, l as J, P as B, N as O, q as _, v as j, s as K, L as X, T as V, J as fe, K as de, x as C } from "./index-CDyB1Hog.js";
3import { a5 as q, p as ee, X as z, a6 as x, F as Q, G as F, g as $, k as te, L as le, a4 as Y } from "./app-yg_pP4S4.js";
4var be = ((r) => (r[r.Open = 0] = "Open", r[r.Closed = 1] = "Closed", r))(be || {});
5let oe = /* @__PURE__ */ Symbol("PopoverContext");
6function H(r) {
7  let f = Y(oe, null);
8  if (f === null) {
9    let d = new Error(`<${r} /> is missing a parent <${me.name} /> component.`);
10    throw Error.captureStackTrace && Error.captureStackTrace(d, H), d;
11  }
12  return f;
13}
14let Pe = /* @__PURE__ */ Symbol("PopoverGroupContext");
15function ae() {
16  return Y(Pe, null);
17}
18let ne = /* @__PURE__ */ Symbol("PopoverPanelContext");
19function Se() {
20  return Y(ne, null);
21}
22let me = q({ name: "Popover", inheritAttrs: false, props: { as: { type: [Object, String], default: "div" } }, setup(r, { slots: f, attrs: d, expose: w }) {
23  var m;
24  let b = F(null);
25  w({ el: b, $el: b });
26  let l = F(1), t = F(null), y = F(null), g = F(null), P = F(null), c = $(() => W(b)), h = $(() => {
27    var e, n;
28    if (!o(t) || !o(P)) return false;
29    for (let A of document.querySelectorAll("body > *")) if (Number(A == null ? void 0 : A.contains(o(t))) ^ Number(A == null ? void 0 : A.contains(o(P)))) return true;
30    let a = X(), p = a.indexOf(o(t)), E = (p + a.length - 1) % a.length, I = (p + 1) % a.length, M = a[E], ue = a[I];
31    return !((e = o(P)) != null && e.contains(M)) && !((n = o(P)) != null && n.contains(ue));
32  }), v = { popoverState: l, buttonId: F(null), panelId: F(null), panel: P, button: t, isPortalled: h, beforePanelSentinel: y, afterPanelSentinel: g, togglePopover() {
33    l.value = D(l.value, { 0: 1, 1: 0 });
34  }, closePopover() {
35    l.value !== 1 && (l.value = 1);
36  }, close(e) {
37    v.closePopover();
38    let n = e ? e instanceof HTMLElement ? e : e.value instanceof HTMLElement ? o(e) : o(v.button) : o(v.button);
39    n == null ? void 0 : n.focus();
40  } };
41  ee(oe, v), pe($(() => D(l.value, { 0: j.Open, 1: j.Closed })));
42  let T = { buttonId: v.buttonId, panelId: v.panelId, close() {
43    v.closePopover();
44  } }, S = ae(), N = S == null ? void 0 : S.registerPopover, [G, s] = re(), i = se({ mainTreeNodeRef: S == null ? void 0 : S.mainTreeNodeRef, portals: G, defaultContainers: [t, P] });
45  function u() {
46    var e, n, a, p;
47    return (p = S == null ? void 0 : S.isFocusWithinPopoverGroup()) != null ? p : ((e = c.value) == null ? void 0 : e.activeElement) && (((n = o(t)) == null ? void 0 : n.contains(c.value.activeElement)) || ((a = o(P)) == null ? void 0 : a.contains(c.value.activeElement)));
48  }
49  return z(() => N == null ? void 0 : N(T)), ie((m = c.value) == null ? void 0 : m.defaultView, "focus", (e) => {
50    var n, a;
51    e.target !== window && e.target instanceof HTMLElement && l.value === 0 && (u() || t && P && (i.contains(e.target) || (n = o(v.beforePanelSentinel)) != null && n.contains(e.target) || (a = o(v.afterPanelSentinel)) != null && a.contains(e.target) || v.closePopover()));
52  }, true), ve(i.resolveContainers, (e, n) => {
53    var a;
54    v.closePopover(), fe(n, de.Loose) || (e.preventDefault(), (a = o(t)) == null || a.focus());
55  }, $(() => l.value === 0)), () => {
56    let e = { open: l.value === 0, close: v.close };
57    return x(Q, [x(s, {}, () => R({ theirProps: { ...r, ...d }, ourProps: { ref: b }, slot: e, slots: f, attrs: d, name: "Popover" })), x(i.MainTreeNode)]);
58  };
59} }), $e = q({ name: "PopoverButton", props: { as: { type: [Object, String], default: "button" }, disabled: { type: [Boolean], default: false }, id: { type: String, default: null } }, inheritAttrs: false, setup(r, { attrs: f, slots: d, expose: w }) {
60  var m;
61  let b = (m = r.id) != null ? m : `headlessui-popover-button-${L()}`, l = H("PopoverButton"), t = $(() => W(l.button));
62  w({ el: l.button, $el: l.button }), te(() => {
63    l.buttonId.value = b;
64  }), le(() => {
65    l.buttonId.value = null;
66  });
67  let y = ae(), g = y == null ? void 0 : y.closeOthers, P = Se(), c = $(() =>
67 P === null ? false : P.value === l.panelId.value), h = F(null), v = `headlessui-focus-sentinel-${L()}`;
68  c.value || z(() => {
69    l.button.value = o(h);
70  });
71  let T = ce($(() => ({ as: r.as, type: f.type })), h);
72  function S(e) {
73    var n, a, p, E, I;
74    if (c.value) {
75      if (l.popoverState.value === 1) return;
76      switch (e.key) {
77        case C.Space:
78        case C.Enter:
79          e.preventDefault(), (a = (n = e.target).click) == null || a.call(n), l.closePopover(), (p = o(l.button)) == null || p.focus();
80          break;
81      }
82    } else switch (e.key) {
83      case C.Space:
84      case C.Enter:
85        e.preventDefault(), e.stopPropagation(), l.popoverState.value === 1 && (g == null ? void 0 : g(l.buttonId.value)), l.togglePopover();
86        break;
87      case C.Escape:
88        if (l.popoverState.value !== 0) return g == null ? void 0 : g(l.buttonId.value);
89        if (!o(l.button) || (E = t.value) != null && E.activeElement && !((I = o(l.button)) != null && I.contains(t.value.activeElement))) return;
90        e.preventDefault(), e.stopPropagation(), l.closePopover();
91        break;
92    }
93  }
94  function N(e) {
95    c.value || e.key === C.Space && e.preventDefault();
96  }
97  function G(e) {
98    var n, a;
99    r.disabled || (c.value ? (l.closePopover(), (n = o(l.button)) == null || n.focus()) : (e.preventDefault(), e.stopPropagation(), l.popoverState.value === 1 && (g == null ? void 0 : g(l.buttonId.value)), l.togglePopover(), (a = o(l.button)) == null || a.focus()));
100  }
101  function s(e) {
102    e.preventDefault(), e.stopPropagation();
103  }
104  let i = Z();
105  function u() {
106    let e = o(l.panel);
107    if (!e) return;
108    function n() {
109      D(i.value, { [k.Forwards]: () => B(e, O.First), [k.Backwards]: () => B(e, O.Last) }) === V.Error && B(X().filter((a) => a.dataset.headlessuiFocusGuard !== "true"), D(i.value, { [k.Forwards]: O.Next, [k.Backwards]: O.Previous }), { relativeTo: o(l.button) });
110    }
111    n();
112  }
113  return () => {
114    let e = l.popoverState.value === 0, n = { open: e }, { ...a } = r, p = c.value ? { ref: h, type: T.value, onKeydown: S, onClick: G } : { ref: h, id: b, type: T.value, "aria-expanded": l.popoverState.value === 0, "aria-controls": o(l.panel) ? l.panelId.value : void 0, disabled: r.disabled ? true : void 0, onKeydown: S, onKeyup: N, onClick: G, onMousedown: s };
115    return x(Q, [R({ ourProps: p, theirProps: { ...f, ...a }, slot: n, attrs: f, slots: d, name: "PopoverButton" }), e && !c.value && l.isPortalled.value && x(U, { id: v, features: J.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: u })]);
116  };
117} }), we = q({ name: "PopoverOverlay", props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: false }, unmount: { type: Boolean, default: true } }, setup(r, { attrs: f, slots: d }) {
118  let w = H("PopoverOverlay"), m = `headlessui-popover-overlay-${L()}`, b = _(), l = $(() => b !== null ? (b.value & j.Open) === j.Open : w.popoverState.value === 0);
119  function t() {
120    w.closePopover();
121  }
122  return () => {
123    let y = { open: w.popoverState.value === 0 };
124    return R({ ourProps: { id: m, "aria-hidden": true, onClick: t }, theirProps: r, slot: y, attrs: f, slots: d, features: K.RenderStrategy | K.Static, visible: l.value, name: "PopoverOverlay" });
125  };
126} }), Ee = q({ name: "PopoverPanel", props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: false }, unmount: { type: Boolean, default: true }, focus: { type: Boolean, default: false }, id: { type: String, default: null } }, inheritAttrs: false, setup(r, { attrs: f, slots: d, expose: w }) {
127  var m;
128  let b = (m = r.id) != null ? m : `headlessui-popover-panel-${L()}`, { focus: l } = r, t = H("PopoverPanel"), y = $(() => W(t.panel)), g = `headlessui-focus-sentinel-before-${L()}`, P = `headlessui-focus-sentinel-after-${L()}`;
129  w({ el: t.panel, $el: t.panel }), te(() => {
130    t.panelId.value = b;
131  }), le(() => {
132    t.panelId.value = null;
133  }), ee(ne, t.panelId), z(() => {
134    var s, i;
135    if (!l || t.popoverState.value !== 0 || !t.panel) return;
136    let u = (s = y.value) == null ? void 0 : s.activeElement;
137    (i = o(t.panel)) != null && i.contains(u) || B(o(t.panel), O.First);
138  });
139  let c = _(), h = $(() => c !== null ? (c.value & j.Open) === j.Open : t.popoverState.value === 0);
140  function v(s) {
141    var i, u;
142    switch (s.key) {
143      case C.Escape:
144        if (t.popoverState.value !== 0 || !o(t.panel) || y.value && !((i = o(t.panel)) != null && i.contains(y.value.activeElement))) return;
145        s.preventDefault(), s.stopPropagation(), t.closePopover(), (u = o(t.button)) == null || u.focus();
146        break;
147    }
148  }
149  function T(s) {
150    var i, u, e, n, a;
151    let p = s.relatedTarget;
152    p && o(t.panel) && ((i = o(t.panel)) != null && i.contains(p) || (t.closePopover(), ((e = (u = o(t.beforePanelSentinel)) == null ? void 0 : u.contains) != null && e.call(u, p) || (a = (n = o(t.afterPanelSentinel)) == null ? void 0 : n.contains) != null && a.call(n, p)) && p.focus({ preventScroll: true })));
153  }
154  let S = Z();
155  function N() {
156    let s = o(t.panel);
157    if (!s) return;
158    function i() {
159      D(S.value, { [k.Forwards]: () => {
160        var u;
161        B(s, O.First) === V.Error && ((u = o(t.afterPanelSentinel)) == null || u.focus());
162      }, [k.Backwards]: () => {
163        var u;
164        (u = o(t.button)) == null || u.focus({ preventScroll: true });
165      } });
166    }
167    i();
168  }
169  function G() {
170    let s = o(t.panel);
171    if (!s) return;
172    function i() {
173      D(S.value, { [k.Forwards]: () => {
174        let u = o(t.button), e = o(t.panel);
175        if (!u) return;
176        let n = X(), a = n.indexOf(u), p = n.slice(0, a + 1), E = [...n.slice(a + 1), ...p];
177        for (let I of E.slice()) if (I.dataset.headlessuiFocusGuard === "true" || e != null && e.contains(I)) {
178          let M = E.indexOf(I);
179          M !== -1 && E.splice(M, 1);
180        }
181        B(E, O.First, { sorted: false });
182      }, [k.Backwards]: () => {
183        var u;
184        B(s, O.Previous) === V.Error && ((u = o(t.button)) == null || u.focus());
185      } });
186    }
187    i();
188  }
189  return () => {
190    let s = { open: t.popoverState.value === 0, close: t.close }, { focus: i, ...u } = r, e = { ref: t.panel, id: b, onKeydown: v, onFocusout: l && t.popoverState.value === 0 ? T : void 0, tabIndex: -1 };
191    return R({ ourProps: e, theirProps: { ...f, ...u }, attrs: f, slot: s, slots: { ...d, default: (...n) => {
192      var a;
193      return [x(Q, [h.value && t.isPortalled.value && x(U, { id: g, ref: t.beforePanelSentinel, features: J.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: N }), (a = d.default) == null ? void 0 : a.call(d, ...n), h.value && t.isPortalled.value && x(U, { id: P, ref: t.afterPanelSentinel, features: J.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: G })])];
194    } }, features: K.RenderStrategy | K.Static, visible: h.value, name: "PopoverPanel" });
195  };
196} });
197export {
198  we as $,
199  $e as G,
200  Ee as j,
201  me as y
202};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.