import { IBlockData } from '@core/typings' ; import { BasicType } from '@core/constants' ; import { createBlock } from '@core/utils/createBlock' ; import { merge } from 'lodash' ; export type IAccordionElement = IBlockData < { 'icon-width' : string ; 'icon-height' : string ; 'container-background-color' ? : string ; border ? : string ; padding : string ; 'inner-padding' ? : string ; 'font-family' ? : string ; 'icon-align' ? : 'middle' | 'top' | 'bottom' ; 'icon-position' : 'left' | 'right' ; 'icon-unwrapped-alt' ? : string ; 'icon-unwrapped-url' ? : string ; 'icon-wrapped-alt' ? : string ; 'icon-wrapped-url' ? : string ; } , { } > ; export const AccordionElement = createBlock < IAccordionElement > ( { name : 'Accordion element' , type : BasicType . ACCORDION_ELEMENT , create : ( payload ) => { const defaultData = { type : BasicType . ACCORDION_ELEMENT , data : { value : { } , } , attributes : { 'icon-align' : 'middle' , 'icon-height' : '32px' , 'icon-width' : '32px' , 'icon-position' : 'right' , padding : '10px 25px 10px 25px' , } , children : [ ] , } ; return merge ( defaultData , payload ) ; } , validParentType : [ BasicType . ACCORDION ] , } ) ;