@mochabug/adapt-astro 1.0.0-rc2 → 1.0.0-rc4
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 +3 -3
- package/src/Adapt.astro +28 -0
- package/src/index.ts +2 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mochabug/adapt-astro",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-rc4",
|
|
4
4
|
"description": "Astro component for Adapt automation platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./src/index.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "echo 'Astro component distributes source - no build needed'",
|
|
20
|
-
"sample": "cd sample && npm install && npm run dev"
|
|
20
|
+
"sample": "npm run build && cd sample && npm install && npm run dev"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"adapt",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"astro": "^3.0.0 || ^4.0.0 || ^5.0.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@mochabug/adapt-web": "^1.0.0-
|
|
34
|
+
"@mochabug/adapt-web": "^1.0.0-rc25"
|
|
35
35
|
}
|
|
36
36
|
}
|
package/src/Adapt.astro
CHANGED
|
@@ -7,11 +7,15 @@ export interface Props
|
|
|
7
7
|
| "id"
|
|
8
8
|
| "sessionToken"
|
|
9
9
|
| "authToken"
|
|
10
|
+
| "transmitter"
|
|
11
|
+
| "signals"
|
|
10
12
|
| "inheritToken"
|
|
11
13
|
| "inheritFrom"
|
|
12
14
|
| "forkDisplayMode"
|
|
13
15
|
| "sideBySideSplit"
|
|
14
16
|
| "dialogBackdropClose"
|
|
17
|
+
| "onSession"
|
|
18
|
+
| "onOutput"
|
|
15
19
|
| "classNames"
|
|
16
20
|
> {
|
|
17
21
|
/** CSS class name for the container */
|
|
@@ -24,11 +28,15 @@ const {
|
|
|
24
28
|
id,
|
|
25
29
|
sessionToken,
|
|
26
30
|
authToken,
|
|
31
|
+
transmitter,
|
|
32
|
+
signals,
|
|
27
33
|
inheritToken,
|
|
28
34
|
inheritFrom,
|
|
29
35
|
forkDisplayMode = "side-by-side",
|
|
30
36
|
sideBySideSplit = 50,
|
|
31
37
|
dialogBackdropClose = false,
|
|
38
|
+
onSession,
|
|
39
|
+
onOutput,
|
|
32
40
|
classNames,
|
|
33
41
|
class: className,
|
|
34
42
|
style,
|
|
@@ -44,6 +52,8 @@ const containerId = `adapt-${Math.random().toString(36).slice(2, 11)}`;
|
|
|
44
52
|
data-adapt-id={id}
|
|
45
53
|
data-adapt-session-token={sessionToken}
|
|
46
54
|
data-adapt-auth-token={authToken}
|
|
55
|
+
data-adapt-transmitter={transmitter}
|
|
56
|
+
data-adapt-signals={signals ? JSON.stringify(signals) : undefined}
|
|
47
57
|
data-adapt-inherit-token={inheritToken}
|
|
48
58
|
data-adapt-inherit-from={inheritFrom ? JSON.stringify(inheritFrom) : undefined}
|
|
49
59
|
data-adapt-fork-display-mode={forkDisplayMode}
|
|
@@ -61,18 +71,36 @@ const containerId = `adapt-${Math.random().toString(36).slice(2, 11)}`;
|
|
|
61
71
|
|
|
62
72
|
const inheritFromStr = container.dataset.adaptInheritFrom;
|
|
63
73
|
const classNamesStr = container.dataset.adaptClassNames;
|
|
74
|
+
const signalsStr = container.dataset.adaptSignals;
|
|
64
75
|
|
|
65
76
|
const client = new AdaptWebClient({
|
|
66
77
|
container: container.id,
|
|
67
78
|
id,
|
|
68
79
|
sessionToken: container.dataset.adaptSessionToken,
|
|
69
80
|
authToken: container.dataset.adaptAuthToken,
|
|
81
|
+
transmitter: container.dataset.adaptTransmitter,
|
|
82
|
+
signals: signalsStr ? JSON.parse(signalsStr) : undefined,
|
|
70
83
|
inheritToken: container.dataset.adaptInheritToken,
|
|
71
84
|
inheritFrom: inheritFromStr ? JSON.parse(inheritFromStr) : undefined,
|
|
72
85
|
forkDisplayMode: container.dataset.adaptForkDisplayMode as "side-by-side" | "dialog",
|
|
73
86
|
sideBySideSplit: Number(container.dataset.adaptSideBySideSplit) || 50,
|
|
74
87
|
dialogBackdropClose: container.dataset.adaptDialogBackdropClose === "true",
|
|
75
88
|
classNames: classNamesStr ? JSON.parse(classNamesStr) : undefined,
|
|
89
|
+
// onSession and onOutput callbacks can be attached via custom events:
|
|
90
|
+
// container.addEventListener('adapt:session', (e) => { ... })
|
|
91
|
+
// container.addEventListener('adapt:output', (e) => { ... })
|
|
92
|
+
onSession: (status, fork) => {
|
|
93
|
+
container.dispatchEvent(new CustomEvent('adapt:session', {
|
|
94
|
+
detail: { status, fork },
|
|
95
|
+
bubbles: true
|
|
96
|
+
}));
|
|
97
|
+
},
|
|
98
|
+
onOutput: (output) => {
|
|
99
|
+
container.dispatchEvent(new CustomEvent('adapt:output', {
|
|
100
|
+
detail: { output },
|
|
101
|
+
bubbles: true
|
|
102
|
+
}));
|
|
103
|
+
},
|
|
76
104
|
});
|
|
77
105
|
|
|
78
106
|
// Store reference for cleanup
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Import the component directly from the .astro file
|
|
2
2
|
// Usage: import Adapt from '@mochabug/adapt-astro/Adapt.astro';
|
|
3
3
|
|
|
4
|
-
// Re-export
|
|
5
|
-
export
|
|
6
|
-
export type { AdaptWebClientOptions } from "@mochabug/adapt-web";
|
|
4
|
+
// Re-export everything from web
|
|
5
|
+
export * from "@mochabug/adapt-web";
|