import { useFieldSchema } from "@tachybase/schema";
import { SchemaSettings } from "../../../../application/schema-settings/SchemaSettings.mjs";
import { useCollection_deprecated } from "../../../../collection-manager/index.mjs";
import { SchemaSettingsBlockTitleItem, SchemaSettingsFormItemTemplate } from "../../../../schema-settings/index.mjs";
const commonItems = [
    {
        name: 'title',
        Component: SchemaSettingsBlockTitleItem
    },
    {
        name: 'formItemTemplate',
        Component: SchemaSettingsFormItemTemplate,
        useComponentProps () {
            var _fieldSchema_xdecoratorprops, _fieldSchema_xdecoratorprops1;
            const { name } = useCollection_deprecated();
            const fieldSchema = useFieldSchema();
            const defaultResource = (null == fieldSchema ? void 0 : null == (_fieldSchema_xdecoratorprops = fieldSchema['x-decorator-props']) ? void 0 : _fieldSchema_xdecoratorprops.resource) || (null == fieldSchema ? void 0 : null == (_fieldSchema_xdecoratorprops1 = fieldSchema['x-decorator-props']) ? void 0 : _fieldSchema_xdecoratorprops1.association);
            return {
                insertAdjacentPosition: 'beforeEnd',
                componentName: 'ReadPrettyFormItem',
                collectionName: name,
                resourceName: defaultResource
            };
        }
    },
    {
        name: 'divider',
        type: 'divider'
    },
    {
        name: 'remove',
        type: 'remove',
        componentProps: {
            removeParentsIfNoChildren: true,
            breakRemoveOn: {
                'x-component': 'Grid'
            }
        }
    }
];
const singleDataDetailsBlockSettings = new SchemaSettings({
    name: 'blockSettings:singleDataDetails',
    items: commonItems
});
const detailsBlockSettings = new SchemaSettings({
    name: 'blockSettings:details',
    items: commonItems
});
export { detailsBlockSettings, singleDataDetailsBlockSettings };
