UNPKG

@zendeskgarden/react-chrome

Version:

Components relating to Chrome within the Garden Design System.

58 lines (55 loc) 2.35 kB
/** * Copyright Zendesk, Inc. * * Use of this source code is governed under the Apache License, Version 2.0 * found at http://www.apache.org/licenses/LICENSE-2.0. */ import React__default, { useState, useMemo } from 'react'; import '../../styled/StyledChrome.js'; import '../../styled/StyledSkipNav.js'; import '../../styled/StyledSkipNavIcon.js'; import { StyledBody } from '../../styled/body/StyledBody.js'; import '../../styled/body/StyledContent.js'; import '../../styled/body/StyledMain.js'; import '../../styled/footer/StyledFooter.js'; import '../../styled/footer/StyledFooterItem.js'; import '../../styled/header/StyledHeader.js'; import '../../styled/header/StyledBaseHeaderItem.js'; import '../../styled/header/StyledHeaderItem.js'; import '../../styled/header/StyledHeaderItemIcon.js'; import '../../styled/header/StyledLogoHeaderItem.js'; import '../../styled/header/StyledHeaderItemText.js'; import '../../styled/header/StyledHeaderItemWrapper.js'; import '../../styled/nav/StyledNav.js'; import '../../styled/nav/StyledNavList.js'; import '../../styled/nav/StyledNavListItem.js'; import '../../styled/nav/StyledBaseNavItem.js'; import '../../styled/nav/StyledLogoNavItem.js'; import '../../styled/nav/StyledBrandmarkNavItem.js'; import '../../styled/nav/StyledNavButton.js'; import '../../styled/nav/StyledNavItemIcon.js'; import '../../styled/nav/StyledNavItemText.js'; import '../../styled/sheet/StyledSheet.js'; import '../../styled/sheet/StyledSheetWrapper.js'; import '../../styled/sheet/StyledSheetTitle.js'; import '../../styled/sheet/StyledSheetDescription.js'; import '../../styled/sheet/StyledSheetBody.js'; import '../../styled/sheet/StyledSheetClose.js'; import '../../styled/sheet/StyledSheetFooter.js'; import '../../styled/sheet/StyledSheetFooterItem.js'; import '../../styled/sheet/StyledSheetHeader.js'; import { BodyContext } from '../../utils/useBodyContext.js'; const Body = React__default.forwardRef((props, ref) => { const [hasFooter, setHasFooter] = useState(false); const bodyContextValue = useMemo(() => ({ hasFooter, setHasFooter }), [hasFooter, setHasFooter]); return React__default.createElement(BodyContext.Provider, { value: bodyContextValue }, React__default.createElement(StyledBody, Object.assign({ ref: ref }, props))); }); Body.displayName = 'Body'; export { Body };