@atlaskit/adf-schema
Version:
Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs
70 lines (69 loc) • 2.38 kB
TypeScript
import type { NodeSpec } from '@atlaskit/editor-prosemirror/model';
import type { LinkDefinition } from '../marks/link';
import type { CaptionDefinition as Caption } from './caption';
import type { MediaDefinition as Media } from './media';
import type { ExtendedMediaAttributes } from './types/rich-media-common';
export type MediaSingleDefinition = MediaSingleFullDefinition | MediaSingleWithCaptionDefinition;
/**
* @name mediaSingle_node
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @additionalProperties true
*/
export interface MediaSingleBaseDefinition {
attrs?: ExtendedMediaAttributes;
marks?: Array<LinkDefinition>;
type: 'mediaSingle';
}
/**
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @additionalProperties true
*/
export interface MediaCaptionContent {
/**
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @minItems 1
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @maxItems 2
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @allowUnsupportedBlock true
*/
content: [Media, Caption?];
}
/**
* @name mediaSingle_caption_node
*/
export type MediaSingleWithCaptionDefinition = MediaSingleBaseDefinition & MediaCaptionContent;
/**
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @additionalProperties true
*/
export interface MediaSingleFullContent {
/**
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @minItems 1
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @maxItems 1
// eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names
* @allowUnsupportedBlock true
*/
content: Array<Media>;
}
/**
* @name mediaSingle_full_node
*/
export type MediaSingleFullDefinition = MediaSingleBaseDefinition & MediaSingleFullContent;
export declare const defaultAttrs: {
layout: {
default: string;
};
width: {
default: null;
};
};
export declare const mediaSingle: NodeSpec;
export declare const mediaSingleWithCaption: NodeSpec;
export declare const mediaSingleWithWidthType: NodeSpec;
export declare const mediaSingleFull: NodeSpec;
export declare const mediaSingleFullWithLocalId: NodeSpec;
export { mediaSingleSpec } from './media-single-spec';
export { toJSON } from './to-json';