Accounts and addresses SDK reference
Sign-in, account state, address forms and account editor attributes.
Import these public values from @upstorr/theme-sdk/v1. Do not import their internal source files.
createThemeAccountAddressFormView
createThemeAccountAddressFormView(input?: { defaultCountryCode?: string | null; }): ThemeAccountAddressFormView
fetchThemeAccountAddresses
fetchThemeAccountAddresses(): Promise<ThemeAccountAddressResponse>
getThemeAccountActionProps
getThemeAccountActionProps(action: ThemeAccountAction): { readonly type: "submit" | "button"; readonly 'data-upstorr-account-action': ThemeAccountAction; }
getThemeAccountAddressCloseProps
getThemeAccountAddressCloseProps(): { readonly type: "button"; readonly 'data-upstorr-account-address-close': "true"; }
getThemeAccountAddressCountryProps
getThemeAccountAddressCountryProps(subdivisionOptionsByCountry?: string | Record<string, unknown>): { readonly 'data-upstorr-account-address-subdivisions'?: string | undefined; readonly 'data-upstorr-account-address-country': "true"; }
getThemeAccountAddressDialogProps
getThemeAccountAddressDialogProps(): { readonly 'data-upstorr-account-address-dialog': "true"; }
getThemeAccountAddressesProps
getThemeAccountAddressesProps(): { readonly 'data-upstorr-account-addresses': "true"; }
getThemeAccountAddressFormProps
getThemeAccountAddressFormProps(): { readonly 'data-upstorr-account-address-form': "true"; }
getThemeAccountAddressListProps
getThemeAccountAddressListProps(): { readonly 'data-upstorr-account-address-list': "true"; }
getThemeAccountAddressOpenProps
getThemeAccountAddressOpenProps(): { readonly type: "button"; readonly 'data-upstorr-account-address-open': "true"; }
getThemeAccountAddressSaveProps
getThemeAccountAddressSaveProps(): { readonly type: "button"; readonly 'data-upstorr-account-address-save': "true"; }
getThemeAccountAddressStateInputProps
getThemeAccountAddressStateInputProps(): { readonly 'data-upstorr-account-address-state-input': "true"; }
getThemeAccountAddressStateSelectProps
getThemeAccountAddressStateSelectProps(): { readonly 'data-upstorr-account-address-state-select': "true"; }
getThemeAccountAuthFormProps
getThemeAccountAuthFormProps(state: ThemeAccountStep): { readonly 'data-upstorr-account-auth-form': "true"; readonly 'data-account-state': ThemeAccountStep; }
getThemeAccountCountryOptions
getThemeAccountCountryOptions(): ThemeAccountAddressCountryOption[]
getThemeAccountFieldInputProps
getThemeAccountFieldInputProps(purpose: ThemeAccountFieldPurpose): { readonly name: "email"; readonly type: "email"; readonly inputMode: "email"; readonly autoComplete: "email"; readonly placeholder: "you@example.com"; readonly required: true; readonly maxLength: 254; readonly pattern: undefined; readonly 'data-upstorr-account-field': "email"; } | { readonly name: "code"; readonly type: "text"; readonly inputMode: "numeric"; readonly autoComplete: "one-time-code"; readonly placeholder: "000000"; readonly required: true; readonly maxLength: 6; readonly pattern: "[0-9]{6}"; readonly 'data-upstorr-account-field': "otp"; } | { readonly name: "name"; readonly type: "text"; readonly inputMode: undefined; readonly autoComplete: "name"; readonly placeholder: "Your name"; readonly required: false; readonly maxLength: 120; readonly pattern: undefined; readonly 'data-upstorr-account-field': "name"; }
getThemeAccountFieldLabel
getThemeAccountFieldLabel(purpose: ThemeAccountFieldPurpose): "Email" | "Verification code" | "Name"
getThemeAccountFieldProps
getThemeAccountFieldProps(purpose: ThemeAccountFieldPurpose): { readonly label: "Email" | "Verification code" | "Name"; readonly input: { readonly name: "email"; readonly type: "email"; readonly inputMode: "email"; readonly autoComplete: "email"; readonly placeholder: "you@example.com"; readonly required: true; readonly maxLength: 254; readonly pattern: undefined; readonly 'data-upstorr-account-field': "email"; } | { readonly name: "code"; readonly type: "text"; readonly inputMode: "numeric"; readonly autoComplete: "one-time-code"; readonly placeholder: "000000"; readonly required: true; readonly maxLength: 6; readonly pattern: "[0-9]{6}"; readonly 'data-upstorr-account-field': "otp"; } | { readonly name: "name"; readonly type: "text"; readonly inputMode: undefined; readonly autoComplete: "name"; readonly placeholder: "Your name"; readonly required: false; readonly maxLength: 120; readonly pattern: undefined; readonly 'data-upstorr-account-field': "name"; }; }
getThemeAccountSectionProps
getThemeAccountSectionProps(): { readonly 'data-upstorr-account-section': "true"; }
getThemeAccountStepProps
getThemeAccountStepProps(step: ThemeAccountStep, position?: string): { readonly 'data-account-step-position'?: string | undefined; readonly 'data-upstorr-account-step': ThemeAccountStep; }
getThemeAccountSubdivisionOptions
getThemeAccountSubdivisionOptions(countryCode: string): string[]
getThemeAccountSubdivisionOptionsByCountry
getThemeAccountSubdivisionOptionsByCountry(): Record<string, string[]>
getThemeAccountTitleProps
getThemeAccountTitleProps(): { readonly 'data-upstorr-account-title': "true"; }
logoutThemeAccount
logoutThemeAccount(): Promise<ThemeAccountAuthResponse>
readThemeAccountAddresses
readThemeAccountAddresses<TAddress>(value: unknown): TAddress[]
readThemeAccountResource
readThemeAccountResource(value: unknown): Record<string, unknown> | null
readThemeAccountText
readThemeAccountText(value: unknown, fallback: string): string
saveThemeAccountAddress
saveThemeAccountAddress(input: ThemeAccountAddressInput): Promise<ThemeAccountAddressResponse>
sendThemeAccountCode
sendThemeAccountCode(input: ThemeAccountSendCodeInput): Promise<ThemeAccountAuthResponse>
ThemeAccountAddressCountryOption
type ThemeAccountAddressCountryOption = {
code: string;
name: string;
};
ThemeAccountAddressFormView
type ThemeAccountAddressFormView = {
defaultCountryCode: string;
countryOptions: ThemeAccountAddressCountryOption[];
defaultStateOptions: string[];
subdivisionOptionsByCountry: Record<string, string[]>;
labels: {
addressesTitle: string;
addAddress: string;
savedAddress: string;
defaultAddress: string;
emptyAddresses: string;
country: string;
firstName: string;
lastName: string;
addressLine1: string;
addressLine2: string;
city: string;
state: string;
statePlaceholder: string;
postalCode: string;
defaultCheckbox: string;
cancel: string;
save: string;
closeAddressForm: string;
};
};
verifyThemeAccountCode
verifyThemeAccountCode(input: ThemeAccountVerifyCodeInput): Promise<ThemeAccountAuthResponse>