Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
35 lines
898 B
Plaintext
35 lines
898 B
Plaintext
'use client';
|
|
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
import React, { createContext, use } from 'react';
|
|
const Context = /*#__PURE__*/createContext({
|
|
isCollapsed: undefined,
|
|
isVisible: undefined,
|
|
isWithinCollapsible: undefined,
|
|
toggle: () => {}
|
|
});
|
|
export const CollapsibleProvider = ({
|
|
children,
|
|
isCollapsed,
|
|
isWithinCollapsible = true,
|
|
toggle
|
|
}) => {
|
|
const {
|
|
isCollapsed: parentIsCollapsed,
|
|
isVisible
|
|
} = useCollapsible();
|
|
const contextValue = React.useMemo(() => {
|
|
return {
|
|
isCollapsed,
|
|
isVisible: isVisible && !parentIsCollapsed,
|
|
isWithinCollapsible,
|
|
toggle
|
|
};
|
|
}, [isCollapsed, isWithinCollapsible, toggle, parentIsCollapsed, isVisible]);
|
|
return /*#__PURE__*/_jsx(Context, {
|
|
value: contextValue,
|
|
children: children
|
|
});
|
|
};
|
|
export const useCollapsible = () => use(Context);
|
|
//# sourceMappingURL=provider.js.map |