defaultShapeSchemas
Default shape schema configurations for all built-in tldraw shape types. Each shape type includes its validation props and migration sequences.
This object contains schema information for: - arrow: Directional lines that can bind to other shapes - bookmark: Website bookmark cards with preview information - draw: Freehand drawing paths created with drawing tools - embed: Embedded content from external services (YouTube, Figma, etc.) - frame: Container shapes for organizing content - geo: Geometric shapes (rectangles, ellipses, triangles, etc.) - group: Logical groupings of multiple shapes - highlight: Highlighting strokes from the highlighter tool - image: Raster image shapes referencing image assets - line: Multi-point lines and splines - note: Sticky note shapes with text content - text: Rich text shapes with formatting support - video: Video shapes referencing video assets
defaultShapeSchemas: {
arrow: {
migrations: MigrationSequence;
props: RecordProps<import(".").TLArrowShape>;
};
bookmark: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLBookmarkShape>;
};
draw: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLDrawShape>;
};
embed: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLEmbedShape>;
};
frame: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLFrameShape>;
};
geo: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLGeoShape>;
};
group: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLGroupShape>;
};
highlight: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLHighlightShape>;
};
image: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLImageShape>;
};
line: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLLineShape>;
};
note: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLNoteShape>;
};
text: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLTextShape>;
};
video: {
migrations: TLPropsMigrations;
props: RecordProps<import(".").TLVideoShape>;
};
};Example
import { createTLSchema, defaultShapeSchemas } from "@tldraw/tlschema";
// Use all default shapes
const schema = createTLSchema({
shapes: defaultShapeSchemas,
});
// Use only specific default shapes
const minimalSchema = createTLSchema({
shapes: {
geo: defaultShapeSchemas.geo,
text: defaultShapeSchemas.text,
},
});