PluginProbe
Elementor Website Builder – more than just a page builder / 3.8.0-beta1
Elementor Website Builder – more than just a page builder v3.8.0-beta1
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
elementor / app / assets / js / layout / page.js

page.js in Elementor Website Builder – more than just a page builder 3.8.0-beta1, at app/assets/js/layout/page.js

58 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import Header from './header';
2 import Sidebar from './sidebar';
3 import Content from './content';
4 import Footer from './footer';
5
6 export default function Page( props ) {
7 const AppSidebar = () => {
8 if ( ! props.sidebar ) {
9 return;
10 }
11 return (
12 <Sidebar>
13 { props.sidebar }
14 </Sidebar>
15 );
16 },
17 AppFooter = () => {
18 if ( ! props.footer ) {
19 return;
20 }
21 return (
22 <Footer>
23 { props.footer }
24 </Footer>
25 );
26 };
27
28 return (
29 <div className={ `eps-app__lightbox ${ props.className }` }>
30 <div className="eps-app">
31 <Header title={ props.title } buttons={ props.headerButtons } titleRedirectRoute={ props.titleRedirectRoute } onClose={ () => props.onClose?.() } />
32 <div className="eps-app__main">
33 { AppSidebar() }
34 <Content>
35 { props.content }
36 </Content>
37 </div>
38 { AppFooter() }
39 </div>
40 </div>
41 );
42 }
43
44 Page.propTypes = {
45 title: PropTypes.string,
46 titleRedirectRoute: PropTypes.string,
47 className: PropTypes.string,
48 headerButtons: PropTypes.arrayOf( PropTypes.object ),
49 sidebar: PropTypes.object,
50 content: PropTypes.object.isRequired,
51 footer: PropTypes.object,
52 onClose: PropTypes.func,
53 };
54
55 Page.defaultProps = {
56 className: '',
57 };
58