diff --git a/hellosign-embedded/hellosign-embedded-tests.ts b/hellosign-embedded/hellosign-embedded-tests.ts
new file mode 100644
index 0000000000..455171942e
--- /dev/null
+++ b/hellosign-embedded/hellosign-embedded-tests.ts
@@ -0,0 +1,39 @@
+///
+
+HelloSign.init('abc123');
+
+// some options
+HelloSign.open({
+ url: 'http://example.org',
+ messageListener: (e: HelloSign.MessageEvent) => {
+ if (e.event === HelloSign.EVENT_SIGNED) {
+ console.log('signed');
+ }
+ },
+ uxVersion: 2
+});
+
+// all options
+HelloSign.open({
+ url: 'http://example.org',
+ redirectUrl: 'https://github.com/DefinitelyTyped/DefinitelyTyped',
+ allowCancel: true,
+ messageListener: (e: HelloSign.MessageEvent) => {
+ if (e.event === HelloSign.EVENT_SIGNED) {
+ console.log('signed');
+ }
+ },
+ userCulture: HelloSign.CULTURES.EN_US,
+ debug: true,
+ skipDomainVerification: true,
+ container: document.getElementById('#hellosign-container'),
+ height: 1326,
+ hideHeader: true,
+ uxVersion: 2,
+ requester: 'hellosign@example.org',
+ whiteLabelingOptions: {
+ "page_background_color": "#f7f8f9"
+ }
+});
+
+HelloSign.close();
diff --git a/hellosign-embedded/hellosign-embedded.d.ts b/hellosign-embedded/hellosign-embedded.d.ts
new file mode 100644
index 0000000000..f215dac6bc
--- /dev/null
+++ b/hellosign-embedded/hellosign-embedded.d.ts
@@ -0,0 +1,193 @@
+// Type definitions for hellosign-embedded v1.0.3
+// Project: https://github.com/HelloFax/hellosign-embedded
+// Definitions by: Brian Surowiec
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+declare module HelloSign {
+ interface MessageEvent {
+ event: string;
+ }
+
+ interface ClientCultures {
+ /**
+ * English (United States)
+ *
+ * @default en_US
+ */
+ EN_US: string;
+
+ /**
+ * French (France)
+ *
+ * @default fr_FR
+ */
+ FR_FR: string;
+
+ /**
+ * German (Germany)
+ *
+ * @default de_DE
+ */
+ DE_DE: string;
+
+ /**
+ * Swedish (Sweden)
+ *
+ * @default sv_SE
+ */
+ SV_SE: string;
+
+ /**
+ * Chinese (China)
+ *
+ * @default zh_CN
+ */
+ ZH_CN: string;
+
+ /**
+ * Danish (Denmark)
+ *
+ * @default da_DK
+ */
+ DA_DK: string;
+
+ /**
+ * Dutch (The Netherlands)
+ * @default nl_NL
+ */
+ NL_NL: string;
+
+ /**
+ * The available client UI cultures
+ */
+ supportedCultures: string[];
+ }
+
+ interface OpenParameters {
+ /**
+ * The url to open in the child frame
+ */
+ url?: string;
+
+ /**
+ * Where to go after the signature is completed
+ */
+ redirectUrl?: string;
+
+ /**
+ * Whether a cancel button should be displayed
+ *
+ * @default true
+ */
+ allowCancel?: boolean;
+
+ /**
+ * A listener for X-window messages coming from the child frame
+ */
+ messageListener?: (eventData: MessageEvent) => void;
+
+ /**
+ * One of the HelloSign.CULTURES.supportedCultures
+ *
+ * @default HelloSign.CULTURES.EN_US
+ */
+ userCulture?: string;
+
+ /**
+ * When true, debugging statements will be written to the console
+ *
+ * @default false
+ */
+ debug?: boolean;
+
+ /**
+ * When true, domain verification step will be skipped if and only if the Signature Request was created with test_mode=1
+ *
+ * @default false
+ */
+ skipDomainVerification?: boolean;
+
+ /**
+ * DOM element that will contain the iframe on the page (defaults to document.body)
+ */
+ container?: Element;
+
+ /**
+ * Height of the iFrame (only applicable when a container is specified)
+ */
+ height?: number;
+
+ /**
+ * When true, the header will be hidden.
+ * This is only functional for customers with embedded branding enabled.
+ *
+ * @default false
+ */
+ hideHeader?: boolean;
+
+ /**
+ * The version of the embedded user experience to display to signers (1 = legacy, 2 = responsive).
+ * This option is only honored if your account has accessed the API prior to Nov 14, 2015.
+ */
+ uxVersion?: number;
+
+ /**
+ * The email of the person issuing a signature request.
+ * Required for allowing 'Me + Others' requests
+ */
+ requester?: string;
+
+ /**
+ * An associative array to be used to customize the app's signer page
+ */
+ whiteLabelingOptions?: Object;
+ }
+
+ interface HelloSignStatic {
+ /**
+ * The available client UI cultures
+ */
+ CULTURES: ClientCultures;
+
+ /**
+ * The signature request was signed
+ *
+ * @default signature_request_signed
+ */
+ EVENT_SIGNED: string;
+
+ /**
+ * The user closed the iFrame before completing
+ *
+ * @default signature_request_canceled
+ */
+ EVENT_CANCELED: string;
+
+ /**
+ * An error occurred in the iFrame
+ *
+ * @default error
+ */
+ EVENT_ERROR: string;
+
+ /**
+ * Initialize using your HelloSign API client ID.
+ *
+ * @param appClientId The API client ID the request is for.
+ */
+ init(appClientId: string): void;
+
+ /**
+ * Open the signing window.
+ *
+ * @param params The options to use when opening the signing window.
+ */
+ open(params: OpenParameters): void;
+
+ /**
+ * Close the signing window.
+ */
+ close(): void;
+ }
+}
+
+declare var HelloSign: HelloSign.HelloSignStatic;