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,
},
})