@echovisionlab/geul-common 0.3.2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@echovisionlab/geul-common",
3
3
  "description": "Shared TypeScript contracts and helpers for Geul editors, collaboration, localized content, media blocks, pages, posts, and runtime events.",
4
4
  "author": "state303 <state303@dsub.io>",
5
- "version": "0.3.2",
5
+ "version": "0.4.0",
6
6
  "private": false,
7
7
  "type": "module",
8
8
  "repository": {
@@ -63,7 +63,7 @@
63
63
  },
64
64
  "dependencies": {
65
65
  "@bufbuild/protobuf": "^2.16.0",
66
- "@echovisionlab/geul-proto": "^0.4.1",
66
+ "@echovisionlab/geul-proto": "^0.5.0",
67
67
  "diff": "9.0.0",
68
68
  "zod": "^4.6.5"
69
69
  },
@@ -21,7 +21,23 @@ export type PageBlockType =
21
21
  | "map"
22
22
  | "external-video"
23
23
  | "columns"
24
- | "mermaid";
24
+ | "mermaid"
25
+ | "embed";
26
+
27
+ export interface EmbedProps {
28
+ uri: string;
29
+ title: string;
30
+ heightMode: "fixed" | "auto" | "viewport";
31
+ height: string;
32
+ allowScripts: "true" | "false";
33
+ allowSameOrigin: "true" | "false";
34
+ allowForms: "true" | "false";
35
+ allowDownloads: "true" | "false";
36
+ allowPopups: "true" | "false";
37
+ allowMicrophone: "true" | "false";
38
+ allowSpeakerSelection: "true" | "false";
39
+ allowFullscreen: "true" | "false";
40
+ }
25
41
 
26
42
  export interface MermaidProps {
27
43
  source: string;
@@ -89,6 +105,7 @@ export const PAGE_BLOCK_TYPES = [
89
105
  "external-video",
90
106
  "columns",
91
107
  "mermaid",
108
+ "embed",
92
109
  ] as const satisfies readonly PageBlockType[];
93
110
 
94
111
  function createParagraphBlock(id: string, text: string): PageBlockFixtureBlock {
@@ -572,6 +589,25 @@ export const PAGE_BLOCK_FIXTURE_SECTIONS: PageBlockFixtureSection[] = [
572
589
  settings: {},
573
590
  props: { source: "flowchart LR\n A --> B", title: "Diagram" },
574
591
  },
592
+ {
593
+ id: "fixture-section-embed",
594
+ type: "embed",
595
+ settings: {},
596
+ props: {
597
+ uri: "https://example.com/embed",
598
+ title: "Embedded content",
599
+ heightMode: "fixed",
600
+ height: "640",
601
+ allowScripts: "true",
602
+ allowSameOrigin: "true",
603
+ allowForms: "false",
604
+ allowDownloads: "false",
605
+ allowPopups: "false",
606
+ allowMicrophone: "false",
607
+ allowSpeakerSelection: "false",
608
+ allowFullscreen: "false",
609
+ } satisfies EmbedProps,
610
+ },
575
611
  ];
576
612
 
577
613
  export function createPageBlockFixtureSections(): PageBlockFixtureSection[] {