UNPKG

@wordpress/components

Version:
72 lines (61 loc) 2.09 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.NavigatorButton = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _context = require("../../ui/context"); var _view = require("../../view"); var _hook = require("./hook"); /** * External dependencies */ /** * Internal dependencies */ function UnconnectedNavigatorButton(props, forwardedRef) { const navigatorButtonProps = (0, _hook.useNavigatorButton)(props); return (0, _element.createElement)(_view.View, (0, _extends2.default)({ ref: forwardedRef }, navigatorButtonProps)); } /** * The `NavigatorButton` component can be used to navigate to a screen and should * be used in combination with the `NavigatorProvider`, the `NavigatorScreen` * and the `NavigatorBackButton` components (or the `useNavigator` hook). * * @example * ```jsx * import { * __experimentalNavigatorProvider as NavigatorProvider, * __experimentalNavigatorScreen as NavigatorScreen, * __experimentalNavigatorButton as NavigatorButton, * __experimentalNavigatorBackButton as NavigatorBackButton, * } from '@wordpress/components'; * * const MyNavigation = () => ( * <NavigatorProvider initialPath="/"> * <NavigatorScreen path="/"> * <p>This is the home screen.</p> * <NavigatorButton path="/child"> * Navigate to child screen. * </NavigatorButton> * </NavigatorScreen> * * <NavigatorScreen path="/child"> * <p>This is the child screen.</p> * <NavigatorBackButton> * Go back * </NavigatorBackButton> * </NavigatorScreen> * </NavigatorProvider> * ); * ``` */ const NavigatorButton = (0, _context.contextConnect)(UnconnectedNavigatorButton, 'NavigatorButton'); exports.NavigatorButton = NavigatorButton; var _default = NavigatorButton; exports.default = _default; //# sourceMappingURL=component.js.map