@dloizides/auth-web 1.18.3 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/index.d.mts +40 -3
- package/dist/index.d.ts +40 -3
- package/dist/index.js +52 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -9
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -341,6 +341,7 @@ var DEFAULT_REGISTER_LABELS = {
|
|
|
341
341
|
submit: "Create account",
|
|
342
342
|
submitHint: "Creates your account",
|
|
343
343
|
submitting: "Creating account...",
|
|
344
|
+
fullName: field("Your name", "Enter your full name"),
|
|
344
345
|
fields: {
|
|
345
346
|
firstName: field("First name", "Enter your first name"),
|
|
346
347
|
lastName: field("Last name", "Enter your last name"),
|
|
@@ -4100,6 +4101,18 @@ var FIELDS = [
|
|
|
4100
4101
|
{ key: "confirmPassword", testId: RegisterTestIds.confirmPasswordInput, secure: true },
|
|
4101
4102
|
{ key: "tenantName", testId: RegisterTestIds.tenantNameInput }
|
|
4102
4103
|
];
|
|
4104
|
+
var COMPACT_FIELDS = [
|
|
4105
|
+
{ key: "firstName", testId: RegisterTestIds.firstNameInput, autoComplete: "name" },
|
|
4106
|
+
{ key: "email", testId: RegisterTestIds.emailInput, autoComplete: "email", keyboardType: "email-address" },
|
|
4107
|
+
{ key: "password", testId: RegisterTestIds.passwordInput, secure: true },
|
|
4108
|
+
{ key: "tenantName", testId: RegisterTestIds.tenantNameInput }
|
|
4109
|
+
];
|
|
4110
|
+
function copyFor(key, labels, compact) {
|
|
4111
|
+
if (compact && key === "firstName" && labels.fullName !== void 0) {
|
|
4112
|
+
return labels.fullName;
|
|
4113
|
+
}
|
|
4114
|
+
return labels.fields[key];
|
|
4115
|
+
}
|
|
4103
4116
|
var OFF_SCREEN = -9999;
|
|
4104
4117
|
var HONEYPOT_SIZE = 1;
|
|
4105
4118
|
var HONEYPOT_PLACEHOLDER = "Website";
|
|
@@ -4121,11 +4134,12 @@ function RegisterFormFields({
|
|
|
4121
4134
|
styles: styles3,
|
|
4122
4135
|
onChange,
|
|
4123
4136
|
onSubmitEditing,
|
|
4124
|
-
testIdPrefix
|
|
4137
|
+
testIdPrefix,
|
|
4138
|
+
compact = false
|
|
4125
4139
|
}) {
|
|
4126
4140
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4127
|
-
FIELDS.map((config) => {
|
|
4128
|
-
const copy =
|
|
4141
|
+
(compact ? COMPACT_FIELDS : FIELDS).map((config) => {
|
|
4142
|
+
const copy = copyFor(config.key, labels, compact);
|
|
4129
4143
|
return /* @__PURE__ */ jsxs(View, { style: styles3.fieldGroup, children: [
|
|
4130
4144
|
/* @__PURE__ */ jsx(Text, { style: styles3.label, children: copy.label }),
|
|
4131
4145
|
/* @__PURE__ */ jsx(
|
|
@@ -4284,6 +4298,29 @@ function mapRegisterErrorCode(error) {
|
|
|
4284
4298
|
return match === void 0 ? "validationFailed" /* ValidationFailed */ : match[1];
|
|
4285
4299
|
}
|
|
4286
4300
|
|
|
4301
|
+
// src/hooks/registerCompact.ts
|
|
4302
|
+
var WHITESPACE_RUN = /\s+/;
|
|
4303
|
+
var UNSAFE_USERNAME_CHARS = /[^a-z0-9._-]/g;
|
|
4304
|
+
var USERNAME_REPLACEMENT = "_";
|
|
4305
|
+
function splitFullName(fullName) {
|
|
4306
|
+
const words = fullName.trim().split(WHITESPACE_RUN).filter((word) => word !== "");
|
|
4307
|
+
const [first = "", ...rest] = words;
|
|
4308
|
+
return { firstName: first, lastName: rest.length > 0 ? rest.join(" ") : first };
|
|
4309
|
+
}
|
|
4310
|
+
function deriveUsernameFromEmail(email) {
|
|
4311
|
+
return email.trim().toLowerCase().replace(UNSAFE_USERNAME_CHARS, USERNAME_REPLACEMENT);
|
|
4312
|
+
}
|
|
4313
|
+
function expandCompactRegisterValues(values) {
|
|
4314
|
+
const { firstName, lastName } = splitFullName(values.firstName);
|
|
4315
|
+
return {
|
|
4316
|
+
...values,
|
|
4317
|
+
firstName,
|
|
4318
|
+
lastName,
|
|
4319
|
+
username: deriveUsernameFromEmail(values.email),
|
|
4320
|
+
confirmPassword: values.password
|
|
4321
|
+
};
|
|
4322
|
+
}
|
|
4323
|
+
|
|
4287
4324
|
// src/hooks/useRegisterForm.ts
|
|
4288
4325
|
var EMPTY_VALUES = {
|
|
4289
4326
|
firstName: "",
|
|
@@ -4309,7 +4346,8 @@ function toSubmitValues(values) {
|
|
|
4309
4346
|
function useRegisterForm({
|
|
4310
4347
|
onSubmit,
|
|
4311
4348
|
passwordPolicy = isRegisterPasswordStrong,
|
|
4312
|
-
onSubmitAttempt
|
|
4349
|
+
onSubmitAttempt,
|
|
4350
|
+
compact = false
|
|
4313
4351
|
}) {
|
|
4314
4352
|
const [state, setState] = useState(EMPTY_VALUES);
|
|
4315
4353
|
const [isSubmitting, setIsSubmitting] = useState(false);
|
|
@@ -4323,7 +4361,8 @@ function useRegisterForm({
|
|
|
4323
4361
|
return { ok: false, error: "inFlight" /* InFlight */ };
|
|
4324
4362
|
}
|
|
4325
4363
|
onSubmitAttempt?.();
|
|
4326
|
-
const
|
|
4364
|
+
const trimmedRaw = trimRegisterValues(state);
|
|
4365
|
+
const trimmed = compact ? expandCompactRegisterValues(trimmedRaw) : trimmedRaw;
|
|
4327
4366
|
const refusal = trimmed.website === "" ? validateRegisterValues(trimmed, passwordPolicy) : "failed" /* Failed */;
|
|
4328
4367
|
if (refusal !== null) {
|
|
4329
4368
|
setError(refusal);
|
|
@@ -4343,7 +4382,7 @@ function useRegisterForm({
|
|
|
4343
4382
|
inFlight.current = false;
|
|
4344
4383
|
setIsSubmitting(false);
|
|
4345
4384
|
}
|
|
4346
|
-
}, [onSubmit, onSubmitAttempt, passwordPolicy, state]);
|
|
4385
|
+
}, [compact, onSubmit, onSubmitAttempt, passwordPolicy, state]);
|
|
4347
4386
|
return { state, setField, submit, isSubmitting, error };
|
|
4348
4387
|
}
|
|
4349
4388
|
function RegisterForm({
|
|
@@ -4355,7 +4394,8 @@ function RegisterForm({
|
|
|
4355
4394
|
labels: labelsProp,
|
|
4356
4395
|
theme: themeProp,
|
|
4357
4396
|
footer,
|
|
4358
|
-
testIdPrefix
|
|
4397
|
+
testIdPrefix,
|
|
4398
|
+
compact = false
|
|
4359
4399
|
}) {
|
|
4360
4400
|
const theme = useAuthTheme(themeProp);
|
|
4361
4401
|
const styles3 = useAuthStyles(theme);
|
|
@@ -4366,7 +4406,8 @@ function RegisterForm({
|
|
|
4366
4406
|
const { state, setField, submit, isSubmitting } = useRegisterForm({
|
|
4367
4407
|
onSubmit,
|
|
4368
4408
|
onSubmitAttempt,
|
|
4369
|
-
passwordPolicy
|
|
4409
|
+
passwordPolicy,
|
|
4410
|
+
compact
|
|
4370
4411
|
});
|
|
4371
4412
|
const handlePress = useCallback(async () => {
|
|
4372
4413
|
routeRegisterOutcome(await submit(), { onSuccess, onError });
|
|
@@ -4378,6 +4419,7 @@ function RegisterForm({
|
|
|
4378
4419
|
/* @__PURE__ */ jsx(
|
|
4379
4420
|
RegisterFormFields,
|
|
4380
4421
|
{
|
|
4422
|
+
compact,
|
|
4381
4423
|
disabled: isSubmitting,
|
|
4382
4424
|
labels,
|
|
4383
4425
|
styles: styles3,
|
|
@@ -4539,6 +4581,6 @@ function createBffChangePasswordClient(options = {}) {
|
|
|
4539
4581
|
};
|
|
4540
4582
|
}
|
|
4541
4583
|
|
|
4542
|
-
export { AccountSettingsScreen, AuthScreen, AuthTestIds, AuthThemeProvider, BffAuthStatus, CHANGE_PASSWORD_ENDPOINT, ChangePasswordCard, ChangePasswordErrorKey, DEFAULT_ACCOUNT_SETTINGS_LABELS, DEFAULT_AUTH_CARD_MAX_WIDTH, DEFAULT_DEMO_CREDENTIALS_HINT_LABELS, DEFAULT_DEVICE_PIN_ENROLL_LABELS, DEFAULT_DEVICE_PIN_SETTINGS_LABELS, DEFAULT_DEVICE_PIN_UNLOCK_LABELS, DEFAULT_FORGOT_PASSWORD_FIELDS_LABELS, DEFAULT_FORGOT_PASSWORD_LABELS, DEFAULT_LOGIN_LABELS, DEFAULT_OTP_LABELS, DEFAULT_PASSKEY_LOGIN_LABELS, DEFAULT_PASSKEY_SETTINGS_LABELS, DEFAULT_PIN_LABELS, DEFAULT_PREFERRED_METHOD_HINT_LABELS, DEFAULT_PREFERRED_METHOD_SETTINGS_LABELS, DEFAULT_REGISTER_LABELS, DEFAULT_RESET_PASSWORD_LABELS, DEVICE_PIN_ALLOWED_DIGITS, DEVICE_PIN_DEFAULT_DIGITS, DemoCredentialsHint, DemoCredentialsHintVariant, DevicePinEnrollErrorKey, DevicePinEnrollForm, DevicePinErrorKey, DevicePinInput, DevicePinLengthPicker, DevicePinOffer, DevicePinSettingsCard, DevicePinUnlockScreen, ForgotPasswordFields, ForgotPasswordForm, LoginForm, OtpForm, OtpLoginStep, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasskeyCeremonyMode, PasskeyCeremonyStatus, PasskeyLoginButton, PasskeySettingsCard, PasswordPolicyError, PinForm, PreferredMethodHint, PreferredMethodSettingsCard, PrefillIntent, RegisterErrorCode, RegisterForm, RegisterTestIds, ResetPasswordError, ResetPasswordForm, cachePreferredMethod, clearCachedPreferredMethod, collectUserRoles, createBffAuthClient, createBffChangePasswordClient, createPreferencesClient, defaultAuthTheme, isAllowedPinDigits, isPasswordValid, isRegisterPasswordStrong, isValidForgotPasswordEmail, performBffLogout, readCachedPreferredMethod, readPasskeyError, readPasskeyRegistered, resolveAccessibleRoutes, resolveAccountList, resolveDemoAccounts, resolveDemoCredentials, resolvePostLoginRoute, startPasskeyLogin, startPasskeyRegistration, syncPreferredMethodFromServer, useAuthTheme, useBffAuth, useBffForgotPassword, useBffLoginConfig, useBffResetPassword, useChangePassword, useDemoCredentials, useDevicePinDisable, useDevicePinEnroll, useDevicePinUnlock, useForgotPasswordSubmit, useOtpLogin, usePasskeyCeremony, usePinLogin, usePreferredMethodSetting, useRegisterForm, useResetPasswordForm, validatePasswordPolicy, withTestIdPrefix };
|
|
4584
|
+
export { AccountSettingsScreen, AuthScreen, AuthTestIds, AuthThemeProvider, BffAuthStatus, CHANGE_PASSWORD_ENDPOINT, ChangePasswordCard, ChangePasswordErrorKey, DEFAULT_ACCOUNT_SETTINGS_LABELS, DEFAULT_AUTH_CARD_MAX_WIDTH, DEFAULT_DEMO_CREDENTIALS_HINT_LABELS, DEFAULT_DEVICE_PIN_ENROLL_LABELS, DEFAULT_DEVICE_PIN_SETTINGS_LABELS, DEFAULT_DEVICE_PIN_UNLOCK_LABELS, DEFAULT_FORGOT_PASSWORD_FIELDS_LABELS, DEFAULT_FORGOT_PASSWORD_LABELS, DEFAULT_LOGIN_LABELS, DEFAULT_OTP_LABELS, DEFAULT_PASSKEY_LOGIN_LABELS, DEFAULT_PASSKEY_SETTINGS_LABELS, DEFAULT_PIN_LABELS, DEFAULT_PREFERRED_METHOD_HINT_LABELS, DEFAULT_PREFERRED_METHOD_SETTINGS_LABELS, DEFAULT_REGISTER_LABELS, DEFAULT_RESET_PASSWORD_LABELS, DEVICE_PIN_ALLOWED_DIGITS, DEVICE_PIN_DEFAULT_DIGITS, DemoCredentialsHint, DemoCredentialsHintVariant, DevicePinEnrollErrorKey, DevicePinEnrollForm, DevicePinErrorKey, DevicePinInput, DevicePinLengthPicker, DevicePinOffer, DevicePinSettingsCard, DevicePinUnlockScreen, ForgotPasswordFields, ForgotPasswordForm, LoginForm, OtpForm, OtpLoginStep, PASSWORD_MAX_LENGTH, PASSWORD_MIN_LENGTH, PasskeyCeremonyMode, PasskeyCeremonyStatus, PasskeyLoginButton, PasskeySettingsCard, PasswordPolicyError, PinForm, PreferredMethodHint, PreferredMethodSettingsCard, PrefillIntent, RegisterErrorCode, RegisterForm, RegisterTestIds, ResetPasswordError, ResetPasswordForm, cachePreferredMethod, clearCachedPreferredMethod, collectUserRoles, createBffAuthClient, createBffChangePasswordClient, createPreferencesClient, defaultAuthTheme, deriveUsernameFromEmail, isAllowedPinDigits, isPasswordValid, isRegisterPasswordStrong, isValidForgotPasswordEmail, performBffLogout, readCachedPreferredMethod, readPasskeyError, readPasskeyRegistered, resolveAccessibleRoutes, resolveAccountList, resolveDemoAccounts, resolveDemoCredentials, resolvePostLoginRoute, splitFullName, startPasskeyLogin, startPasskeyRegistration, syncPreferredMethodFromServer, useAuthTheme, useBffAuth, useBffForgotPassword, useBffLoginConfig, useBffResetPassword, useChangePassword, useDemoCredentials, useDevicePinDisable, useDevicePinEnroll, useDevicePinUnlock, useForgotPasswordSubmit, useOtpLogin, usePasskeyCeremony, usePinLogin, usePreferredMethodSetting, useRegisterForm, useResetPasswordForm, validatePasswordPolicy, withTestIdPrefix };
|
|
4543
4585
|
//# sourceMappingURL=index.mjs.map
|
|
4544
4586
|
//# sourceMappingURL=index.mjs.map
|