/** * StyleSettingsSection * * CSS styling fields for UI elements. * Used in element-type-defaults, project-element-defaults, and constructor pages. */ import React from 'react'; import FormField from '../FormField'; import type { StyleSettingsSectionProps } from './types'; import { opacityToPercentInput, percentInputToOpacityValue, } from '../../lib/opacityPercent'; const StyleSettingsSection: React.FC = ({ values, onChange, }) => { return (

View & Stylization

Dimensions are saved as % of canvas, border and radius as px.

onChange('width', event.target.value)} placeholder='e.g. 24' /> onChange('height', event.target.value)} placeholder='e.g. 8' /> onChange('minWidth', event.target.value)} /> onChange('maxWidth', event.target.value)} /> onChange('minHeight', event.target.value)} /> onChange('maxHeight', event.target.value)} /> onChange('margin', event.target.value)} placeholder='e.g. 0 auto / 0.5rem' /> onChange('padding', event.target.value)} placeholder='e.g. 0.5rem 0.75rem' /> onChange('gap', event.target.value)} /> onChange('fontSize', event.target.value)} placeholder='e.g. 0.875rem / clamp(...)' /> onChange('lineHeight', event.target.value)} /> onChange('fontWeight', event.target.value)} placeholder='e.g. 500 / bold' /> onChange('border', event.target.value)} placeholder='empty = none' /> onChange('borderRadius', event.target.value)} placeholder='empty = 0' /> onChange( 'opacity', percentInputToOpacityValue(event.target.value), ) } placeholder='50' /> onChange('boxShadow', event.target.value)} placeholder='e.g. 0 4px 12px rgba(...)' /> onChange('zIndex', event.target.value)} placeholder='e.g. 1 / 10' /> onChange('backgroundColor', event.target.value) } placeholder='e.g. #E7DDB5 / rgba(...)' /> onChange('color', event.target.value)} placeholder='e.g. #131C22 / inherit' />
); }; export default StyleSettingsSection;