@metapages/metapage 1.10.7 → 1.10.9
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/README.md +101 -7
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1628 -1556
- package/dist/index.js.map +1 -1
- package/dist/metapage/Metapage.d.ts.map +1 -1
- package/dist/metapage/metaframeRenderer.d.ts +17 -0
- package/dist/metapage/metaframeRenderer.d.ts.map +1 -0
- package/dist/metapage/metapageRenderer.d.ts.map +1 -1
- package/dist/metapage.css +1 -0
- package/package.json +5 -4
- package/src/index.ts +1 -0
- package/src/metapage/Metapage.ts +36 -0
- package/src/metapage/metaframeRenderer.ts +147 -0
- package/src/metapage/metapageRenderer.ts +17 -5
- package/src/metapage.css +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metapage.d.ts","sourceRoot":"","sources":["../../src/metapage/Metapage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Metapage.d.ts","sourceRoot":"","sources":["../../src/metapage/Metapage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Disposer } from "./core.js";
|
|
2
|
+
import { Metapage } from "./Metapage.js";
|
|
3
|
+
import { MetaframeInputMap } from "./v0_4/index.js";
|
|
4
|
+
export interface MetaframeRendererResult {
|
|
5
|
+
setInputs: (inputs: MetaframeInputMap) => void;
|
|
6
|
+
setOutputs: (outputs: MetaframeInputMap) => void;
|
|
7
|
+
dispose: Disposer;
|
|
8
|
+
metapage: Metapage;
|
|
9
|
+
}
|
|
10
|
+
export declare function renderMetaframe(props: {
|
|
11
|
+
url: string;
|
|
12
|
+
onOutputs?: (outputs: MetaframeInputMap) => void;
|
|
13
|
+
onUrlChange?: (url: string) => void;
|
|
14
|
+
rootDiv: HTMLElement;
|
|
15
|
+
debug?: boolean;
|
|
16
|
+
}): Promise<MetaframeRendererResult>;
|
|
17
|
+
//# sourceMappingURL=metaframeRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metaframeRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metaframeRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKpD,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,UAAU,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAQD,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsHnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAGD,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKvD;AAuED,eAAO,MAAM,wBAAwB,eACvB,kBAAkB;wBAEV,UAAU,EAAE;wBACZ,IAAI,MAAM,CAAC;yBACV,IAAI,MAAM,CAAC;4BACR,MAAM;CA8E/B,CAAC;AAMF,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"metapageRenderer.d.ts","sourceRoot":"","sources":["../../src/metapage/metapageRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAGD,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKvD;AAuED,eAAO,MAAM,wBAAwB,eACvB,kBAAkB;wBAEV,UAAU,EAAE;wBACZ,IAAI,MAAM,CAAC;yBACV,IAAI,MAAM,CAAC;4BACR,MAAM;CA8E/B,CAAC;AAMF,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuPlC;AAED,eAAO,MAAM,iBAAiB,eAChB,kBAAkB,eACjB,WAAW,KACvB,OA8CF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Optional styles for metapage rendering */
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metapages/metapage",
|
|
3
3
|
"public": true,
|
|
4
|
-
"version": "1.10.
|
|
4
|
+
"version": "1.10.9",
|
|
5
5
|
"description": "Connect web pages together",
|
|
6
6
|
"repository": "https://github.com/metapages/metapage",
|
|
7
7
|
"homepage": "https://metapage.io/",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js",
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
|
-
}
|
|
18
|
+
},
|
|
19
|
+
"./metapage.css": "./dist/metapage.css"
|
|
19
20
|
},
|
|
20
21
|
"files": [
|
|
21
22
|
"dist",
|
|
@@ -23,8 +24,8 @@
|
|
|
23
24
|
],
|
|
24
25
|
"source": "src/index.ts",
|
|
25
26
|
"dependencies": {
|
|
26
|
-
"@metapages/hash-query": "^0.9.12",
|
|
27
27
|
"@metapages/dataref": "^2.0.1",
|
|
28
|
+
"@metapages/hash-query": "^0.9.12",
|
|
28
29
|
"base64-arraybuffer": "^1.0.2",
|
|
29
30
|
"compare-versions": "^6.1.1",
|
|
30
31
|
"eventemitter3": "^4.0.0",
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
"@rollup/plugin-typescript": "^11.1.5",
|
|
41
42
|
"@types/object-hash": "^2.2.1",
|
|
42
43
|
"@vitest/browser": "^3.2.4",
|
|
43
|
-
"playwright": "^1.
|
|
44
|
+
"playwright": "^1.59.1",
|
|
44
45
|
"rollup": "^2.79.2",
|
|
45
46
|
"rollup-plugin-typescript-paths": "^1.4.0",
|
|
46
47
|
"tslib": "^2.6.2",
|
package/src/index.ts
CHANGED
package/src/metapage/Metapage.ts
CHANGED
|
@@ -613,6 +613,15 @@ export class Metapage extends MetapageShared {
|
|
|
613
613
|
const savedOriginalParams = { ...this._originalSecretHashParams };
|
|
614
614
|
const savedOriginalQueryParams = { ...this._originalSecretQueryParams };
|
|
615
615
|
|
|
616
|
+
// Snapshot old definition URLs so we can detect genuine URL changes
|
|
617
|
+
// for existing metaframes (vs no-op round-trips from hash self-updates)
|
|
618
|
+
const oldDefinitionUrls: { [key: string]: string } = {};
|
|
619
|
+
if (this._definition?.metaframes) {
|
|
620
|
+
Object.keys(this._definition.metaframes).forEach((id) => {
|
|
621
|
+
oldDefinitionUrls[id] = this._definition.metaframes[id].url;
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
|
|
616
625
|
this._definition = newDefinition;
|
|
617
626
|
|
|
618
627
|
// Capture removed frames BEFORE removing them so we have references
|
|
@@ -646,6 +655,33 @@ export class Metapage extends MetapageShared {
|
|
|
646
655
|
});
|
|
647
656
|
}
|
|
648
657
|
|
|
658
|
+
// Update URLs for existing metaframes whose URL genuinely changed.
|
|
659
|
+
// Compare against the old definition URL (not the client URL, which
|
|
660
|
+
// may include injected secrets). When a metaframe self-updates its
|
|
661
|
+
// hash params, the HashParamsUpdate handler already updates both the
|
|
662
|
+
// client URL and this._definition, so by the time a round-trip call
|
|
663
|
+
// to setDefinition/updateDefinition arrives, the old definition URL
|
|
664
|
+
// already matches the new one — making this a no-op as intended.
|
|
665
|
+
if (newDefinition.metaframes) {
|
|
666
|
+
Object.keys(newDefinition.metaframes).forEach((metaframeId) => {
|
|
667
|
+
if (added[metaframeId]) {
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
const client = this._metaframes[metaframeId];
|
|
671
|
+
if (!client) {
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
const newUrl = newDefinition.metaframes[metaframeId].url;
|
|
675
|
+
const oldUrl = oldDefinitionUrls[metaframeId];
|
|
676
|
+
if (newUrl && oldUrl !== newUrl) {
|
|
677
|
+
client.url = newUrl;
|
|
678
|
+
if (client._iframe) {
|
|
679
|
+
client._iframe.src = newUrl;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
});
|
|
683
|
+
}
|
|
684
|
+
|
|
649
685
|
// Rebuild the pipe map for existing metaframes whose inputs may have
|
|
650
686
|
// changed in the new definition. addMetaframe already handles new frames,
|
|
651
687
|
// but existing frames keep their stale _inputMap entries.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { Disposer } from "./core.js";
|
|
2
|
+
import { MetapageEventDefinitionUpdate, MetapageEvents } from "./events.js";
|
|
3
|
+
import { Metapage } from "./Metapage.js";
|
|
4
|
+
import { pageLoaded } from "./MetapageTools.js";
|
|
5
|
+
import { MetaframeInputMap } from "./v0_4/index.js";
|
|
6
|
+
import { MetapageDefinition } from "./v2/metapage.js";
|
|
7
|
+
|
|
8
|
+
const METAFRAME_ID = "mf";
|
|
9
|
+
|
|
10
|
+
export interface MetaframeRendererResult {
|
|
11
|
+
setInputs: (inputs: MetaframeInputMap) => void;
|
|
12
|
+
setOutputs: (outputs: MetaframeInputMap) => void;
|
|
13
|
+
dispose: Disposer;
|
|
14
|
+
metapage: Metapage;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Renders a single metaframe URL as a full-size iframe.
|
|
19
|
+
* Creates a minimal metapage definition wrapping the URL,
|
|
20
|
+
* then renders the iframe at 100% width/height with no
|
|
21
|
+
* borders, labels, or grid layout.
|
|
22
|
+
*/
|
|
23
|
+
export async function renderMetaframe(props: {
|
|
24
|
+
url: string;
|
|
25
|
+
onOutputs?: (outputs: MetaframeInputMap) => void;
|
|
26
|
+
onUrlChange?: (url: string) => void;
|
|
27
|
+
rootDiv: HTMLElement;
|
|
28
|
+
debug?: boolean;
|
|
29
|
+
}): Promise<MetaframeRendererResult> {
|
|
30
|
+
const { url, onOutputs, onUrlChange, rootDiv, debug = false } = props;
|
|
31
|
+
|
|
32
|
+
if (!url) {
|
|
33
|
+
throw new Error("url must be provided");
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Build a minimal metapage definition with a single metaframe
|
|
37
|
+
const definition: MetapageDefinition = {
|
|
38
|
+
version: "0.4",
|
|
39
|
+
metaframes: {
|
|
40
|
+
[METAFRAME_ID]: { url },
|
|
41
|
+
},
|
|
42
|
+
meta: {
|
|
43
|
+
layouts: {
|
|
44
|
+
"react-grid-layout": {
|
|
45
|
+
docs: "https://www.npmjs.com/package/react-grid-layout",
|
|
46
|
+
props: {
|
|
47
|
+
cols: 1,
|
|
48
|
+
margin: [0, 0],
|
|
49
|
+
rowHeight: 100,
|
|
50
|
+
containerPadding: [0, 0],
|
|
51
|
+
},
|
|
52
|
+
layout: [{ i: METAFRAME_ID, x: 0, y: 0, w: 1, h: 1 }],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
await pageLoaded();
|
|
59
|
+
|
|
60
|
+
const metapage = new Metapage();
|
|
61
|
+
metapage.debug = debug;
|
|
62
|
+
|
|
63
|
+
try {
|
|
64
|
+
await metapage.setDefinition(JSON.parse(JSON.stringify(definition)));
|
|
65
|
+
} catch (err) {
|
|
66
|
+
metapage.dispose();
|
|
67
|
+
throw new Error(`Failed to set metapage definition: ${err}`);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const disposers: Disposer[] = [];
|
|
71
|
+
|
|
72
|
+
if (onOutputs) {
|
|
73
|
+
disposers.push(
|
|
74
|
+
metapage.addListenerReturnDisposer(MetapageEvents.Outputs, (outputs) => {
|
|
75
|
+
onOutputs(outputs[METAFRAME_ID] || {});
|
|
76
|
+
}),
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (onUrlChange) {
|
|
81
|
+
let lastUrl = url;
|
|
82
|
+
disposers.push(
|
|
83
|
+
metapage.addListenerReturnDisposer(
|
|
84
|
+
MetapageEvents.DefinitionUpdate,
|
|
85
|
+
(event: MetapageEventDefinitionUpdate) => {
|
|
86
|
+
const newUrl = event.definition?.metaframes?.[METAFRAME_ID]?.url;
|
|
87
|
+
if (newUrl && newUrl !== lastUrl) {
|
|
88
|
+
lastUrl = newUrl;
|
|
89
|
+
onUrlChange(newUrl);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
),
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Get the single metaframe's iframe
|
|
97
|
+
const metaframe = metapage.getMetaframes()[METAFRAME_ID];
|
|
98
|
+
if (!metaframe) {
|
|
99
|
+
metapage.dispose();
|
|
100
|
+
throw new Error("Failed to create metaframe");
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const iframe = await metaframe.iframe;
|
|
104
|
+
|
|
105
|
+
// Container fills the rootDiv completely
|
|
106
|
+
const container = document.createElement("div");
|
|
107
|
+
container.style.width = "100%";
|
|
108
|
+
container.style.height = "100%";
|
|
109
|
+
container.style.margin = "0";
|
|
110
|
+
container.style.padding = "0";
|
|
111
|
+
container.style.overflow = "hidden";
|
|
112
|
+
container.style.position = "relative";
|
|
113
|
+
|
|
114
|
+
// Iframe fills the container
|
|
115
|
+
iframe.style.position = "absolute";
|
|
116
|
+
iframe.style.top = "0";
|
|
117
|
+
iframe.style.left = "0";
|
|
118
|
+
iframe.style.width = "100%";
|
|
119
|
+
iframe.style.height = "100%";
|
|
120
|
+
iframe.style.border = "none";
|
|
121
|
+
iframe.style.margin = "0";
|
|
122
|
+
iframe.style.padding = "0";
|
|
123
|
+
|
|
124
|
+
container.appendChild(iframe);
|
|
125
|
+
rootDiv.appendChild(container);
|
|
126
|
+
|
|
127
|
+
return {
|
|
128
|
+
metapage,
|
|
129
|
+
setInputs: (inputs: MetaframeInputMap) => {
|
|
130
|
+
if (!metapage.isDisposed()) {
|
|
131
|
+
metapage.setInputs({ [METAFRAME_ID]: inputs });
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
setOutputs: (outputs: MetaframeInputMap) => {
|
|
135
|
+
if (!metapage.isDisposed()) {
|
|
136
|
+
metapage.setOutputs({ [METAFRAME_ID]: outputs });
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
dispose: () => {
|
|
140
|
+
disposers.forEach((disposer) => disposer());
|
|
141
|
+
metapage.dispose();
|
|
142
|
+
if (container.parentNode) {
|
|
143
|
+
container.parentNode.removeChild(container);
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}
|
|
@@ -342,18 +342,30 @@ export async function renderMetapage(props: {
|
|
|
342
342
|
const itemStyle: Record<string, string | number> = {
|
|
343
343
|
gridColumn: `${layoutItem.x + 1} / span ${layoutItem.w}`,
|
|
344
344
|
gridRow: `${layoutItem.y + 1} / span ${layoutItem.h}`,
|
|
345
|
-
|
|
345
|
+
position: "relative",
|
|
346
|
+
overflowY: "hidden",
|
|
346
347
|
width: "100%",
|
|
347
|
-
height: "100%",
|
|
348
|
+
height: "100%",
|
|
348
349
|
border: options.hideFrameBorders ? "none" : "1px solid #e0e0e0",
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
justifySelf: "stretch", // Stretch to fill the grid cell width
|
|
350
|
+
alignSelf: "stretch",
|
|
351
|
+
justifySelf: "stretch",
|
|
352
352
|
};
|
|
353
353
|
|
|
354
354
|
// Create wrapper div for proper grid positioning
|
|
355
355
|
const wrapper = document.createElement("div");
|
|
356
|
+
wrapper.classList.add("metaframe-container");
|
|
356
357
|
Object.assign(wrapper.style, itemStyle);
|
|
358
|
+
|
|
359
|
+
// Absolutely position iframe within its relative container
|
|
360
|
+
iframe.classList.add("metaframe");
|
|
361
|
+
iframe.style.position = "absolute";
|
|
362
|
+
iframe.style.top = "0";
|
|
363
|
+
iframe.style.left = "0";
|
|
364
|
+
iframe.style.width = "100%";
|
|
365
|
+
iframe.style.height = "100%";
|
|
366
|
+
iframe.style.border = "0";
|
|
367
|
+
iframe.style.overflow = "hidden";
|
|
368
|
+
|
|
357
369
|
wrapper.appendChild(iframe);
|
|
358
370
|
|
|
359
371
|
gridContainer.appendChild(wrapper);
|
package/src/metapage.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* Optional styles for metapage rendering */
|