Skip to content

silvestrevivo/svelte-typeform-embed

Repository files navigation

Svelte Typeform Embed

A Svelte wrapper component for Typeform Embed SDK.

Installation

npm install svelte-typeform-embed @rollup/plugin-replace

In your .svelte file:

<script>
    import Typeform from 'svelte-typeform-embed';
</script>

<Typeform url="https://mypersonalurl.typeform.com/to/1234" />

In rollup.config.js you need to add after commonjs(),:

replace({ 'process.env.NODE_ENV': JSON.stringify( 'production' ) }),

Demo

See a live demo.

Props

All the props are based in the official documentation from from Typeform Embed SDK

Prop Description Default
url Url you get from Typeform to display the form ""
style Additional styles for the component {}
popup true if you want to display the form in popup mode.
By default it is displayed in widget mode
false
hideHeaders true if you want to hide the header that displays for question groups and long questions that require scrolling. Otherwise, false false
hideFooter true if you want to hide the footer that displays a progress bar and navigation buttons. Otherwise, false. false
opacity Background opacity. Valid values include any integer between 0 (completely transparent) and 100 (completely opaque). Note that this isn't the same as the CSS opacity scale (0-1).
Valid only for widget mode option
100
buttonText Text to display in the "Start" button. Displayed only on touch-screen and mobile devices.
Valid only for widget mode option
"Start"
mode Identifies how the popup should behave. Valid values are popup (full-screen popup), drawer_left (popup slides in from the left), and drawer_right (popup slides in from the right).
Popup mode option
"popup"
autoOpen true if the typeform should open automatically when the page loads. Otherwise, false.
Popup mode option
false
autoClose Time until the embedded typeform should automatically close after a respondent clicks the Submit button. Your typeform will automatically close after the time you specify, so respondents won’t have to manually close your typeform popup. In milliseconds.
Popup mode option
0
onSubmit Callback event that will execute immediately after a respondent successfully submits the typeform.
N/A
onReady Callback event that will execute immediately when the form is loaded and displayed on screen.
N/A

Popup Mode Instance Methods

When popup is true but autoOpen is false, we can delegate to another component the action to trigger the modal. The methods to be used are typeformPopup.open() and typeformPopup.close(). An example to use them:

<script>
    let typeformPopup;
</script>

<Typeform
    bind:typeformPopup
    popup
    autoOpen="{false}"
    url="https://mypersonalurl.typeform.com/to/1234"
/>

<button on:click={() => typeformPopup.open()}>Open</button>

License

Code released under the MIT license.

About

A Svelte wrapper component for Typeform Embed SDK.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published