import type { ComponentInfo } from '../../types/components'; export const componentInfo: ComponentInfo = { // TODO: ways to statically preprocess JSON for references, functions, etc name: 'Columns', isRSC: true, inputs: [{ name: 'columns', type: 'array', broadcast: true, subFields: [{ name: 'blocks', type: 'array', hideFromUI: true, defaultValue: [{ '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto', minHeight: '20px', minWidth: '20px', overflow: 'hidden' } }, component: { name: 'Image', options: { image: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d', backgroundPosition: 'center', backgroundSize: 'cover', aspectRatio: 0.7004048582995948 } } }, { '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto' } }, component: { name: 'Text', options: { text: '
Enter some text...
' } } }] }, { name: 'width', type: 'number', hideFromUI: true, helperText: 'Width %, e.g. set to 50 to fill half of the space' }, { name: 'link', type: 'url', helperText: 'Optionally set a url that clicking this column will link to' }], defaultValue: [{ blocks: [{ '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto', minHeight: '20px', minWidth: '20px', overflow: 'hidden' } }, component: { name: 'Image', options: { image: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d', backgroundPosition: 'center', backgroundSize: 'cover', aspectRatio: 0.7004048582995948 } } }, { '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto' } }, component: { name: 'Text', options: { text: 'Enter some text...
' } } }] }, { blocks: [{ '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto', minHeight: '20px', minWidth: '20px', overflow: 'hidden' } }, component: { name: 'Image', options: { image: 'https://builder.io/api/v1/image/assets%2Fpwgjf0RoYWbdnJSbpBAjXNRMe9F2%2Ffb27a7c790324294af8be1c35fe30f4d', backgroundPosition: 'center', backgroundSize: 'cover', aspectRatio: 0.7004048582995948 } } }, { '@type': '@builder.io/sdk:Element', responsiveStyles: { large: { display: 'flex', flexDirection: 'column', alignItems: 'stretch', flexShrink: '0', position: 'relative', marginTop: '30px', textAlign: 'center', lineHeight: 'normal', height: 'auto' } }, component: { name: 'Text', options: { text: 'Enter some text...
' } } }] }], onChange: (options: Map