import { PropsWithChildren, ReactElement, useEffect, useState } from 'react'; import { Checkbox, Toggle } from '@fluentui/react'; import { fluentUiValidationMessageElement } from '../fluentUiValidationMessageElement'; import React from "react"; import { IFormItem, IPropertyRenderProps, IDynamicPropertyComponentConfig, IDynamicBooleanConfig } from '@wiberg/formbuilder'; interface IProps extends IPropertyRenderProps, boolean | undefined> { hideLabel?: boolean; config?: IDynamicBooleanConfig; } export const DynamicBooleanField = (props: PropsWithChildren>) : ReactElement | null => { const [value, setValue] = useState(props.value); useEffect(() => setValue(props.value), [props.value]) const onChange = (ev: any, value: boolean | undefined) => { setValue(value); props.onChange(value); } return ( <> { props.config?.asToggle ? : } { props.errorMessage && fluentUiValidationMessageElement(props.errorMessage) } ) }