Repository navigation
feat(mosaic): add the sign-in identifier step's phone and username fields - #10792
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: af7f19c The changes in this PR will be included in the next version bump. This PR includes changesets to release 0 packagesWhen changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes.
|
@clerk/astro
@clerk/backend
@clerk/chrome-extension
@clerk/clerk-js
@clerk/electron
@clerk/electron-passkeys
@clerk/eslint-plugin
@clerk/expo
@clerk/expo-biometrics
@clerk/expo-google-signin
@clerk/expo-native-components
@clerk/expo-passkeys
@clerk/express
@clerk/fastify
@clerk/hono
@clerk/localizations
@clerk/mosaic
@clerk/nextjs
@clerk/nuxt
@clerk/react
@clerk/react-router
@clerk/shared
@clerk/tanstack-react-start
@clerk/testing
@clerk/ui
@clerk/upgrade
@clerk/vue
commit: |
ec87b1a to
e17dc23
Compare
e17dc23 to
f69000c
Compare
0952d8e to
75cf4a6
Compare
75cf4a6 to
959c71d
Compare
…heir own Flow steps
6096fab to
af7f19c
Compare
Description
Adds the sign-in identifier step's other fields, following the legacy screens below. Work in progress: the table lists each legacy screen in this group, and the Mosaic column fills in as each view lands.
{ kind: 'identifier'; field; nextField? }, wherefieldisemail,email-or-username,usernameorphone. Phone usesPhoneInput. WithnextField, the label row shows legacy's switch link ("Use phone", "Use email", "Use username", "Use email or username"), which calls the new optionalonSwitchField.Field.Headerpart (.cl-field-header): a row with the label at the start and an action at the end, as in the Mosaic 2.0 sign-in designs. The action sits outside thelabel, so pressing it doesn't focus the control.onPasskey, the step shows legacy's "Use passkey instead" link under the field. Mosaic's card footer lays actions out in a row, so the link sits in the card body rather than under Continue.{ kind: 'identifier'; field: 'phone'; channel }for an alternative phone channel such as WhatsApp: legacy's title, description and "{provider} phone number" label, and "Use another method" beside Continue.IdentifierSteproutes between it and the start screen, asCredentialStepdoes.lastUsedProviderIdputs that provider inProviderButtonGroup'slastUsedrow with its badge, and the identifier step'slastUsedflag shows a badge on the field's label row when there is no switch link, as legacy does. The field badge is Mosaic's filled neutralBadge; legacy's is outlined.Captcha(feat(mosaic): add the Captcha element for clerk-js Turnstile #10796) under the field, where legacy rendersCaptchaElement, so clerk-js has somewhere to show Turnstile's interactive challenge.display: noneandinert, still mounted so the form keeps its values).CaptchagainsonInteractiveChange, which reports when clerk-js sets or clearsdata-cl-interactive.onJoinWaitlist, the step shows legacy's "Want early access? Join waitlist" in place of the sign-up prompt, for instances in waitlist mode.identifierFieldCopyhelper insign-in.utils.ts.Stacked on #10796.
Legacy and Mosaic
Checklist
pnpm testruns as expected.pnpm buildruns as expected.Type of change
🤖 Generated with Claude Code