import { DefaultNodeOptions, NullNode, widget, WidgetField, WidgetPlugin } from '@sagold/react-json-editor'; import { WidgetInputWrapper, WidgetInputWrapperProps } from '../../components/widgetinputwrapper/WidgetInputWrapper'; import { WidgetParentHeader } from '../../components/widgetheader/WidgetHeader'; import { TitleOrder } from '@mantine/core'; export type NullOptions = DefaultNodeOptions & { /** if false, will hide title. will hide complete title-header if no menu-actions are available */ showHeader?: boolean; } & WidgetInputWrapperProps['options']; export const NullWidget = widget, null>(({ node, options }) => { const depth = Math.min(6, node.pointer.split('/').length); const order = options.titleProps?.order ?? ((depth === 1 ? 1 : 2) as TitleOrder); const widgetHeader = WidgetParentHeader.isEmpty(options) ? undefined : ( ); return ( ); }); export const NullWidgetPlugin: WidgetPlugin = { id: 'null-widget', use: (node) => node.schema.type === 'null', Widget: NullWidget };