UNPKG

@gechiui/block-editor

Version:
61 lines (48 loc) 1.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.LayoutProvider = void 0; exports.LayoutStyle = LayoutStyle; exports.defaultLayout = void 0; exports.useLayout = useLayout; var _element = require("@gechiui/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _layouts = require("../../layouts"); /** * GeChiUI dependencies */ /** * Internal dependencies */ const defaultLayout = { type: 'default' }; exports.defaultLayout = defaultLayout; const Layout = (0, _element.createContext)(defaultLayout); /** * Allows to define the layout. */ const LayoutProvider = Layout.Provider; /** * React hook used to retrieve the layout config. */ exports.LayoutProvider = LayoutProvider; function useLayout() { return (0, _element.useContext)(Layout); } function LayoutStyle(_ref) { let { layout = {}, ...props } = _ref; const layoutType = (0, _layouts.getLayoutType)(layout.type); if (layoutType) { return (0, _element.createElement)(layoutType.save, (0, _extends2.default)({ layout: layout }, props)); } return null; } //# sourceMappingURL=layout.js.map