UNPKG

@atlaskit/navigation-system

Version:

The latest navigation system for Atlassian apps.

25 lines (24 loc) • 922 B
import React, { useState } from 'react'; import { SetSideNavVisibilityState } from './set-side-nav-visibility-state'; import { SideNavVisibilityState } from './side-nav-visibility-state'; /** * Manages the side nav visibility state and provides the context. */ export const SideNavVisibilityProvider = ({ children, defaultCollapsed }) => { const initialState = typeof defaultCollapsed === 'boolean' ? { desktop: defaultCollapsed ? 'collapsed' : 'expanded', mobile: 'collapsed', flyout: 'closed', lastTrigger: null } : null; // Defaults to null so we can determine if the value has been set yet (for SSR) const [sideNavState, setSideNavState] = useState(initialState); return /*#__PURE__*/React.createElement(SideNavVisibilityState.Provider, { value: sideNavState }, /*#__PURE__*/React.createElement(SetSideNavVisibilityState.Provider, { value: setSideNavState }, children)); };