diff --git a/src/components/inputs/ManagementControls.tsx b/src/components/inputs/ManagementControls.tsx new file mode 100644 index 0000000..4e16d9b --- /dev/null +++ b/src/components/inputs/ManagementControls.tsx @@ -0,0 +1,37 @@ +import {useCallback} from 'react' +import {unset} from 'sanity' +import {Button, Inline, Stack, useToast} from '@sanity/ui' + +/** + * #### Input Component for Deprecated Management Controls Field + * The Management Controls field was used for a previous version + * of the plugin and was set by default when creating a new scheme. + * It has been set to "Deprecated." This control will allow users + * to delete the value from the input to hide the field, without + * otherwise seeing an error int their schema. + * - Input is only visible if no identifier has been assigned + * - Input disappears once an ID is generated + */ +export const ManagementControls = (props: any) => { + const {onChange} = props + const toast = useToast() + + const handleChange = useCallback(() => { + onChange(unset()) + toast.push({ + status: 'success', + title: 'Value removed.', + duration: 2500, + closable: true, + }) + }, [onChange, toast]) + + return ( + + + {props.renderDefault(props)} +