import * as React from "react"; import styled from "styled-components"; import { get } from "lodash"; import { Grid } from "@material-ui/core"; import RichEditor from "@sc/modules/v2/Editor/components/RichEditor"; import { ContentFieldProps } from "../types"; import { EditorMode } from "../../../../Editor/types"; import { AttributeContainer } from "@sc/modules/v2/CRUD/AttributeBuilder"; import { AttributeNames } from "@sc/modules/v2/CRUD/AttributeBuilder/types"; import { LiveFormFieldProps } from "../../LiveFormField/types"; /** * A component that shows LIVE text content. Useful for breaking up pieces of form field content with just text explanations */ const ContentField: React.FC = (props) => { const { children, mode = EditorMode.LIVE, styles = { labelStyle: {}, descriptionStyle: {}, inputStyle: {}, containerStyle: {}, validationStyle: {}, iconStyle: {}, }, name, label, description, defaultValue, disabled, icon, columns = 12, attributeContainerDataSettings = {}, } = props; /** * Deals with any changes that comes from the various attributes that are loaded * * • Converts to LiveFormFieldProps shape * • Triggers (and passes along the mutated LiveFormFieldProps payload to) the onChange event * @params */ const handleChange = (data: LiveFormFieldProps): void => { onChange(data); }; const { iconStyle = {}, descriptionStyle = {}, containerStyle = {}, inputStyle = {}, validationStyle = {}, labelStyle = {}, } = styles; return (
{mode === EditorMode.LIVE && (
{children || defaultValue}
)} {mode === EditorMode.EDITOR && (
{children || defaultValue}
)}
); }; export default ContentField;