From 43fb3ee9a7aecd3e4f34d187b6499afad41440ed Mon Sep 17 00:00:00 2001 From: Gabriel Cangussu Date: Wed, 24 Jun 2020 19:33:09 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#45692=20Update=20@?= =?UTF-8?q?typeform/embed=20to=20v0.22.0=20by=20@gcangussu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/typeform__embed/index.d.ts | 34 ++++++++++++++++--- .../typeform__embed/typeform__embed-tests.ts | 10 ++++++ 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/types/typeform__embed/index.d.ts b/types/typeform__embed/index.d.ts index 7046744d40..434ebcc8d8 100644 --- a/types/typeform__embed/index.d.ts +++ b/types/typeform__embed/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for typeform__embed 0.20 +// Type definitions for typeform__embed 0.22 // Project: https://github.com/Typeform/embed // Definitions by: Florian Merz // Gabriel Cangussu @@ -15,13 +15,39 @@ export interface WidgetOptions { disableTracking?: boolean; } export interface PopupOptions { - mode?: 'popup' | 'drawer_left' | 'drawer_right'; + mode?: 'popup' | 'drawer_left' | 'drawer_right' | 'popover'; + /** + * @deprecated Use `open: 'load'` instead + */ autoOpen?: boolean; + /** + * Launch based on behavioral triggers + */ + open?: 'exit' | 'load' | 'scroll' | 'time'; + /** + * Configuration for behavioral triggers. Based on open: + * - `exit`: exit threshold in pixels + * - `scroll`: % of page scrolled + * - `time`: time in milliseconds + */ + openValue?: number; autoClose?: number; hideScrollbars?: boolean; hideFooter?: boolean; hideHeaders?: boolean; + /** + * @deprecated Use `width` instead + */ drawerWidth?: number; + /** + * Specify the width of the drawer or popup (only applies if using mode + * "drawer_left" or "drawer_right" or "popover") + */ + width?: number; + /** + * Specify the height of the popup (only applies if using mode "popover") + */ + height?: number; onSubmit?: (event: OnSubmitEvent) => void; onReady?: () => void; onClose?: () => void; @@ -37,5 +63,5 @@ export interface PopupInstance { close: () => void; } -export function makeWidget(element: HTMLElement, url: string, options: WidgetOptions): void; -export function makePopup(url: string, options: PopupOptions): PopupInstance; +export function makeWidget(element: HTMLElement, url: string, options?: WidgetOptions): void; +export function makePopup(url: string, options?: PopupOptions): PopupInstance; diff --git a/types/typeform__embed/typeform__embed-tests.ts b/types/typeform__embed/typeform__embed-tests.ts index 530b739374..9252f82a07 100644 --- a/types/typeform__embed/typeform__embed-tests.ts +++ b/types/typeform__embed/typeform__embed-tests.ts @@ -2,6 +2,9 @@ import * as typeformEmbed from '@typeform/embed'; const stubContainerEl = document.createElement('div'); +// optional options param +typeformEmbed.makeWidget(stubContainerEl, 'https://admin.typeform.com/to/PlBzgL'); + typeformEmbed.makeWidget(stubContainerEl, 'https://admin.typeform.com/to/PlBzgL', { opacity: 55, buttonText: 'Answer this!', @@ -16,14 +19,21 @@ typeformEmbed.makeWidget(stubContainerEl, 'https://admin.typeform.com/to/PlBzgL' onReady: () => {}, }); +// optional options param +typeformEmbed.makePopup('https://admin.typeform.com/to/PlBzgL'); + typeformEmbed.makePopup('https://admin.typeform.com/to/PlBzgL', { mode: 'drawer_left', autoOpen: true, + open: 'scroll', + openValue: 0, autoClose: 3, hideScrollbars: true, container: stubContainerEl, disableTracking: false, drawerWidth: 500, + width: 500, + height: 600, hideFooter: true, hideHeaders: true, onSubmit: ({ response_id }) => {