@documenso/embed-svelte 0.2.1-rc.2 → 0.2.2

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.
@@ -32,7 +32,6 @@
32
32
  import { CssVars } from "./css-vars";
33
33
 
34
34
  export let host: EmbedCreateDocumentProps["host"] = undefined;
35
- export let presignToken: EmbedCreateDocumentProps["presignToken"];
36
35
  export let externalId: EmbedCreateDocumentProps["externalId"] = undefined;
37
36
  export let features: EmbedCreateDocumentProps["features"] = undefined;
38
37
  export let css: EmbedCreateDocumentProps["css"] = undefined;
@@ -41,6 +40,7 @@
41
40
  undefined;
42
41
  export let additionalProps: EmbedCreateDocumentProps["additionalProps"] =
43
42
  undefined;
43
+ export let presignToken: EmbedCreateDocumentProps["presignToken"];
44
44
  export let onDocumentCreated: EmbedCreateDocumentProps["onDocumentCreated"] =
45
45
  undefined;
46
46
  export let className: EmbedCreateDocumentProps["className"] = undefined;
@@ -62,7 +62,6 @@
62
62
  const encodedOptions = btoa(
63
63
  encodeURIComponent(
64
64
  JSON.stringify({
65
- token: presignToken,
66
65
  externalId: externalId,
67
66
  features: features,
68
67
  css: css,
@@ -73,7 +72,9 @@
73
72
  )
74
73
  );
75
74
  const srcUrl = new URL(`/embed/v1/authoring/document/create`, appHost);
76
- return `${srcUrl}#${encodedOptions}`;
75
+ srcUrl.searchParams.set("token", presignToken);
76
+ srcUrl.hash = encodedOptions;
77
+ return srcUrl.toString();
77
78
  };
78
79
 
79
80
  let __iframe;
@@ -25,13 +25,13 @@ import { CssVars } from "./css-vars";
25
25
  declare const __propDef: {
26
26
  props: {
27
27
  host?: EmbedCreateDocumentProps["host"];
28
- presignToken: EmbedCreateDocumentProps["presignToken"];
29
28
  externalId?: EmbedCreateDocumentProps["externalId"];
30
29
  features?: EmbedCreateDocumentProps["features"];
31
30
  css?: EmbedCreateDocumentProps["css"];
32
31
  cssVars?: EmbedCreateDocumentProps["cssVars"];
33
32
  darkModeDisabled?: EmbedCreateDocumentProps["darkModeDisabled"];
34
33
  additionalProps?: EmbedCreateDocumentProps["additionalProps"];
34
+ presignToken: EmbedCreateDocumentProps["presignToken"];
35
35
  onDocumentCreated?: EmbedCreateDocumentProps["onDocumentCreated"];
36
36
  className?: EmbedCreateDocumentProps["className"];
37
37
  };
@@ -32,7 +32,6 @@
32
32
  import { CssVars } from "./css-vars";
33
33
 
34
34
  export let host: EmbedCreateTemplateProps["host"] = undefined;
35
- export let presignToken: EmbedCreateTemplateProps["presignToken"];
36
35
  export let externalId: EmbedCreateTemplateProps["externalId"] = undefined;
37
36
  export let features: EmbedCreateTemplateProps["features"] = undefined;
38
37
  export let css: EmbedCreateTemplateProps["css"] = undefined;
@@ -41,6 +40,7 @@
41
40
  undefined;
42
41
  export let additionalProps: EmbedCreateTemplateProps["additionalProps"] =
43
42
  undefined;
43
+ export let presignToken: EmbedCreateTemplateProps["presignToken"];
44
44
  export let onTemplateCreated: EmbedCreateTemplateProps["onTemplateCreated"] =
45
45
  undefined;
46
46
  export let className: EmbedCreateTemplateProps["className"] = undefined;
@@ -62,7 +62,6 @@
62
62
  const encodedOptions = btoa(
63
63
  encodeURIComponent(
64
64
  JSON.stringify({
65
- token: presignToken,
66
65
  externalId: externalId,
67
66
  features: features,
68
67
  css: css,
@@ -73,7 +72,9 @@
73
72
  )
74
73
  );
75
74
  const srcUrl = new URL(`/embed/v1/authoring/template/create`, appHost);
76
- return `${srcUrl}#${encodedOptions}`;
75
+ srcUrl.searchParams.set("token", presignToken);
76
+ srcUrl.hash = encodedOptions;
77
+ return srcUrl.toString();
77
78
  };
78
79
 
79
80
  let __iframe;
@@ -25,13 +25,13 @@ import { CssVars } from "./css-vars";
25
25
  declare const __propDef: {
26
26
  props: {
27
27
  host?: EmbedCreateTemplateProps["host"];
28
- presignToken: EmbedCreateTemplateProps["presignToken"];
29
28
  externalId?: EmbedCreateTemplateProps["externalId"];
30
29
  features?: EmbedCreateTemplateProps["features"];
31
30
  css?: EmbedCreateTemplateProps["css"];
32
31
  cssVars?: EmbedCreateTemplateProps["cssVars"];
33
32
  darkModeDisabled?: EmbedCreateTemplateProps["darkModeDisabled"];
34
33
  additionalProps?: EmbedCreateTemplateProps["additionalProps"];
34
+ presignToken: EmbedCreateTemplateProps["presignToken"];
35
35
  onTemplateCreated?: EmbedCreateTemplateProps["onTemplateCreated"];
36
36
  className?: EmbedCreateTemplateProps["className"];
37
37
  };
package/dist/index.d.ts CHANGED
@@ -2,3 +2,5 @@ export { default as EmbedDirectTemplate } from './direct-template.svelte';
2
2
  export { default as EmbedSignDocument } from './sign-document.svelte';
3
3
  export { default as unstable_EmbedCreateDocument } from './create-document.svelte';
4
4
  export { default as unstable_EmbedCreateTemplate } from './create-template.svelte';
5
+ export { default as unstable_EmbedUpdateDocument } from './update-document.svelte';
6
+ export { default as unstable_EmbedUpdateTemplate } from './update-template.svelte';
package/dist/index.js CHANGED
@@ -2,3 +2,5 @@ export { default as EmbedDirectTemplate } from './direct-template.svelte';
2
2
  export { default as EmbedSignDocument } from './sign-document.svelte';
3
3
  export { default as unstable_EmbedCreateDocument } from './create-document.svelte';
4
4
  export { default as unstable_EmbedCreateTemplate } from './create-template.svelte';
5
+ export { default as unstable_EmbedUpdateDocument } from './update-document.svelte';
6
+ export { default as unstable_EmbedUpdateTemplate } from './update-template.svelte';
@@ -0,0 +1,97 @@
1
+ <script context="module" lang="ts">
2
+ export type EmbedUpdateDocumentProps = {
3
+ className?: string;
4
+ host?: string;
5
+ presignToken: string;
6
+ documentId: number;
7
+ externalId?: string; // @src: /apps/web/src/app/embed/direct/[[...url]]/schema
8
+
9
+ css?: string | undefined;
10
+ cssVars?: (CssVars & Record<string, string>) | undefined;
11
+ darkModeDisabled?: boolean | undefined;
12
+ features?: {
13
+ allowConfigureSignatureTypes?: boolean;
14
+ allowConfigureLanguage?: boolean;
15
+ allowConfigureDateFormat?: boolean;
16
+ allowConfigureTimezone?: boolean;
17
+ allowConfigureRedirectUrl?: boolean;
18
+ allowConfigureCommunication?: boolean;
19
+ }; // Additional props to be passed to the iframe, used for testing out features
20
+ // prior to being added to the main props
21
+
22
+ additionalProps?: Record<string, string | number | boolean> | undefined;
23
+ onDocumentUpdated?: (data: {
24
+ externalId: string;
25
+ documentId: number;
26
+ }) => void;
27
+ };
28
+ </script>
29
+
30
+ <script lang="ts">
31
+ import { onDestroy, onMount } from "svelte";
32
+
33
+ import { CssVars } from "./css-vars";
34
+
35
+ export let host: EmbedUpdateDocumentProps["host"] = undefined;
36
+ export let presignToken: EmbedUpdateDocumentProps["presignToken"];
37
+ export let externalId: EmbedUpdateDocumentProps["externalId"] = undefined;
38
+ export let features: EmbedUpdateDocumentProps["features"] = undefined;
39
+ export let css: EmbedUpdateDocumentProps["css"] = undefined;
40
+ export let cssVars: EmbedUpdateDocumentProps["cssVars"] = undefined;
41
+ export let darkModeDisabled: EmbedUpdateDocumentProps["darkModeDisabled"] =
42
+ undefined;
43
+ export let additionalProps: EmbedUpdateDocumentProps["additionalProps"] =
44
+ undefined;
45
+ export let documentId: EmbedUpdateDocumentProps["documentId"];
46
+ export let onDocumentUpdated: EmbedUpdateDocumentProps["onDocumentUpdated"] =
47
+ undefined;
48
+ export let className: EmbedUpdateDocumentProps["className"] = undefined;
49
+
50
+ function handleMessage(event: MessageEvent) {
51
+ if (__iframe?.contentWindow === event.source) {
52
+ switch (event.data.type) {
53
+ case "document-updated":
54
+ onDocumentUpdated?.({
55
+ documentId: event.data.documentId,
56
+ externalId: event.data.externalId,
57
+ });
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ $: src = () => {
63
+ const appHost = host || "https://app.documenso.com";
64
+ const encodedOptions = btoa(
65
+ encodeURIComponent(
66
+ JSON.stringify({
67
+ token: presignToken,
68
+ externalId: externalId,
69
+ features: features,
70
+ css: css,
71
+ cssVars: cssVars,
72
+ darkModeDisabled: darkModeDisabled,
73
+ ...additionalProps,
74
+ })
75
+ )
76
+ );
77
+ const srcUrl = new URL(
78
+ `/embed/v1/authoring/document/edit/${documentId}`,
79
+ appHost
80
+ );
81
+ srcUrl.searchParams.set("token", presignToken);
82
+ srcUrl.hash = encodedOptions;
83
+ return srcUrl.toString();
84
+ };
85
+
86
+ let __iframe;
87
+
88
+ onMount(() => {
89
+ window.addEventListener("message", handleMessage);
90
+ });
91
+
92
+ onDestroy(() => {
93
+ window.removeEventListener("message", handleMessage);
94
+ });
95
+ </script>
96
+
97
+ <iframe bind:this={__iframe} class={className} src={src()} />
@@ -0,0 +1,52 @@
1
+ import { SvelteComponent } from "svelte";
2
+ export type EmbedUpdateDocumentProps = {
3
+ className?: string;
4
+ host?: string;
5
+ presignToken: string;
6
+ documentId: number;
7
+ externalId?: string;
8
+ css?: string | undefined;
9
+ cssVars?: (CssVars & Record<string, string>) | undefined;
10
+ darkModeDisabled?: boolean | undefined;
11
+ features?: {
12
+ allowConfigureSignatureTypes?: boolean;
13
+ allowConfigureLanguage?: boolean;
14
+ allowConfigureDateFormat?: boolean;
15
+ allowConfigureTimezone?: boolean;
16
+ allowConfigureRedirectUrl?: boolean;
17
+ allowConfigureCommunication?: boolean;
18
+ };
19
+ additionalProps?: Record<string, string | number | boolean> | undefined;
20
+ onDocumentUpdated?: (data: {
21
+ externalId: string;
22
+ documentId: number;
23
+ }) => void;
24
+ };
25
+ import { CssVars } from "./css-vars";
26
+ declare const __propDef: {
27
+ props: {
28
+ host?: EmbedUpdateDocumentProps["host"];
29
+ presignToken: EmbedUpdateDocumentProps["presignToken"];
30
+ externalId?: EmbedUpdateDocumentProps["externalId"];
31
+ features?: EmbedUpdateDocumentProps["features"];
32
+ css?: EmbedUpdateDocumentProps["css"];
33
+ cssVars?: EmbedUpdateDocumentProps["cssVars"];
34
+ darkModeDisabled?: EmbedUpdateDocumentProps["darkModeDisabled"];
35
+ additionalProps?: EmbedUpdateDocumentProps["additionalProps"];
36
+ documentId: EmbedUpdateDocumentProps["documentId"];
37
+ onDocumentUpdated?: EmbedUpdateDocumentProps["onDocumentUpdated"];
38
+ className?: EmbedUpdateDocumentProps["className"];
39
+ };
40
+ events: {
41
+ [evt: string]: CustomEvent<any>;
42
+ };
43
+ slots: {};
44
+ exports?: {};
45
+ bindings?: string;
46
+ };
47
+ export type UpdateDocumentProps = typeof __propDef.props;
48
+ export type UpdateDocumentEvents = typeof __propDef.events;
49
+ export type UpdateDocumentSlots = typeof __propDef.slots;
50
+ export default class UpdateDocument extends SvelteComponent<UpdateDocumentProps, UpdateDocumentEvents, UpdateDocumentSlots> {
51
+ }
52
+ export {};
@@ -0,0 +1,96 @@
1
+ <script context="module" lang="ts">
2
+ export type EmbedUpdateTemplateProps = {
3
+ className?: string;
4
+ host?: string;
5
+ presignToken: string;
6
+ templateId: number;
7
+ externalId?: string; // @src: /apps/web/src/app/embed/direct/[[...url]]/schema
8
+
9
+ css?: string | undefined;
10
+ cssVars?: (CssVars & Record<string, string>) | undefined;
11
+ darkModeDisabled?: boolean | undefined;
12
+ features?: {
13
+ allowConfigureSignatureTypes?: boolean;
14
+ allowConfigureLanguage?: boolean;
15
+ allowConfigureDateFormat?: boolean;
16
+ allowConfigureTimezone?: boolean;
17
+ allowConfigureRedirectUrl?: boolean;
18
+ allowConfigureCommunication?: boolean;
19
+ }; // Additional props to be passed to the iframe, used for testing out features
20
+ // prior to being added to the main props
21
+
22
+ additionalProps?: Record<string, string | number | boolean> | undefined;
23
+ onTemplateUpdated?: (data: {
24
+ externalId: string;
25
+ templateId: number;
26
+ }) => void;
27
+ };
28
+ </script>
29
+
30
+ <script lang="ts">
31
+ import { onDestroy, onMount } from "svelte";
32
+
33
+ import { CssVars } from "./css-vars";
34
+
35
+ export let host: EmbedUpdateTemplateProps["host"] = undefined;
36
+ export let externalId: EmbedUpdateTemplateProps["externalId"] = undefined;
37
+ export let features: EmbedUpdateTemplateProps["features"] = undefined;
38
+ export let css: EmbedUpdateTemplateProps["css"] = undefined;
39
+ export let cssVars: EmbedUpdateTemplateProps["cssVars"] = undefined;
40
+ export let darkModeDisabled: EmbedUpdateTemplateProps["darkModeDisabled"] =
41
+ undefined;
42
+ export let additionalProps: EmbedUpdateTemplateProps["additionalProps"] =
43
+ undefined;
44
+ export let templateId: EmbedUpdateTemplateProps["templateId"];
45
+ export let presignToken: EmbedUpdateTemplateProps["presignToken"];
46
+ export let onTemplateUpdated: EmbedUpdateTemplateProps["onTemplateUpdated"] =
47
+ undefined;
48
+ export let className: EmbedUpdateTemplateProps["className"] = undefined;
49
+
50
+ function handleMessage(event: MessageEvent) {
51
+ if (__iframe?.contentWindow === event.source) {
52
+ switch (event.data.type) {
53
+ case "template-updated":
54
+ onTemplateUpdated?.({
55
+ templateId: event.data.templateId,
56
+ externalId: event.data.externalId,
57
+ });
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ $: src = () => {
63
+ const appHost = host || "https://app.documenso.com";
64
+ const encodedOptions = btoa(
65
+ encodeURIComponent(
66
+ JSON.stringify({
67
+ externalId: externalId,
68
+ features: features,
69
+ css: css,
70
+ cssVars: cssVars,
71
+ darkModeDisabled: darkModeDisabled,
72
+ ...additionalProps,
73
+ })
74
+ )
75
+ );
76
+ const srcUrl = new URL(
77
+ `/embed/v1/authoring/template/edit/${templateId}`,
78
+ appHost
79
+ );
80
+ srcUrl.searchParams.set("token", presignToken);
81
+ srcUrl.hash = encodedOptions;
82
+ return srcUrl.toString();
83
+ };
84
+
85
+ let __iframe;
86
+
87
+ onMount(() => {
88
+ window.addEventListener("message", handleMessage);
89
+ });
90
+
91
+ onDestroy(() => {
92
+ window.removeEventListener("message", handleMessage);
93
+ });
94
+ </script>
95
+
96
+ <iframe bind:this={__iframe} class={className} src={src()} />
@@ -0,0 +1,52 @@
1
+ import { SvelteComponent } from "svelte";
2
+ export type EmbedUpdateTemplateProps = {
3
+ className?: string;
4
+ host?: string;
5
+ presignToken: string;
6
+ templateId: number;
7
+ externalId?: string;
8
+ css?: string | undefined;
9
+ cssVars?: (CssVars & Record<string, string>) | undefined;
10
+ darkModeDisabled?: boolean | undefined;
11
+ features?: {
12
+ allowConfigureSignatureTypes?: boolean;
13
+ allowConfigureLanguage?: boolean;
14
+ allowConfigureDateFormat?: boolean;
15
+ allowConfigureTimezone?: boolean;
16
+ allowConfigureRedirectUrl?: boolean;
17
+ allowConfigureCommunication?: boolean;
18
+ };
19
+ additionalProps?: Record<string, string | number | boolean> | undefined;
20
+ onTemplateUpdated?: (data: {
21
+ externalId: string;
22
+ templateId: number;
23
+ }) => void;
24
+ };
25
+ import { CssVars } from "./css-vars";
26
+ declare const __propDef: {
27
+ props: {
28
+ host?: EmbedUpdateTemplateProps["host"];
29
+ externalId?: EmbedUpdateTemplateProps["externalId"];
30
+ features?: EmbedUpdateTemplateProps["features"];
31
+ css?: EmbedUpdateTemplateProps["css"];
32
+ cssVars?: EmbedUpdateTemplateProps["cssVars"];
33
+ darkModeDisabled?: EmbedUpdateTemplateProps["darkModeDisabled"];
34
+ additionalProps?: EmbedUpdateTemplateProps["additionalProps"];
35
+ templateId: EmbedUpdateTemplateProps["templateId"];
36
+ presignToken: EmbedUpdateTemplateProps["presignToken"];
37
+ onTemplateUpdated?: EmbedUpdateTemplateProps["onTemplateUpdated"];
38
+ className?: EmbedUpdateTemplateProps["className"];
39
+ };
40
+ events: {
41
+ [evt: string]: CustomEvent<any>;
42
+ };
43
+ slots: {};
44
+ exports?: {};
45
+ bindings?: string;
46
+ };
47
+ export type UpdateTemplateProps = typeof __propDef.props;
48
+ export type UpdateTemplateEvents = typeof __propDef.events;
49
+ export type UpdateTemplateSlots = typeof __propDef.slots;
50
+ export default class UpdateTemplate extends SvelteComponent<UpdateTemplateProps, UpdateTemplateEvents, UpdateTemplateSlots> {
51
+ }
52
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@documenso/embed-svelte",
3
- "version": "0.2.1-rc.2",
3
+ "version": "0.2.2",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist"