import { FC } from "react"; import { isButton, isCheckbox, isCheckboxGroup, isColor, isEnum, isGroup, isNumeric, isText, SelectableDimension as SelectableDimensionModel, isMultiEnum } from "../../Models/SelectableDimensions/SelectableDimensions"; import Box from "../../Styled/Box"; import Spacing from "../../Styled/Spacing"; import Text from "../../Styled/Text"; import { parseCustomMarkdownToReactWithOptions } from "../Custom/parseCustomMarkdownToReact"; import { SelectableDimensionButton } from "./Button"; import { SelectableDimensionCheckbox } from "./Checkbox"; import { SelectableDimensionColor } from "./Color"; import { SelectableDimensionGroup } from "./Group"; import { SelectableDimensionNumeric } from "./Numeric"; import { SelectableDimensionEnum, SelectableDimensionEnumMulti as SelectableDimensionMultiEnum } from "./Select"; import { SelectableDimensionText } from "./Text"; const SelectableDimension: FC<{ id: string; dim: SelectableDimensionModel; }> = ({ id, dim }) => { return ( {/* Render label for all SelectableDimensions except for groups */} {dim.name && dim.type !== "group" ? ( <> ) : null} {isCheckbox(dim) && } {isEnum(dim) && } {isMultiEnum(dim) && } {(isGroup(dim) || isCheckboxGroup(dim)) && ( )} {isNumeric(dim) && } {isText(dim) && } {isButton(dim) && } {isColor(dim) && } ); }; export default SelectableDimension;