UNPKG

alinea

Version:

[![npm](https://img.shields.io/npm/v/alinea.svg)](https://npmjs.org/package/alinea) [![install size](https://packagephobia.com/badge?p=alinea)](https://packagephobia.com/result?p=alinea)

485 lines (474 loc) 21.1 kB
import { n } from "../chunks/chunk-A5EY5PG6.js"; import { C, c as c2, d, h as h2, s as s3 } from "../chunks/chunk-VKS6HYMO.js"; import { M, N, O, T, e, f, h } from "../chunks/chunk-CRWVV7PH.js"; import { c, p } from "../chunks/chunk-PB6GIAHT.js"; import { r } from "../chunks/chunk-KO7U3IBJ.js"; import { D, I, S, T as T2, X, l, l2, o2 as o, o3 as o2, s, s2, s3 as s4, t, u, y } from "../chunks/chunk-QEHUZJO2.js"; import "../chunks/chunk-U5RRZUYZ.js"; // node_modules/@headlessui/react/dist/hooks/use-tab-direction.js import { useRef as t2 } from "react"; var s5 = ((r3) => (r3[r3.Forwards = 0] = "Forwards", r3[r3.Backwards = 1] = "Backwards", r3))(s5 || {}); function n2() { let e3 = t2(0); return s3("keydown", (o3) => { o3.key === "Tab" && (e3.current = o3.shiftKey ? 1 : 0); }, true), e3; } // node_modules/@headlessui/react/dist/hooks/use-event-listener.js import { useEffect as d2 } from "react"; function E(n4, e3, a2, t4) { let i = s2(a2); d2(() => { n4 = n4 != null ? n4 : window; function r3(o3) { i.current(o3); } return n4.addEventListener(e3, r3, t4), () => n4.removeEventListener(e3, r3, t4); }, [n4, e3, t4]); } // node_modules/@headlessui/react/dist/hooks/use-on-unmount.js import { useRef as u2, useEffect as n3 } from "react"; function c3(t4) { let r3 = o(t4), e3 = u2(false); n3(() => (e3.current = false, () => { e3.current = true, t(() => { e3.current && r3(); }); }), [r3]); } // node_modules/@headlessui/react/dist/components/portal/portal.js import T3, { Fragment as P, createContext as m, useContext as s6, useEffect as d3, useRef as g, useState as R, useMemo as E2 } from "react"; import { createPortal as H } from "react-dom"; // node_modules/@headlessui/react/dist/internal/portal-force-root.js import t3, { createContext as r2, useContext as c4 } from "react"; var e2 = r2(false); function l3() { return c4(e2); } // node_modules/@headlessui/react/dist/components/portal/portal.js function F(p2) { let l4 = l3(), n4 = s6(v), e3 = n(p2), [a2, o3] = R(() => { if (!l4 && n4 !== null || s.isServer) return null; let t4 = e3 == null ? void 0 : e3.getElementById("headlessui-portal-root"); if (t4) return t4; if (e3 === null) return null; let r3 = e3.createElement("div"); return r3.setAttribute("id", "headlessui-portal-root"), e3.body.appendChild(r3); }); return d3(() => { a2 !== null && (e3 != null && e3.body.contains(a2) || e3 == null || e3.body.appendChild(a2)); }, [a2, e3]), d3(() => { l4 || n4 !== null && o3(n4.current); }, [n4, o3, l4]), a2; } var U = P; function N2(p2, l4) { let n4 = p2, e3 = g(null), a2 = y(T2((u3) => { e3.current = u3; }), l4), o3 = n(e3), t4 = F(e3), [r3] = R(() => { var u3; return s.isServer ? null : (u3 = o3 == null ? void 0 : o3.createElement("div")) != null ? u3 : null; }), i = s6(f2), C2 = l2(); return l(() => { !t4 || !r3 || t4.contains(r3) || (r3.setAttribute("data-headlessui-portal", ""), t4.appendChild(r3)); }, [t4, r3]), l(() => { if (r3 && i) return i.register(r3); }, [i, r3]), c3(() => { var u3; !t4 || !r3 || (r3 instanceof Node && t4.contains(r3) && t4.removeChild(r3), t4.childNodes.length <= 0 && ((u3 = t4.parentElement) == null || u3.removeChild(t4))); }), C2 ? !t4 || !r3 ? null : H(X({ ourProps: { ref: a2 }, theirProps: n4, defaultTag: U, name: "Portal" }), r3) : null; } var S2 = P; var v = m(null); function j(p2, l4) { let { target: n4, ...e3 } = p2, o3 = { ref: y(l4) }; return T3.createElement(v.Provider, { value: n4 }, X({ ourProps: o3, theirProps: e3, defaultTag: S2, name: "Popover.Group" })); } var f2 = m(null); function ae() { let p2 = s6(f2), l4 = g([]), n4 = o((o3) => (l4.current.push(o3), p2 && p2.register(o3), () => e3(o3))), e3 = o((o3) => { let t4 = l4.current.indexOf(o3); t4 !== -1 && l4.current.splice(t4, 1), p2 && p2.unregister(o3); }), a2 = E2(() => ({ register: n4, unregister: e3, portals: l4 }), [n4, e3, l4]); return [l4, E2(() => function({ children: t4 }) { return T3.createElement(f2.Provider, { value: a2 }, t4); }, [a2])]; } var D2 = D(N2); var I2 = D(j); var pe = Object.assign(D2, { Group: I2 }); // node_modules/@headlessui/react/dist/hooks/use-root-containers.js import s7, { useRef as a, useMemo as m2 } from "react"; function j2({ defaultContainers: t4 = [], portals: r3, mainTreeNodeRef: u3 } = {}) { var c5; let o3 = a((c5 = u3 == null ? void 0 : u3.current) != null ? c5 : null), l4 = n(o3), f3 = o(() => { var i; let n4 = []; for (let e3 of t4) e3 !== null && (e3 instanceof HTMLElement ? n4.push(e3) : "current" in e3 && e3.current instanceof HTMLElement && n4.push(e3.current)); if (r3 != null && r3.current) for (let e3 of r3.current) n4.push(e3); for (let e3 of (i = l4 == null ? void 0 : l4.querySelectorAll("html > *, body > *")) != null ? i : []) e3 !== document.body && e3 !== document.head && e3 instanceof HTMLElement && e3.id !== "headlessui-portal-root" && (e3.contains(o3.current) || n4.some((T4) => e3.contains(T4)) || n4.push(e3)); return n4; }); return { resolveContainers: f3, contains: o((n4) => f3().some((i) => i.contains(n4))), mainTreeNodeRef: o3, MainTreeNode: m2(() => function() { return u3 != null ? null : s7.createElement(c, { features: p.Hidden, ref: o3 }); }, [o3, u3]) }; } function y2() { let t4 = a(null); return { mainTreeNodeRef: t4, MainTreeNode: m2(() => function() { return s7.createElement(c, { features: p.Hidden, ref: t4 }); }, [t4]) }; } // node_modules/@headlessui/react/dist/components/popover/popover.js import A, { createContext as Q, createRef as de, useContext as Z, useEffect as ee, useMemo as _, useReducer as ge, useRef as J, useState as ce } from "react"; var he = ((u3) => (u3[u3.Open = 0] = "Open", u3[u3.Closed = 1] = "Closed", u3))(he || {}); var He = ((e3) => (e3[e3.TogglePopover = 0] = "TogglePopover", e3[e3.ClosePopover = 1] = "ClosePopover", e3[e3.SetButton = 2] = "SetButton", e3[e3.SetButtonId = 3] = "SetButtonId", e3[e3.SetPanel = 4] = "SetPanel", e3[e3.SetPanelId = 5] = "SetPanelId", e3))(He || {}); var _e = { [0]: (t4) => { let o3 = { ...t4, popoverState: u(t4.popoverState, { [0]: 1, [1]: 0 }) }; return o3.popoverState === 0 && (o3.__demoMode = false), o3; }, [1](t4) { return t4.popoverState === 1 ? t4 : { ...t4, popoverState: 1 }; }, [2](t4, o3) { return t4.button === o3.button ? t4 : { ...t4, button: o3.button }; }, [3](t4, o3) { return t4.buttonId === o3.buttonId ? t4 : { ...t4, buttonId: o3.buttonId }; }, [4](t4, o3) { return t4.panel === o3.panel ? t4 : { ...t4, panel: o3.panel }; }, [5](t4, o3) { return t4.panelId === o3.panelId ? t4 : { ...t4, panelId: o3.panelId }; } }; var ue = Q(null); ue.displayName = "PopoverContext"; function oe(t4) { let o3 = Z(ue); if (o3 === null) { let u3 = new Error(`<${t4} /> is missing a parent <Popover /> component.`); throw Error.captureStackTrace && Error.captureStackTrace(u3, oe), u3; } return o3; } var ie = Q(null); ie.displayName = "PopoverAPIContext"; function fe(t4) { let o3 = Z(ie); if (o3 === null) { let u3 = new Error(`<${t4} /> is missing a parent <Popover /> component.`); throw Error.captureStackTrace && Error.captureStackTrace(u3, fe), u3; } return o3; } var Pe = Q(null); Pe.displayName = "PopoverGroupContext"; function Ee() { return Z(Pe); } var re = Q(null); re.displayName = "PopoverPanelContext"; function Ge() { return Z(re); } function Ne(t4, o3) { return u(o3.type, _e, t4, o3); } var ke = "div"; function we(t4, o3) { var D3; let { __demoMode: u3 = false, ...R2 } = t4, O2 = J(null), n4 = y(o3, T2((l4) => { O2.current = l4; })), e3 = J([]), v2 = ge(Ne, { __demoMode: u3, popoverState: u3 ? 0 : 1, buttons: e3, button: null, buttonId: null, panel: null, panelId: null, beforePanelSentinel: de(), afterPanelSentinel: de() }), [{ popoverState: P2, button: s8, buttonId: I3, panel: p2, panelId: T4, beforePanelSentinel: m3, afterPanelSentinel: S3 }, i] = v2, a2 = n((D3 = O2.current) != null ? D3 : s8), E3 = _(() => { if (!s8 || !p2) return false; for (let K of document.querySelectorAll("body > *")) if (Number(K == null ? void 0 : K.contains(s8)) ^ Number(K == null ? void 0 : K.contains(p2))) return true; let l4 = f(), F2 = l4.indexOf(s8), q = (F2 + l4.length - 1) % l4.length, W = (F2 + 1) % l4.length, z = l4[q], be = l4[W]; return !p2.contains(z) && !p2.contains(be); }, [s8, p2]), C2 = s2(I3), H2 = s2(T4), x = _(() => ({ buttonId: C2, panelId: H2, close: () => i({ type: 1 }) }), [C2, H2, i]), M2 = Ee(), h3 = M2 == null ? void 0 : M2.registerPopover, f3 = o(() => { var l4; return (l4 = M2 == null ? void 0 : M2.isFocusWithinPopoverGroup()) != null ? l4 : (a2 == null ? void 0 : a2.activeElement) && ((s8 == null ? void 0 : s8.contains(a2.activeElement)) || (p2 == null ? void 0 : p2.contains(a2.activeElement))); }); ee(() => h3 == null ? void 0 : h3(x), [h3, x]); let [y3, b] = ae(), d4 = j2({ mainTreeNodeRef: M2 == null ? void 0 : M2.mainTreeNodeRef, portals: y3, defaultContainers: [s8, p2] }); E(a2 == null ? void 0 : a2.defaultView, "focus", (l4) => { var F2, q, W, z; l4.target !== window && l4.target instanceof HTMLElement && P2 === 0 && (f3() || s8 && p2 && (d4.contains(l4.target) || (q = (F2 = m3.current) == null ? void 0 : F2.contains) != null && q.call(F2, l4.target) || (z = (W = S3.current) == null ? void 0 : W.contains) != null && z.call(W, l4.target) || i({ type: 1 }))); }, true), h2(d4.resolveContainers, (l4, F2) => { i({ type: 1 }), h(F2, T.Loose) || (l4.preventDefault(), s8 == null || s8.focus()); }, P2 === 0); let L = o((l4) => { i({ type: 1 }); let F2 = (() => l4 ? l4 instanceof HTMLElement ? l4 : "current" in l4 && l4.current instanceof HTMLElement ? l4.current : s8 : s8)(); F2 == null || F2.focus(); }), r3 = _(() => ({ close: L, isPortalled: E3 }), [L, E3]), c5 = _(() => ({ open: P2 === 0, close: L }), [P2, L]), B = { ref: n4 }; return A.createElement(re.Provider, { value: null }, A.createElement(ue.Provider, { value: v2 }, A.createElement(ie.Provider, { value: r3 }, A.createElement(c2, { value: u(P2, { [0]: d.Open, [1]: d.Closed }) }, A.createElement(b, null, X({ ourProps: B, theirProps: R2, slot: c5, defaultTag: ke, name: "Popover" }), A.createElement(d4.MainTreeNode, null)))))); } var Ue = "button"; function We(t4, o3) { let u3 = I(), { id: R2 = `headlessui-popover-button-${u3}`, ...O2 } = t4, [n4, e3] = oe("Popover.Button"), { isPortalled: v2 } = fe("Popover.Button"), P2 = J(null), s8 = `headlessui-focus-sentinel-${I()}`, I3 = Ee(), p2 = I3 == null ? void 0 : I3.closeOthers, m3 = Ge() !== null; ee(() => { if (!m3) return e3({ type: 3, buttonId: R2 }), () => { e3({ type: 3, buttonId: null }); }; }, [m3, R2, e3]); let [S3] = ce(() => Symbol()), i = y(P2, o3, m3 ? null : (r3) => { if (r3) n4.buttons.current.push(S3); else { let c5 = n4.buttons.current.indexOf(S3); c5 !== -1 && n4.buttons.current.splice(c5, 1); } n4.buttons.current.length > 1 && console.warn("You are already using a <Popover.Button /> but only 1 <Popover.Button /> is supported."), r3 && e3({ type: 2, button: r3 }); }), a2 = y(P2, o3), E3 = n(P2), C2 = o((r3) => { var c5, B, D3; if (m3) { if (n4.popoverState === 1) return; switch (r3.key) { case o2.Space: case o2.Enter: r3.preventDefault(), (B = (c5 = r3.target).click) == null || B.call(c5), e3({ type: 1 }), (D3 = n4.button) == null || D3.focus(); break; } } else switch (r3.key) { case o2.Space: case o2.Enter: r3.preventDefault(), r3.stopPropagation(), n4.popoverState === 1 && (p2 == null || p2(n4.buttonId)), e3({ type: 0 }); break; case o2.Escape: if (n4.popoverState !== 0) return p2 == null ? void 0 : p2(n4.buttonId); if (!P2.current || E3 != null && E3.activeElement && !P2.current.contains(E3.activeElement)) return; r3.preventDefault(), r3.stopPropagation(), e3({ type: 1 }); break; } }), H2 = o((r3) => { m3 || r3.key === o2.Space && r3.preventDefault(); }), x = o((r3) => { var c5, B; r(r3.currentTarget) || t4.disabled || (m3 ? (e3({ type: 1 }), (c5 = n4.button) == null || c5.focus()) : (r3.preventDefault(), r3.stopPropagation(), n4.popoverState === 1 && (p2 == null || p2(n4.buttonId)), e3({ type: 0 }), (B = n4.button) == null || B.focus())); }), M2 = o((r3) => { r3.preventDefault(), r3.stopPropagation(); }), h3 = n4.popoverState === 0, f3 = _(() => ({ open: h3 }), [h3]), y3 = s4(t4, P2), b = m3 ? { ref: a2, type: y3, onKeyDown: C2, onClick: x } : { ref: i, id: n4.buttonId, type: y3, "aria-expanded": n4.popoverState === 0, "aria-controls": n4.panel ? n4.panelId : void 0, onKeyDown: C2, onKeyUp: H2, onClick: x, onMouseDown: M2 }, d4 = n2(), L = o(() => { let r3 = n4.panel; if (!r3) return; function c5() { u(d4.current, { [s5.Forwards]: () => O(r3, M.First), [s5.Backwards]: () => O(r3, M.Last) }) === N.Error && O(f().filter((D3) => D3.dataset.headlessuiFocusGuard !== "true"), u(d4.current, { [s5.Forwards]: M.Next, [s5.Backwards]: M.Previous }), { relativeTo: n4.button }); } c5(); }); return A.createElement(A.Fragment, null, X({ ourProps: b, theirProps: O2, slot: f3, defaultTag: Ue, name: "Popover.Button" }), h3 && !m3 && v2 && A.createElement(c, { id: s8, features: p.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: L })); } var Ke = "div"; var je = S.RenderStrategy | S.Static; function Ve(t4, o3) { let u3 = I(), { id: R2 = `headlessui-popover-overlay-${u3}`, ...O2 } = t4, [{ popoverState: n4 }, e3] = oe("Popover.Overlay"), v2 = y(o3), P2 = C(), s8 = (() => P2 !== null ? (P2 & d.Open) === d.Open : n4 === 0)(), I3 = o((m3) => { if (r(m3.currentTarget)) return m3.preventDefault(); e3({ type: 1 }); }), p2 = _(() => ({ open: n4 === 0 }), [n4]); return X({ ourProps: { ref: v2, id: R2, "aria-hidden": true, onClick: I3 }, theirProps: O2, slot: p2, defaultTag: Ke, features: je, visible: s8, name: "Popover.Overlay" }); } var $e = "div"; var Je = S.RenderStrategy | S.Static; function Xe(t4, o3) { let u3 = I(), { id: R2 = `headlessui-popover-panel-${u3}`, focus: O2 = false, ...n4 } = t4, [e3, v2] = oe("Popover.Panel"), { close: P2, isPortalled: s8 } = fe("Popover.Panel"), I3 = `headlessui-focus-sentinel-before-${I()}`, p2 = `headlessui-focus-sentinel-after-${I()}`, T4 = J(null), m3 = y(T4, o3, (f3) => { v2({ type: 4, panel: f3 }); }), S3 = n(T4); l(() => (v2({ type: 5, panelId: R2 }), () => { v2({ type: 5, panelId: null }); }), [R2, v2]); let i = C(), a2 = (() => i !== null ? (i & d.Open) === d.Open : e3.popoverState === 0)(), E3 = o((f3) => { var y3; switch (f3.key) { case o2.Escape: if (e3.popoverState !== 0 || !T4.current || S3 != null && S3.activeElement && !T4.current.contains(S3.activeElement)) return; f3.preventDefault(), f3.stopPropagation(), v2({ type: 1 }), (y3 = e3.button) == null || y3.focus(); break; } }); ee(() => { var f3; t4.static || e3.popoverState === 1 && ((f3 = t4.unmount) == null || f3) && v2({ type: 4, panel: null }); }, [e3.popoverState, t4.unmount, t4.static, v2]), ee(() => { if (e3.__demoMode || !O2 || e3.popoverState !== 0 || !T4.current) return; let f3 = S3 == null ? void 0 : S3.activeElement; T4.current.contains(f3) || O(T4.current, M.First); }, [e3.__demoMode, O2, T4, e3.popoverState]); let C2 = _(() => ({ open: e3.popoverState === 0, close: P2 }), [e3, P2]), H2 = { ref: m3, id: R2, onKeyDown: E3, onBlur: O2 && e3.popoverState === 0 ? (f3) => { var b, d4, L, r3, c5; let y3 = f3.relatedTarget; y3 && T4.current && ((b = T4.current) != null && b.contains(y3) || (v2({ type: 1 }), ((L = (d4 = e3.beforePanelSentinel.current) == null ? void 0 : d4.contains) != null && L.call(d4, y3) || (c5 = (r3 = e3.afterPanelSentinel.current) == null ? void 0 : r3.contains) != null && c5.call(r3, y3)) && y3.focus({ preventScroll: true }))); } : void 0, tabIndex: -1 }, x = n2(), M2 = o(() => { let f3 = T4.current; if (!f3) return; function y3() { u(x.current, { [s5.Forwards]: () => { var d4; O(f3, M.First) === N.Error && ((d4 = e3.afterPanelSentinel.current) == null || d4.focus()); }, [s5.Backwards]: () => { var b; (b = e3.button) == null || b.focus({ preventScroll: true }); } }); } y3(); }), h3 = o(() => { let f3 = T4.current; if (!f3) return; function y3() { u(x.current, { [s5.Forwards]: () => { var B; if (!e3.button) return; let b = f(), d4 = b.indexOf(e3.button), L = b.slice(0, d4 + 1), c5 = [...b.slice(d4 + 1), ...L]; for (let D3 of c5.slice()) if (D3.dataset.headlessuiFocusGuard === "true" || (B = e3.panel) != null && B.contains(D3)) { let l4 = c5.indexOf(D3); l4 !== -1 && c5.splice(l4, 1); } O(c5, M.First, { sorted: false }); }, [s5.Backwards]: () => { var d4; O(f3, M.Previous) === N.Error && ((d4 = e3.button) == null || d4.focus()); } }); } y3(); }); return A.createElement(re.Provider, { value: R2 }, a2 && s8 && A.createElement(c, { id: I3, ref: e3.beforePanelSentinel, features: p.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: M2 }), X({ ourProps: H2, theirProps: n4, slot: C2, defaultTag: $e, features: Je, visible: a2, name: "Popover.Panel" }), a2 && s8 && A.createElement(c, { id: p2, ref: e3.afterPanelSentinel, features: p.Focusable, "data-headlessui-focus-guard": true, as: "button", type: "button", onFocus: h3 })); } var Ye = "div"; function qe(t4, o3) { let u3 = J(null), R2 = y(u3, o3), [O2, n4] = ce([]), e3 = y2(), v2 = o((i) => { n4((a2) => { let E3 = a2.indexOf(i); if (E3 !== -1) { let C2 = a2.slice(); return C2.splice(E3, 1), C2; } return a2; }); }), P2 = o((i) => (n4((a2) => [...a2, i]), () => v2(i))), s8 = o(() => { var E3; let i = e(u3); if (!i) return false; let a2 = i.activeElement; return (E3 = u3.current) != null && E3.contains(a2) ? true : O2.some((C2) => { var H2, x; return ((H2 = i.getElementById(C2.buttonId.current)) == null ? void 0 : H2.contains(a2)) || ((x = i.getElementById(C2.panelId.current)) == null ? void 0 : x.contains(a2)); }); }), I3 = o((i) => { for (let a2 of O2) a2.buttonId.current !== i && a2.close(); }), p2 = _(() => ({ registerPopover: P2, unregisterPopover: v2, isFocusWithinPopoverGroup: s8, closeOthers: I3, mainTreeNodeRef: e3.mainTreeNodeRef }), [P2, v2, s8, I3, e3.mainTreeNodeRef]), T4 = _(() => ({}), []), m3 = t4, S3 = { ref: R2 }; return A.createElement(Pe.Provider, { value: p2 }, X({ ourProps: S3, theirProps: m3, slot: T4, defaultTag: Ye, name: "Popover.Group" }), A.createElement(e3.MainTreeNode, null)); } var ze = D(we); var Qe = D(We); var Ze = D(Ve); var et = D(Xe); var tt = D(qe); var kt = Object.assign(ze, { Button: Qe, Overlay: Ze, Panel: et, Group: tt }); // src/ui/PopoverMenu.module.scss var PopoverMenu_module_default = { "root": "alinea-PopoverMenu", "trigger": "alinea-PopoverMenu-trigger", "items": "alinea-PopoverMenu-items", "is-left": "alinea-PopoverMenu-is-left", "isLeft": "alinea-PopoverMenu-is-left", "is-right": "alinea-PopoverMenu-is-right", "isRight": "alinea-PopoverMenu-is-right", "header": "alinea-PopoverMenu-header", "footer": "alinea-PopoverMenu-footer" }; // src/ui/PopoverMenu.tsx import { fromModule } from "./util/Styler.js"; import { jsx } from "react/jsx-runtime"; var styles = fromModule(PopoverMenu_module_default); var PopoverMenu; ((PopoverMenu2) => { function Root(props) { return /* @__PURE__ */ jsx(kt, { children: /* @__PURE__ */ jsx("div", { ...props, className: styles.root.mergeProps(props)() }) }); } PopoverMenu2.Root = Root; PopoverMenu2.Trigger = styles.trigger.toElement( kt.Button ); function Items({ left, right, ...props }) { return /* @__PURE__ */ jsx( kt.Panel, { ...props, className: styles.items.mergeProps(props)({ left, right }) } ); } PopoverMenu2.Items = Items; function Header({ children }) { return /* @__PURE__ */ jsx("div", { className: styles.header(), children: /* @__PURE__ */ jsx("header", { children }) }); } PopoverMenu2.Header = Header; function Footer({ children }) { return /* @__PURE__ */ jsx("div", { className: styles.footer(), children: /* @__PURE__ */ jsx("footer", { children }) }); } PopoverMenu2.Footer = Footer; })(PopoverMenu || (PopoverMenu = {})); export { PopoverMenu };