import React from 'react'; import { observer } from 'mobx-react-lite'; import { Box, InfoIcon, Text, ToggleSwitch } from '@wix/design-system'; import type { StringLengthRange } from '../../../types/SchemaConfig'; import type { CmsFormState } from '../CmsFormState'; import type { ValidationRule } from '../types'; import { RequiredToggle } from '../formFields/RequiredToggle'; import { CharactersLimitInput } from '../formFields/CharactersLimitInput'; interface Props { state: CmsFormState; } const _ValidationSubSection = ({ state }: Props) => { const { supportedValidationRules, fieldRules } = state; return ( {supportedValidationRules.map((rule: ValidationRule) => { if (rule === 'required') { return ( state.setValidationRule('required', v)} /> ); } if (rule === 'charactersLimit') { const isEnabled = fieldRules.validationRules.charactersLimit !== undefined; return ( state.setValidationRule( 'charactersLimit', isEnabled ? undefined : {}, ) } /> Limit character count {isEnabled && ( state.setValidationRule('charactersLimit', v) } /> )} ); } return null; })} ); }; export const ValidationSubSection = observer(_ValidationSubSection);