OptionalautoAuto-save interval in milliseconds
OptionalcolorsCustom colors
OptionalenableEnable audio passthrough
OptionalenableEnable auto-save
OptionalenableEnable drag-and-drop reorder
OptionalenableEnable timeline markers/comments on clip players
OptionalenableEnable recording feature
OptionalenableEnable regions on clip players
OptionalfileExisting file ID for updates
OptionalfileFile storage location
OptionaliconsCustom icons
OptionalinitialInitial composition to load
OptionallabelsCustom labels
OptionalmaxMaximum number of clips allowed
OptionalmaxMaximum container height
OptionalmaxMaximum recording duration in seconds
OptionalonCalled after auto-save completes
OptionalonCalled when composition changes
OptionalonCalled when a clip is added
OptionalonCalled when a clip is removed
OptionalonClose callback — renders a close button in the title bar
OptionalonGeneral error callback
OptionalonOptional handler for an "Open existing" affordance rendered in the title bar (left of the title field). Useful when the editor was opened on a fresh blank file and the user wants a way back to a file picker. Omit to hide the button.
OptionalonCalled when a save error occurs
OptionalonCalled when the composition title changes
OptionalownerLegacy: a single name to render under every clip. Kept only as a
fallback when resolveClipOwnerName isn't provided AND the
clip lacks a createdByName. Prefer resolveClipOwnerName —
clips can be recorded by different participants (e.g. a student
recording into a teacher's composition), so a single file-owner
name is wrong for those clips.
OptionalreadRead-only mode
OptionalresolvePer-clip owner-name resolver. Called for each clip to produce the
name shown next to its duration (e.g. "0:11 — Bilbo"). Receives
the full ClipItem so the consumer can look the owner up
however it likes — typically by joining clip.fileId against a
userFiles slice and resolving the file's userId to a display
name (covers the case where a clip's recorder differs from the
composition's owner). Return undefined to fall back through
clip.createdByName → ownerName.
OptionalshowShow header with title
OptionalshowShow toolbar
OptionalstylesCustom styles
OptionalsxMUI sx styling prop
OptionaltitleTitle for the composition
Props for the ClipComposition main component.