UNPKG

@payfit/unity-components

Version:

48 lines (47 loc) 1.47 kB
import { createContext as e, useContext as t, useRef as n, useState as r } from "react"; import { jsx as i } from "react/jsx-runtime"; import { useId as a } from "react-aria/useId"; import { useOverlayTriggerState as o } from "react-stately/useOverlayTriggerState"; import { useOverlayTrigger as s } from "react-aria/useOverlayTrigger"; //#region src/components/task-menu/TaskMenu.context.tsx var c = e({ currentTask: void 0, setCurrentTask: void 0, toggleTaskGroup: void 0, expandedTaskGroup: void 0, taskMenuId: "", taskMenuContentId: "", state: null, triggerRef: { current: null }, overlayRef: { current: null }, triggerProps: {}, overlayProps: {} }); function l({ children: e }) { let t = a(), [l, u] = r(null), [d, f] = r(null), [p, m] = r(null), h = o({}), g = n(null), _ = n(null), { triggerProps: v, overlayProps: y } = s({ type: "dialog" }, h, g), b = `task-menu-${t}`; return /* @__PURE__ */ i(c.Provider, { value: { currentTask: l, setCurrentTask: u, toggleTaskGroup: (e) => { e === p ? (m(null), f(null)) : (m(e), f(d === e ? null : e)); }, expandedTaskGroup: d, taskMenuId: t, taskMenuContentId: b, state: h, triggerRef: g, overlayRef: _, triggerProps: v, overlayProps: y }, children: e }); } function u() { let e = t(c); if (!e) throw Error("useTaskMenuContext must be used within an TaskMenuProvider"); return e; } //#endregion export { l as TaskMenuProvider, u as useTaskMenuContext };