diff --git a/packages/core/src/editing/affordances.test.ts b/packages/core/src/editing/affordances.test.ts index 4e42434357..b975dd64bf 100644 --- a/packages/core/src/editing/affordances.test.ts +++ b/packages/core/src/editing/affordances.test.ts @@ -144,6 +144,18 @@ describe("resolveEditingAffordances — sections", () => { expect(s).toMatchObject({ media: true, colorGrading: false }); }); + it("audio: no layout or style — an audio element has no rendered box", () => { + const s = resolveEditingAffordances(baseFacts({ tag: "audio" })).sections; + expect(s).toMatchObject({ layout: false, style: false }); + }); + + it("div/img/video: layout + style apply", () => { + for (const tag of ["div", "img", "video"]) { + const s = resolveEditingAffordances(baseFacts({ tag })).sections; + expect(s).toMatchObject({ layout: true, style: true }); + } + }); + it("img: media + colorGrading", () => { const s = resolveEditingAffordances(baseFacts({ tag: "img" })).sections; expect(s).toMatchObject({ media: true, colorGrading: true }); diff --git a/packages/core/src/editing/affordances.ts b/packages/core/src/editing/affordances.ts index d430844c05..272fb028fb 100644 --- a/packages/core/src/editing/affordances.ts +++ b/packages/core/src/editing/affordances.ts @@ -31,6 +31,13 @@ export interface EditingSectionApplicability { colorGrading: boolean; timing: boolean; animation: boolean; + /** Position/size/rotation/stacking — meaningless on an element with no + * rendered box (e.g. `