1.0.9 • Published 2 years ago

svelte-otp v1.0.9

Weekly downloads
-
License
-
Repository
github
Last release
2 years ago

Svelte Otp

Build Status

codecov

Netlify Status

A Otp Component that can be used with Svelte.

Install

npm install svelte-otp --save

yarn add svelte-otp

Demo

To view a demo online: https://svelte-otp.netlify.app/

To view demo examples locally clone the repo and run npm install && npm run dev

import OtpInput from 'svelte-otp';

// main
<OtpInput
    separator="-"
    placeholder="0000"
    ...
/>

Usage

<OtpInput
		separator="-"
		placeholder="0000"
        ...
	/>

numberOfInputs prop

    <OtpInput numberOfInputs={6} />

numberOfInputs along with separatorprop

<OtpInput numberOfInputs={4} separator="-"  />

Using numberOfInputs, separator and placeholder props

<OtpInput separator="-" placeholder="******" numberOfInputs={6}  />

Masking Input

<OtpInput separator="-" placeholder="****" numberOfInputs={4} maskInput={true} />

Change Focus on Input/Delete

<OtpInput
	...
	autoFocusNextOnInput={true}
	focusPreviousOnDelete={true}
/>

Programtic Access of value of Otp

    let otpInstance: {getValue: () => void};
    function handleClick() {
        console.log('value on click',
            otpInstance?.getValue());
    }
	...
<OtpInput
		...
		bind:this={otpInstance}
	/>

Prefill value on some other events/actions

function callbackFunction(event: CustomEvent) {
    console.log('emittedValue', event.detail);
}
function handlePrefill() {
    value = '123456';
}
<OtpInput
		...
        bind:initialValue={value}
		on:notify={callbackFunction}
		...
		emitEventOnPrefill={false}
	/>
<div class="button-otp" on:click={handleClick}> Get Value </div>

Event on Otp Filled completely

function callbackFunction(event: CustomEvent) {
    console.log('emittedValue', event.detail);
}

<OtpInput
		...
		on:notify={callbackFunction}
		...
		emitEventOnPrefill={false}
	/>

Available props

PropTypeDefaultDescription
numberOfInputsNumber4Number of Inputs to be shown
separatorStringseparator between inputs
placeholderStringplaceholder for text inputs.
maskInputBooleanfalsemask input values
autoFocusNextOnInputBooleantruefocus on next input after entering value
focusPreviousOnDeleteBooleantruemove focus to previous element on delete
customWrapperClassstringfalseused to style wrapper element of otp
customSeparatorClassstringused to style separator
customRowClassstringused to style individual input
customInputWrapperClassstringused to style input wrapper
customTextInputClassstringused to style input box
emitEventOnPrefillstringemits events on filling all input fields

Events

Only emitted event.

eventObj = { completevalue: string; isInputComplete: boolean; }

EventOutputDescription
notifyeventObjEven is emitted when input is complete

Authors

@shubhadip

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4-beta

2 years ago

0.0.4

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago