@scalar/api-client
Version:
the open source API testing client
29 lines (28 loc) • 812 B
JavaScript
import { inject as S, readonly as a, reactive as c, ref as b } from "vue";
const O = ({ layout: t }) => {
const e = c({}), r = b(t !== "modal");
return {
collapsedSidebarFolders: e,
isSidebarOpen: r
};
}, p = Symbol(), m = () => {
const t = S(p);
if (!t)
throw new Error("useSidebar must have injected SIDEBAR_SYMBOL");
const { collapsedSidebarFolders: e, isSidebarOpen: r } = t, s = (o, l) => e[o] = l, d = (o) => e[o] = !e[o], i = (o) => r.value = o, n = () => r.value = !r.value;
return {
/** State */
collapsedSidebarFolders: a(e),
isSidebarOpen: a(r),
/** Actions */
setCollapsedSidebarFolder: s,
toggleSidebarFolder: d,
setSidebarOpen: i,
toggleSidebarOpen: n
};
};
export {
p as SIDEBAR_SYMBOL,
O as createSidebarState,
m as useSidebar
};