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 / ui / atoms / box.js

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

36 lines 777 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import { arrayToClassName, pxToRem } from 'elementor-app/utils/utils.js';
2
3 import './box.scss';
4
5 export default function Box( props ) {
6 const baseClassName = 'eps-box',
7 classes = [ baseClassName, props.className ],
8 style = {};
9
10 if ( Object.prototype.hasOwnProperty.call( props, 'padding' ) ) {
11 style[ '--eps-box-padding' ] = pxToRem( props.padding );
12
13 classes.push( baseClassName + '--padding' );
14 }
15
16 return (
17 <div style={ style } className={ arrayToClassName( classes ) }>
18 { props.children }
19 </div>
20 );
21 }
22
23 Box.propTypes = {
24 className: PropTypes.string,
25 padding: PropTypes.string,
26 children: PropTypes.oneOfType( [
27 PropTypes.string,
28 PropTypes.object,
29 PropTypes.arrayOf( PropTypes.object ),
30 ] ).isRequired,
31 };
32
33 Box.defaultProps = {
34 className: '',
35 };
36