@documenso/embed-svelte 0.2.2 → 0.3.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/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/multisign-document.svelte +130 -0
- package/dist/multisign-document.svelte.d.ts +67 -0
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,3 +4,4 @@ export { default as unstable_EmbedCreateDocument } from './create-document.svelt
|
|
|
4
4
|
export { default as unstable_EmbedCreateTemplate } from './create-template.svelte';
|
|
5
5
|
export { default as unstable_EmbedUpdateDocument } from './update-document.svelte';
|
|
6
6
|
export { default as unstable_EmbedUpdateTemplate } from './update-template.svelte';
|
|
7
|
+
export { default as unstable_EmbedMultiSignDocument } from './multisign-document.svelte';
|
package/dist/index.js
CHANGED
|
@@ -4,3 +4,4 @@ export { default as unstable_EmbedCreateDocument } from './create-document.svelt
|
|
|
4
4
|
export { default as unstable_EmbedCreateTemplate } from './create-template.svelte';
|
|
5
5
|
export { default as unstable_EmbedUpdateDocument } from './update-document.svelte';
|
|
6
6
|
export { default as unstable_EmbedUpdateTemplate } from './update-template.svelte';
|
|
7
|
+
export { default as unstable_EmbedMultiSignDocument } from './multisign-document.svelte';
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
<script context="module" lang="ts">
|
|
2
|
+
export type EmbedMultiSignDocumentProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
host?: string;
|
|
5
|
+
tokens: string[]; // @src: /apps/web/src/app/embed/direct/[[...url]]/schema
|
|
6
|
+
|
|
7
|
+
css?: string | undefined;
|
|
8
|
+
cssVars?: (CssVars & Record<string, string>) | undefined;
|
|
9
|
+
darkModeDisabled?: boolean | undefined;
|
|
10
|
+
name?: string | undefined;
|
|
11
|
+
lockName?: boolean | undefined;
|
|
12
|
+
allowDocumentRejection?: boolean | undefined; // Additional props to be passed to the iframe, used for testing out features
|
|
13
|
+
// prior to being added to the main props
|
|
14
|
+
|
|
15
|
+
additionalProps?: Record<string, string | number | boolean> | undefined;
|
|
16
|
+
onDocumentReady?: () => void;
|
|
17
|
+
onDocumentCompleted?: (data: {
|
|
18
|
+
token: string;
|
|
19
|
+
documentId: number;
|
|
20
|
+
recipientId: number;
|
|
21
|
+
}) => void;
|
|
22
|
+
onDocumentError?: (error: string) => void;
|
|
23
|
+
onDocumentRejected?: (data: {
|
|
24
|
+
token: string;
|
|
25
|
+
documentId: number;
|
|
26
|
+
recipientId: number;
|
|
27
|
+
reason: string;
|
|
28
|
+
}) => void;
|
|
29
|
+
onAllDocumentsCompleted?: (data: {
|
|
30
|
+
documents: Array<{
|
|
31
|
+
token: string;
|
|
32
|
+
documentId: number;
|
|
33
|
+
recipientId: number;
|
|
34
|
+
action: "document-completed" | "document-rejected";
|
|
35
|
+
reason?: string;
|
|
36
|
+
}>;
|
|
37
|
+
}) => void;
|
|
38
|
+
};
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<script lang="ts">
|
|
42
|
+
import { onDestroy, onMount } from "svelte";
|
|
43
|
+
|
|
44
|
+
import { CssVars } from "./css-vars";
|
|
45
|
+
|
|
46
|
+
export let host: EmbedMultiSignDocumentProps["host"] = undefined;
|
|
47
|
+
export let name: EmbedMultiSignDocumentProps["name"] = undefined;
|
|
48
|
+
export let lockName: EmbedMultiSignDocumentProps["lockName"] = undefined;
|
|
49
|
+
export let css: EmbedMultiSignDocumentProps["css"] = undefined;
|
|
50
|
+
export let cssVars: EmbedMultiSignDocumentProps["cssVars"] = undefined;
|
|
51
|
+
export let darkModeDisabled: EmbedMultiSignDocumentProps["darkModeDisabled"] =
|
|
52
|
+
undefined;
|
|
53
|
+
export let allowDocumentRejection: EmbedMultiSignDocumentProps["allowDocumentRejection"] =
|
|
54
|
+
undefined;
|
|
55
|
+
export let additionalProps: EmbedMultiSignDocumentProps["additionalProps"] =
|
|
56
|
+
undefined;
|
|
57
|
+
export let tokens: EmbedMultiSignDocumentProps["tokens"];
|
|
58
|
+
export let onDocumentReady: EmbedMultiSignDocumentProps["onDocumentReady"] =
|
|
59
|
+
undefined;
|
|
60
|
+
export let onDocumentCompleted: EmbedMultiSignDocumentProps["onDocumentCompleted"] =
|
|
61
|
+
undefined;
|
|
62
|
+
export let onDocumentError: EmbedMultiSignDocumentProps["onDocumentError"] =
|
|
63
|
+
undefined;
|
|
64
|
+
export let onDocumentRejected: EmbedMultiSignDocumentProps["onDocumentRejected"] =
|
|
65
|
+
undefined;
|
|
66
|
+
export let onAllDocumentsCompleted: EmbedMultiSignDocumentProps["onAllDocumentsCompleted"] =
|
|
67
|
+
undefined;
|
|
68
|
+
export let className: EmbedMultiSignDocumentProps["className"] = undefined;
|
|
69
|
+
|
|
70
|
+
function handleMessage(event: MessageEvent) {
|
|
71
|
+
if (__iframe?.contentWindow === event.source) {
|
|
72
|
+
switch (event.data.action) {
|
|
73
|
+
case "document-ready":
|
|
74
|
+
onDocumentReady?.();
|
|
75
|
+
break;
|
|
76
|
+
|
|
77
|
+
case "document-completed":
|
|
78
|
+
onDocumentCompleted?.(event.data.data);
|
|
79
|
+
break;
|
|
80
|
+
|
|
81
|
+
case "document-error":
|
|
82
|
+
onDocumentError?.(event.data.data);
|
|
83
|
+
break;
|
|
84
|
+
|
|
85
|
+
case "document-rejected":
|
|
86
|
+
onDocumentRejected?.(event.data.data);
|
|
87
|
+
break;
|
|
88
|
+
|
|
89
|
+
case "all-documents-completed":
|
|
90
|
+
onAllDocumentsCompleted?.(event.data.data);
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
$: src = () => {
|
|
96
|
+
const appHost = host || "https://app.documenso.com";
|
|
97
|
+
const encodedOptions = btoa(
|
|
98
|
+
encodeURIComponent(
|
|
99
|
+
JSON.stringify({
|
|
100
|
+
name: name,
|
|
101
|
+
lockName: lockName,
|
|
102
|
+
css: css,
|
|
103
|
+
cssVars: cssVars,
|
|
104
|
+
darkModeDisabled: darkModeDisabled,
|
|
105
|
+
allowDocumentRejection: allowDocumentRejection,
|
|
106
|
+
...additionalProps,
|
|
107
|
+
})
|
|
108
|
+
)
|
|
109
|
+
);
|
|
110
|
+
const srcUrl = new URL(`/embed/v1/multisign`, appHost);
|
|
111
|
+
|
|
112
|
+
for (const token of tokens) {
|
|
113
|
+
srcUrl.searchParams.append("token", token);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return `${srcUrl}#${encodedOptions}`;
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
let __iframe;
|
|
120
|
+
|
|
121
|
+
onMount(() => {
|
|
122
|
+
window.addEventListener("message", handleMessage);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
onDestroy(() => {
|
|
126
|
+
window.removeEventListener("message", handleMessage);
|
|
127
|
+
});
|
|
128
|
+
</script>
|
|
129
|
+
|
|
130
|
+
<iframe bind:this={__iframe} class={className} src={src()} />
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SvelteComponent } from "svelte";
|
|
2
|
+
export type EmbedMultiSignDocumentProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
host?: string;
|
|
5
|
+
tokens: string[];
|
|
6
|
+
css?: string | undefined;
|
|
7
|
+
cssVars?: (CssVars & Record<string, string>) | undefined;
|
|
8
|
+
darkModeDisabled?: boolean | undefined;
|
|
9
|
+
name?: string | undefined;
|
|
10
|
+
lockName?: boolean | undefined;
|
|
11
|
+
allowDocumentRejection?: boolean | undefined;
|
|
12
|
+
additionalProps?: Record<string, string | number | boolean> | undefined;
|
|
13
|
+
onDocumentReady?: () => void;
|
|
14
|
+
onDocumentCompleted?: (data: {
|
|
15
|
+
token: string;
|
|
16
|
+
documentId: number;
|
|
17
|
+
recipientId: number;
|
|
18
|
+
}) => void;
|
|
19
|
+
onDocumentError?: (error: string) => void;
|
|
20
|
+
onDocumentRejected?: (data: {
|
|
21
|
+
token: string;
|
|
22
|
+
documentId: number;
|
|
23
|
+
recipientId: number;
|
|
24
|
+
reason: string;
|
|
25
|
+
}) => void;
|
|
26
|
+
onAllDocumentsCompleted?: (data: {
|
|
27
|
+
documents: Array<{
|
|
28
|
+
token: string;
|
|
29
|
+
documentId: number;
|
|
30
|
+
recipientId: number;
|
|
31
|
+
action: "document-completed" | "document-rejected";
|
|
32
|
+
reason?: string;
|
|
33
|
+
}>;
|
|
34
|
+
}) => void;
|
|
35
|
+
};
|
|
36
|
+
import { CssVars } from "./css-vars";
|
|
37
|
+
declare const __propDef: {
|
|
38
|
+
props: {
|
|
39
|
+
host?: EmbedMultiSignDocumentProps["host"];
|
|
40
|
+
name?: EmbedMultiSignDocumentProps["name"];
|
|
41
|
+
lockName?: EmbedMultiSignDocumentProps["lockName"];
|
|
42
|
+
css?: EmbedMultiSignDocumentProps["css"];
|
|
43
|
+
cssVars?: EmbedMultiSignDocumentProps["cssVars"];
|
|
44
|
+
darkModeDisabled?: EmbedMultiSignDocumentProps["darkModeDisabled"];
|
|
45
|
+
allowDocumentRejection?: EmbedMultiSignDocumentProps["allowDocumentRejection"];
|
|
46
|
+
additionalProps?: EmbedMultiSignDocumentProps["additionalProps"];
|
|
47
|
+
tokens: EmbedMultiSignDocumentProps["tokens"];
|
|
48
|
+
onDocumentReady?: EmbedMultiSignDocumentProps["onDocumentReady"];
|
|
49
|
+
onDocumentCompleted?: EmbedMultiSignDocumentProps["onDocumentCompleted"];
|
|
50
|
+
onDocumentError?: EmbedMultiSignDocumentProps["onDocumentError"];
|
|
51
|
+
onDocumentRejected?: EmbedMultiSignDocumentProps["onDocumentRejected"];
|
|
52
|
+
onAllDocumentsCompleted?: EmbedMultiSignDocumentProps["onAllDocumentsCompleted"];
|
|
53
|
+
className?: EmbedMultiSignDocumentProps["className"];
|
|
54
|
+
};
|
|
55
|
+
events: {
|
|
56
|
+
[evt: string]: CustomEvent<any>;
|
|
57
|
+
};
|
|
58
|
+
slots: {};
|
|
59
|
+
exports?: {};
|
|
60
|
+
bindings?: string;
|
|
61
|
+
};
|
|
62
|
+
export type MultisignDocumentProps = typeof __propDef.props;
|
|
63
|
+
export type MultisignDocumentEvents = typeof __propDef.events;
|
|
64
|
+
export type MultisignDocumentSlots = typeof __propDef.slots;
|
|
65
|
+
export default class MultisignDocument extends SvelteComponent<MultisignDocumentProps, MultisignDocumentEvents, MultisignDocumentSlots> {
|
|
66
|
+
}
|
|
67
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@documenso/embed-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@sveltejs/kit": "^2.5.25",
|
|
41
41
|
"@sveltejs/package": "^2.3.4",
|
|
42
42
|
"@sveltejs/vite-plugin-svelte": "^3.1.2",
|
|
43
|
-
"vite": "^
|
|
43
|
+
"vite": "^7.0.0",
|
|
44
44
|
"vite-plugin-dts": "^4.1.0"
|
|
45
45
|
}
|
|
46
46
|
}
|