diff --git a/.changeset/quiet-identifiers.md b/.changeset/quiet-identifiers.md new file mode 100644 index 0000000..763ab79 --- /dev/null +++ b/.changeset/quiet-identifiers.md @@ -0,0 +1,5 @@ +--- +"@onkernel/managed-auth-react": patch +--- + +Render canonical identifier fields as text inputs so combined username, email, and phone login fields accept every supported identifier format. diff --git a/packages/managed-auth-react/src/session/state.test.ts b/packages/managed-auth-react/src/session/state.test.ts index a05e717..1933890 100644 --- a/packages/managed-auth-react/src/session/state.test.ts +++ b/packages/managed-auth-react/src/session/state.test.ts @@ -202,7 +202,7 @@ describe("normalizeManagedAuthState", () => { id: "field_email", ref: "email", type: "identifier", - label: "Email", + label: "Mobile number, username, or email", reason: "missing", }, { @@ -239,15 +239,15 @@ describe("normalizeManagedAuthState", () => { id: "field_email", ref: "email", name: "field_email", - type: "email", - label: "Email", + type: "text", + label: "Mobile number, username, or email", required: true, }, { id: "field_phone", ref: "phone_number", name: "field_phone", - type: "tel", + type: "text", label: "Phone", required: true, }, diff --git a/packages/managed-auth-react/src/session/state.ts b/packages/managed-auth-react/src/session/state.ts index 19f4e77..b3dcb38 100644 --- a/packages/managed-auth-react/src/session/state.ts +++ b/packages/managed-auth-react/src/session/state.ts @@ -40,12 +40,8 @@ function fieldTypeToDiscoveredType( field: ManagedAuthField, ): DiscoveredField["type"] { switch (field.type) { - case "identifier": { - const ref = field.ref.toLowerCase(); - if (ref.includes("email")) return "email"; - if (ref.includes("phone") || ref.includes("tel")) return "tel"; + case "identifier": return "text"; - } case "totp_code": return "totp"; case "totp_secret":