import { TagsInput } from '@mantine/core'; import { widget, WidgetPlugin, ArrayNode, DefaultNodeOptions, WidgetField, getData } from '@sagold/react-json-editor'; import { widgetInputProps } from '../components/widgetInputProps'; import { WidgetMenuItems } from '../components/widgetmenu/WidgetMenu'; export type TagListOptions = DefaultNodeOptions & { /** if false, will hide title. will hide complete title-header if no menu-actions are available */ showHeader?: boolean; /** internal option for menu action items */ widgetMenuItems?: WidgetMenuItems; }; export const TagListWidget = widget, string[]>(({ node, options, setValue }) => { return ( ); }); export const TagListWidgetPlugin: WidgetPlugin = { id: 'taglist-widget', use: (node) => // @ts-expect-error test json-schema node.schema.type === 'array' && node.schema['x-widget'] === 'taglist' && node.schema.items?.type === 'string', Widget: TagListWidget };