UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

41 lines 2.06 kB
import { $onePlus, $or, $zeroPlus, adfNode } from '@atlaskit/adf-schema-generator'; import { unsupportedMark } from '../marks/unsupportedMark'; import { unsupportedNodeAttribute } from '../marks/unsupportedNodeAttribute'; import { codeBlock } from './codeBlock'; import { mediaSingle } from './mediaSingle'; import { paragraph } from './paragraph'; import { taskList } from './task'; import { unsupportedBlock } from './unsupportedBlock'; import { decisionList } from './decisionList'; import { extension } from './extension'; export const orderedList = adfNode('orderedList'); export const bulletList = adfNode('bulletList'); const listItem = adfNode('listItem').define({ defining: true, selectable: false, marks: [unsupportedMark, unsupportedNodeAttribute], contentMinItems: 1, content: [$or(paragraph.use('with_no_marks'), mediaSingle.use('caption'), mediaSingle.use('full'), codeBlock, unsupportedBlock, extension.use('with_marks')), $zeroPlus($or(paragraph.use('with_no_marks'), bulletList, orderedList, taskList, mediaSingle.use('caption'), mediaSingle.use('full'), codeBlock, unsupportedBlock, extension.use('with_marks')))] }).variant('with_nested_decision', { content: [$or(paragraph.use('with_no_marks'), mediaSingle.use('caption'), mediaSingle.use('full'), codeBlock, unsupportedBlock, decisionList, extension.use('with_marks')), $zeroPlus($or(paragraph.use('with_no_marks'), bulletList, orderedList, taskList, mediaSingle.use('caption'), mediaSingle.use('full'), codeBlock, unsupportedBlock, decisionList, extension.use('with_marks')))], noExtend: true, stage0: true }); orderedList.define({ selectable: false, marks: [unsupportedMark, unsupportedNodeAttribute], attrs: { order: { type: 'number', minimum: 0, default: 1, optional: true } }, content: [$onePlus($or(listItem, listItem.use('with_nested_decision')))] }); bulletList.define({ selectable: false, marks: [unsupportedMark, unsupportedNodeAttribute], content: [$onePlus($or(listItem, listItem.use('with_nested_decision')))] });