diff --git a/src/Components/Category/Category.tsx b/src/Components/Category/Category.tsx index 254c984..f3d0e4f 100644 --- a/src/Components/Category/Category.tsx +++ b/src/Components/Category/Category.tsx @@ -4,25 +4,29 @@ import { ICategory } from '../../Interfaces/ICategory'; import { TruncateString } from '../../utils/stringtools'; interface ICategoryProps { - children: JSX.Element[] + heightClass?: string + children?: JSX.Element[] | JSX.Element category: ICategory + defaultIsOpen?: boolean } export function Category(props: ICategoryProps): JSX.Element { - const [isOpen, setIsOpen] = useState(false); + const [isOpen, setIsOpen] = useState(props.defaultIsOpen ?? false); const categoryType: string = props.category.Type; const categoryDisplayedText: string = props.category.DisplayedText ?? categoryType; + const heightClass = props.heightClass ?? 'h-16'; + return (
setIsOpen(!isOpen)} > diff --git a/src/Components/ContainerProperties/ContainerForm.tsx b/src/Components/ContainerProperties/ContainerForm.tsx index d3e82f4..31718b5 100644 --- a/src/Components/ContainerProperties/ContainerForm.tsx +++ b/src/Components/ContainerProperties/ContainerForm.tsx @@ -12,6 +12,7 @@ import { PositionReferenceSelector } from '../RadioGroupButtons/PositionReferenc import { OrientationSelector } from '../RadioGroupButtons/OrientationSelector'; import { OrientationCheckboxes } from '../CheckboxGroupButtons/OrientationCheckboxes'; import { PositionCheckboxes } from '../CheckboxGroupButtons/PositionCheckboxes'; +import { Category } from '../Category/Category'; interface IContainerFormProps { properties: IContainerProperties @@ -28,8 +29,8 @@ function GetCSSInputs(properties: IContainerProperties, id={key} labelText={key} inputKey={key} - labelClassName='' - inputClassName='' + labelClassName='col-span-2' + inputClassName='col-span-3' type='string' value={(properties.style as any)[key]} onChange={(value) => onChange(key, value, PropertyType.Style)} />); @@ -38,32 +39,9 @@ function GetCSSInputs(properties: IContainerProperties, } export function ContainerForm(props: IContainerFormProps): JSX.Element { + const categoryHeight = 'h-11'; return ( -
- - - +
- props.onChange( - 'x', - ApplyXMargin( - RestoreX( - Number(value), + + +
+
+ +
+
+ +
+
+ +
+
+
+ + +
+ - props.onChange( - 'y', - ApplyXMargin( - RestoreY( - Number(value), + ).toString()} + onChange={(value) => props.onChange( + 'x', + ApplyXMargin( + RestoreX( + Number(value), + props.properties.width, + props.properties.positionReference + ), + props.properties.margin.left + ) + )} /> + - props.onChange('minWidth', Number(value))} /> - props.onChange('maxWidth', Number(value))} /> - props.onChange('width', ApplyWidthMargin(Number(value), props.properties.margin.left, props.properties.margin.right))} - isDisabled={props.properties.isFlex} /> - props.onChange('minHeight', Number(value))} /> - props.onChange('maxHeight', Number(value))} /> - props.onChange('height', ApplyWidthMargin(Number(value), props.properties.margin.top, props.properties.margin.bottom))} - isDisabled={props.properties.isFlex} - /> - props.onChange('left', Number(value), PropertyType.Margin)} /> - props.onChange('bottom', Number(value), PropertyType.Margin)} /> - props.onChange('top', Number(value), PropertyType.Margin)} /> - props.onChange('right', Number(value), PropertyType.Margin)} /> - props.onChange('isFlex', event.target.checked)} - /> - props.onChange('isAnchor', event.target.checked)} /> - - ({ + key: symbol.id, + text: symbol.id, + value: symbol.id + }))} + value={props.properties.linkedSymbolId ?? ''} + onChange={(event) => props.onChange('linkedSymbolId', event.target.value)} /> +
+
+ + +
+ { + SHOW_SELF_DIMENSIONS && +
+ +
+ } + { + SHOW_CHILDREN_DIMENSIONS && +
+ +
+ } + { + SHOW_BORROWER_DIMENSIONS && + <> +
+ +
+
+ +
+ + } +
+
+ + +
+ {GetCSSInputs(props.properties, props.onChange)} +
+
); } diff --git a/src/Components/ToggleButton/ToggleButton.tsx b/src/Components/ToggleButton/ToggleButton.tsx index 4bcab7b..74829bf 100644 --- a/src/Components/ToggleButton/ToggleButton.tsx +++ b/src/Components/ToggleButton/ToggleButton.tsx @@ -35,7 +35,7 @@ export function ToggleButton(props: IToggleButtonProps): JSX.Element { { props.labelText }