From c3125bee8778da35c447240ebe835e8fd6ca2672 Mon Sep 17 00:00:00 2001 From: Dikshita S Khandke <86658196+DikshitaKhandke@users.noreply.github.com> Date: Tue, 7 Jul 2026 20:05:54 +0530 Subject: [PATCH 1/2] feat(ceros-flex): atc-7642 ceros flex inline embeds --- .../src/annotations/ceros-embed.ts | 51 ++++++++++++++- packages/@atjson/renderer-html/src/index.ts | 26 ++++++-- .../renderer-html/test/renderer.test.ts | 29 +++++++++ .../src/converter/third-party-embeds.ts | 64 +++++++++++++++++-- .../source-html/test/ceros-embed.test.ts | 55 ++++++++++++++++ 5 files changed, 212 insertions(+), 13 deletions(-) diff --git a/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts b/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts index 22ce4939e..81863a442 100644 --- a/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts +++ b/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts @@ -1,6 +1,11 @@ import { BlockAnnotation } from "@atjson/document"; -export class CerosEmbed extends BlockAnnotation<{ +export type CerosStudioEmbedAttributes = { + /** + * The type of Ceros experience. + */ + cerosType?: "studio"; + /** * The URL to the Ceros experience. */ @@ -29,7 +34,49 @@ export class CerosEmbed extends BlockAnnotation<{ * A named identifier used to quickly jump to this item */ anchorName?: string; -}> { +}; + +export type CerosFlexInlineEmbedAttributes = { + /** + * The type of Ceros experience. + */ + cerosType: "flex"; + + /** + * The Flex rendering mode. + */ + renderMode: "inline"; + + /** + * The manifest URL for the Ceros Flex experience. + */ + manifestUrl: string; + + /** + * The client script URL for rendering Ceros Flex experiences. + */ + scriptUrl?: string; + + /** + * The inline container height for full-height scrolling Flex experiences. + */ + height?: string; + + /** + * Layout information, used to indicate mutually + * exclusive layouts, for example sizes, floats, etc. + */ + layout?: string; + + /** + * A named identifier used to quickly jump to this item + */ + anchorName?: string; +}; + +export class CerosEmbed extends BlockAnnotation< + CerosStudioEmbedAttributes | CerosFlexInlineEmbedAttributes +> { static vendorPrefix = "offset"; static type = "ceros-embed"; } diff --git a/packages/@atjson/renderer-html/src/index.ts b/packages/@atjson/renderer-html/src/index.ts index 2ed1fe8de..c2d077ebe 100644 --- a/packages/@atjson/renderer-html/src/index.ts +++ b/packages/@atjson/renderer-html/src/index.ts @@ -132,11 +132,27 @@ export default class HTMLRenderer extends Renderer { } *CerosEmbed(embed: Block) { + if (embed.attributes.cerosType === "flex") { + return `
`; + } + + let studioAttributes = embed.attributes; + return `
`, From 8e870934db32ecec50dbf66c6b8b5a487e2f90b2 Mon Sep 17 00:00:00 2001 From: Dikshita S Khandke <86658196+DikshitaKhandke@users.noreply.github.com> Date: Wed, 8 Jul 2026 10:45:27 +0530 Subject: [PATCH 2/2] feat(ceros-flex): atc-7642 update annotation to remove scripturl --- .../offset-annotations/src/annotations/ceros-embed.ts | 5 ----- packages/@atjson/renderer-html/src/index.ts | 4 +--- packages/@atjson/renderer-html/test/renderer.test.ts | 1 - .../@atjson/source-html/src/converter/third-party-embeds.ts | 1 - packages/@atjson/source-html/test/ceros-embed.test.ts | 2 -- 5 files changed, 1 insertion(+), 12 deletions(-) diff --git a/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts b/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts index 81863a442..e7d5e1798 100644 --- a/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts +++ b/packages/@atjson/offset-annotations/src/annotations/ceros-embed.ts @@ -52,11 +52,6 @@ export type CerosFlexInlineEmbedAttributes = { */ manifestUrl: string; - /** - * The client script URL for rendering Ceros Flex experiences. - */ - scriptUrl?: string; - /** * The inline container height for full-height scrolling Flex experiences. */ diff --git a/packages/@atjson/renderer-html/src/index.ts b/packages/@atjson/renderer-html/src/index.ts index c2d077ebe..dae53799c 100644 --- a/packages/@atjson/renderer-html/src/index.ts +++ b/packages/@atjson/renderer-html/src/index.ts @@ -140,9 +140,7 @@ export default class HTMLRenderer extends Renderer { : undefined, "data-flex-manifest-url": embed.attributes.manifestUrl, }).join(" ")}>`; } diff --git a/packages/@atjson/renderer-html/test/renderer.test.ts b/packages/@atjson/renderer-html/test/renderer.test.ts index 8bbb375d1..d59b8732e 100644 --- a/packages/@atjson/renderer-html/test/renderer.test.ts +++ b/packages/@atjson/renderer-html/test/renderer.test.ts @@ -497,7 +497,6 @@ describe("renderer-html", () => { renderMode: "inline", manifestUrl: "https://a-j-lawrence.ceros.site/newsletter-hub/manifest.v1.json", - scriptUrl: "https://assets.ceros.site/js/flex-client.js", height: "100vh", }, }), diff --git a/packages/@atjson/source-html/src/converter/third-party-embeds.ts b/packages/@atjson/source-html/src/converter/third-party-embeds.ts index 47d93792b..70e4dd904 100644 --- a/packages/@atjson/source-html/src/converter/third-party-embeds.ts +++ b/packages/@atjson/source-html/src/converter/third-party-embeds.ts @@ -119,7 +119,6 @@ export default function convertThirdPartyEmbeds(doc: Document) { cerosType: "flex", renderMode: "inline", manifestUrl: container.attributes.dataset["flex-manifest-url"], - scriptUrl: "https://assets.ceros.site/js/flex-client.js", height: getInlineStyleHeight(container.attributes.style), }, }), diff --git a/packages/@atjson/source-html/test/ceros-embed.test.ts b/packages/@atjson/source-html/test/ceros-embed.test.ts index 4f5afbf19..6a5fdec50 100644 --- a/packages/@atjson/source-html/test/ceros-embed.test.ts +++ b/packages/@atjson/source-html/test/ceros-embed.test.ts @@ -17,7 +17,6 @@ describe("CerosEmbed", () => { "height": "100vh", "manifestUrl": "https://a-j-lawrence.ceros.site/newsletter-hub/manifest.v1.json", "renderMode": "inline", - "scriptUrl": "https://assets.ceros.site/js/flex-client.js", }, "id": "B00000000", "parents": [], @@ -48,7 +47,6 @@ describe("CerosEmbed", () => { cerosType: "flex", renderMode: "inline", manifestUrl, - scriptUrl: "https://assets.ceros.site/js/flex-client.js", height: "100vh", }, },