UNPKG

@atlaskit/navigation-system

Version:

The latest navigation system for Atlassian apps.

28 lines (27 loc) • 1.16 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; 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 var SideNavVisibilityProvider = function SideNavVisibilityProvider(_ref) { var children = _ref.children, defaultCollapsed = _ref.defaultCollapsed; var 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) var _useState = useState(initialState), _useState2 = _slicedToArray(_useState, 2), sideNavState = _useState2[0], setSideNavState = _useState2[1]; return /*#__PURE__*/React.createElement(SideNavVisibilityState.Provider, { value: sideNavState }, /*#__PURE__*/React.createElement(SetSideNavVisibilityState.Provider, { value: setSideNavState }, children)); };