alinea
Version:
Headless git-based CMS
38 lines (36 loc) • 1.06 kB
JavaScript
import "../chunks/chunk-NZLE2WMY.js";
// src/core/Document.ts
import { metadata as createMetadata } from "alinea/field/metadata";
import { path as createPath } from "alinea/field/path";
import { tab, tabs } from "alinea/field/tabs";
import { text } from "alinea/field/text";
import { IcRoundDescription } from "alinea/ui/icons/IcRoundDescription";
import { IcRoundShare } from "alinea/ui/icons/IcRoundShare";
import { type } from "./Type.js";
function documentFields() {
return {
title: text("Title", { required: true, width: 0.5 }),
path: createPath("Path", { required: true, width: 0.5 }),
metadata: createMetadata()
};
}
function document(label, { fields, ...config }) {
const { title, path, metadata } = documentFields();
const fieldsWithMeta = tabs(
tab("Document", {
icon: IcRoundDescription,
fields: { title, path, ...fields }
}),
tab("Metadata", {
icon: IcRoundShare,
fields: { metadata }
})
);
return type(label, {
...config,
fields: fieldsWithMeta
});
}
export {
document
};