@web-applets/sdk 0.1.3 → 0.1.5
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 +5 -4
- package/dist/components/applet-frame.js +2 -1
- package/dist/core/applet.js +1 -1
- package/dist/core/context.js +1 -1
- package/dist/core/shared.js +2 -0
- package/package.json +1 -5
package/README.md
CHANGED
@@ -52,11 +52,11 @@ Now let's build out a basic web applet that will say hello when we send it an ac
|
|
52
52
|
</html>
|
53
53
|
```
|
54
54
|
|
55
|
-
Let's add some Web Applets functionality, so this can respond to a `set_name` action
|
55
|
+
Let's add some Web Applets functionality, so this can respond to a `set_name` action. You can do this by adding actions that a model can call, with each on accepting a parameters object that we can describe using JSONSchema.
|
56
56
|
|
57
57
|
`public/manifest.json`:
|
58
58
|
|
59
|
-
```
|
59
|
+
```js
|
60
60
|
{
|
61
61
|
// ...
|
62
62
|
"actions": [
|
@@ -69,7 +69,8 @@ Let's add some Web Applets functionality, so this can respond to a `set_name` ac
|
|
69
69
|
"name": {
|
70
70
|
"type": "string"
|
71
71
|
}
|
72
|
-
}
|
72
|
+
},
|
73
|
+
"required": ["name"]
|
73
74
|
}
|
74
75
|
}
|
75
76
|
]
|
@@ -84,7 +85,7 @@ import { applets } from '@web-applets/sdk';
|
|
84
85
|
const context = applets.getContext();
|
85
86
|
|
86
87
|
// Define a 'set_name' action, and make it update the shared data object with the new name
|
87
|
-
context.
|
88
|
+
context.setActionHandler('set_name', ({ name }) => {
|
88
89
|
context.data = { name };
|
89
90
|
});
|
90
91
|
|
@@ -71,13 +71,14 @@ export class AppletFrame extends HTMLElement {
|
|
71
71
|
}
|
72
72
|
}
|
73
73
|
resizeContainer(dimensions) {
|
74
|
-
this.
|
74
|
+
this.style.height = `${dimensions.height}px`;
|
75
75
|
}
|
76
76
|
get styles() {
|
77
77
|
return /*css*/ `
|
78
78
|
:host {
|
79
79
|
display: flex;
|
80
80
|
flex-direction: column;
|
81
|
+
height: 350px;
|
81
82
|
}
|
82
83
|
|
83
84
|
iframe {
|
package/dist/core/applet.js
CHANGED
@@ -42,7 +42,7 @@ export async function load(url, container
|
|
42
42
|
// } else {
|
43
43
|
// container.setAttribute('sandbox', 'allow-scripts allow-forms');
|
44
44
|
// }
|
45
|
-
container.setAttribute('sandbox', 'allow-scripts allow-forms');
|
45
|
+
container.setAttribute('sandbox', 'allow-scripts allow-forms allow-same-origin');
|
46
46
|
container.src = url;
|
47
47
|
const applet = new Applet(manifest, container.contentWindow);
|
48
48
|
return new Promise((resolve) => {
|
package/dist/core/context.js
CHANGED
@@ -32,7 +32,6 @@ export class AppletContext extends EventTarget {
|
|
32
32
|
// Document not yet loaded, we'll add an event listener to call when it does
|
33
33
|
window.addEventListener('DOMContentLoaded', this.initialize.bind(this));
|
34
34
|
}
|
35
|
-
this.createResizeObserver();
|
36
35
|
this.attachListeners();
|
37
36
|
}
|
38
37
|
async initialize() {
|
@@ -60,6 +59,7 @@ export class AppletContext extends EventTarget {
|
|
60
59
|
this.dispatchEvent(readyEvent);
|
61
60
|
if (typeof this.onready === 'function')
|
62
61
|
this.onready(readyEvent);
|
62
|
+
this.createResizeObserver();
|
63
63
|
}
|
64
64
|
createResizeObserver() {
|
65
65
|
const resizeObserver = new ResizeObserver((entries) => {
|
package/dist/core/shared.js
CHANGED
@@ -50,6 +50,8 @@ export class AppletMessageRelay {
|
|
50
50
|
return;
|
51
51
|
if (messageEvent.data.type !== messageType)
|
52
52
|
return;
|
53
|
+
if (messageEvent.source !== this.target)
|
54
|
+
return;
|
53
55
|
const message = new AppletMessage(messageEvent.data.type, messageEvent.data);
|
54
56
|
// Wait for the callback to complete, then send a 'resolve' event
|
55
57
|
// with the message ID.
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@web-applets/sdk",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.5",
|
4
4
|
"description": "The Web Applets SDK, for creating & hosting Web Applets.",
|
5
5
|
"author": "Rupert Manfredi <rupert@unternet.co>",
|
6
6
|
"license": "MIT",
|
@@ -23,9 +23,5 @@
|
|
23
23
|
},
|
24
24
|
"devDependencies": {
|
25
25
|
"typescript": "^5.6.2"
|
26
|
-
},
|
27
|
-
"dependencies": {
|
28
|
-
"marked": "^14.1.3",
|
29
|
-
"vite": "^5.4.7"
|
30
26
|
}
|
31
27
|
}
|