import { IBlockData } from '@core/typings' ; import { BasicType } from '@core/constants' ; import { CSSProperties } from 'react' ; import { createBlock } from '@core/utils/createBlock' ; import { merge } from 'lodash' ; export type IColumn = IBlockData < { 'background-color' ? : string ; border ? : string ; 'border-radius' ? : string ; 'inner-border' ? : string ; 'inner-border-radius' ? : string ; padding ? : string ; 'text-align' ? : CSSProperties [ 'textAlign' ] ; 'vertical-align' ? : CSSProperties [ 'verticalAlign' ] ; width ? : string ; } , { } > ; export const Column = createBlock < IColumn > ( { name : 'Column' , type : BasicType . COLUMN , create : ( payload ) => { const defaultData = { type : BasicType . COLUMN , data : { value : { } , } , attributes : { padding : '0px 0px 0px 0px' , border : 'none' , 'vertical-align' : 'top' , } , children : [ ] , } ; return merge ( defaultData , payload ) ; } , validParentType : [ BasicType . SECTION , BasicType . GROUP ] , } ) ;