/** * Internal dependencies */ const { canvasBreakpoints, } = window; /** * Row block styles for Editor * * @param {Object} attributes block attributes * @param {String} className block class name * * @returns {String} */ export default function( attributes, className ) { let result = ''; let breakColumns = true; Object.keys( canvasBreakpoints ).forEach( ( name ) => { const data = canvasBreakpoints[ name ]; let styles = ''; let suffix = ''; if ( 'desktop' !== name ) { suffix = `_${ name }`; } /** * Break columns. */ if ( suffix && breakColumns ) { breakColumns = false; styles += ` .${ className } > .cnvs-block-row-inner > .block-editor-inner-blocks > .block-editor-block-list__layout { -ms-flex-wrap: wrap; flex-wrap: wrap; } `; } /** * Gap. */ if ( typeof attributes[ `gap${ suffix }` ] === 'number' ) { const gap = attributes[ `gap${ suffix }` ]; styles += ` .${ className } > .cnvs-block-row-inner > .block-editor-inner-blocks > .block-editor-block-list__layout { margin-left: ${ - gap / 2 }px; margin-right: ${ - gap / 2 }px; } .${ className } > .cnvs-block-row-inner > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/column"] { padding-left: ${ gap / 2 }px; padding-right: ${ gap / 2 }px; } .${ className } > .cnvs-block-row-inner > .block-editor-inner-blocks > .block-editor-block-list__layout > [data-type="canvas/column"] > .canvas-component-custom-blocks > .cnvs-block-column-resizer { margin-right: ${ - gap / 2 }px; } `; } // add media query. if ( suffix && styles ) { styles = `@media (max-width: ${ data.width }px) { ${ styles } } `; } if ( styles ) { result += styles; } } ); return result; }