Added DefinitionList and DefinitionItem components

This commit is contained in:
2025-10-03 14:31:02 +02:00
parent 8f78c26b78
commit 70e226057a
13 changed files with 136 additions and 35 deletions

View File

@@ -0,0 +1,25 @@
import { listTreeIcon } from '@keystar/ui/icon/icons/listTreeIcon';
import { fields } from '@keystatic/core';
import { repeating, block } from '@keystatic/core/content-components';
export const definitionlistComponents = {
DefinitionList: repeating({
label: 'Definition List',
icon: listTreeIcon,
children: ['DefinitionItem'],
schema: {},
}),
DefinitionItem: block({
label: 'Definition Item',
schema: {
term: fields.text({ label: 'Term' }),
definitions: fields.array(
fields.text({ label: 'Definition', multiline: true }),
{
label: 'Definitions',
itemLabel: (props) => props.value || 'Definition',
}
),
},
}),
};

View File

@@ -1,4 +1,9 @@
import { gridComponents } from '@/keystatic/components/general/grid';
import { sidenoteComponents } from '@/keystatic/components/general/sidenote';
import { definitionlistComponents } from '@/keystatic/components/general/definitionlist';
export const generalComponents = { ...gridComponents, ...sidenoteComponents };
export const generalComponents = {
...gridComponents,
...sidenoteComponents,
...definitionlistComponents,
};