@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
80 lines (72 loc) • 2.04 kB
text/typescript
/**
* Copyright © 2023 Nevis Security AG. All rights reserved.
*/
import { PromptOptions } from './PromptOptions';
/**
* Defines the elements of the biometric prompt (title, description and cancel button text).
*
* @see {@link BiometricUserVerificationHandler.listenForOsCredentials}
*/
export abstract class BiometricPromptOptions extends PromptOptions {
/**
* The title to be used to prompt the user.
*
* **IMPORTANT** \
* Prompt title is supported only on Android and is ignored on iOS.
*/
abstract title: string;
/**
* The cancel button text.
*/
abstract cancelButtonText: string;
/**
* The fallback button text.
*
* If set to empty string, the button will be hidden. A default title "Enter Password" is used
* when this property is unspecified.
*
* **IMPORTANT** \
* Fallback button text is supported only on iOS and is ignored on Android.
*/
abstract fallbackButtonText?: string;
/**
* Default constructor for {@link BiometricPromptOptions}.
*
* @param title the title to be used to prompt the user.
* @param cancelButtonText the cancel button text.
* @param description the optional description to be used to prompt the user.
* @param fallbackButtonText the fallback button text.
* @returns the created {@link BiometricPromptOptions} instance.
*/
static create(
title: string,
cancelButtonText: string,
description?: string,
fallbackButtonText?: string
): BiometricPromptOptions {
return new BiometricPromptOptionsImpl(
title,
cancelButtonText,
description,
fallbackButtonText
);
}
}
export class BiometricPromptOptionsImpl extends BiometricPromptOptions {
title: string;
description?: string;
cancelButtonText: string;
fallbackButtonText?: string;
constructor(
title: string,
cancelButtonText: string,
description?: string,
fallbackButtonText?: string
) {
super();
this.title = title;
this.description = description;
this.cancelButtonText = cancelButtonText;
this.fallbackButtonText = fallbackButtonText;
}
}