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 / molecules / list.js

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

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