#
tokens: 116717/50000 1/3479 files (page 3472/3479)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 3472 of 3479. Use http://codebase.md/clerk/javascript?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .changeset
│   ├── afraid-apes-cough.md
│   ├── align-experimental-unstable-prefixes.md
│   ├── blue-stars-tie.md
│   ├── bold-spoons-act.md
│   ├── brave-clouds-swim.md
│   ├── bright-carpets-glow.md
│   ├── bright-zebras-arrive.md
│   ├── bumpy-symbols-train.md
│   ├── busy-frogs-type.md
│   ├── busy-snakes-pump.md
│   ├── busy-tires-admire.md
│   ├── changelog.js
│   ├── chatty-tigers-see.md
│   ├── chilled-olives-cheer.md
│   ├── chubby-beans-type.md
│   ├── config.json
│   ├── crisp-symbols-add.md
│   ├── cuddly-shrimps-refuse.md
│   ├── curly-hornets-argue.md
│   ├── cute-buttons-repair.md
│   ├── cyan-dancers-chew.md
│   ├── dull-forks-agree.md
│   ├── eight-groups-poke.md
│   ├── eighty-mugs-eat.md
│   ├── empty-hotels-sing.md
│   ├── evil-points-fly.md
│   ├── fine-symbols-occur.md
│   ├── fix-react-peer-dependency-ranges.md
│   ├── fix-signin-signup-redirect-conflict.md
│   ├── fix-ui-cicd.md
│   ├── fluffy-rocks-shake.md
│   ├── fruity-apes-deny.md
│   ├── fruity-donuts-study.md
│   ├── fuzzy-chefs-stand.md
│   ├── fuzzy-geese-guess.md
│   ├── gentle-clouds-heal.md
│   ├── goofy-lines-greet.md
│   ├── happy-apes-care.md
│   ├── happy-breads-begin.md
│   ├── hide-optional-fields-by-default.md
│   ├── huge-pants-march.md
│   ├── hungry-beers-slide.md
│   ├── kind-humans-retire.md
│   ├── legacy-browser-variant.md
│   ├── legal-jokes-beg.md
│   ├── legal-ties-pull.md
│   ├── loose-trams-look.md
│   ├── mean-owls-brake.md
│   ├── mean-windows-jam.md
│   ├── metal-badgers-refuse.md
│   ├── migrate-to-show.md
│   ├── moody-peaches-stare.md
│   ├── neat-islands-vanish.md
│   ├── nice-showers-search.md
│   ├── ninety-days-dream.md
│   ├── odd-rice-swim.md
│   ├── olive-taxes-turn.md
│   ├── orange-hotels-join.md
│   ├── petite-clubs-grab.md
│   ├── pink-streets-sit.md
│   ├── purple-kiwis-work.md
│   ├── quick-breads-follow.md
│   ├── quick-chairs-fall.md
│   ├── quick-mirrors-eat.md
│   ├── quiet-mirrors-breathe.md
│   ├── README.md
│   ├── remove-deprecated-props.md
│   ├── remove-regenerator-runtime.md
│   ├── rename-appearance-layout-to-options.md
│   ├── rotten-months-repair.md
│   ├── salty-maps-fry.md
│   ├── set-minimum-expo-53.md
│   ├── seven-brooms-wink.md
│   ├── shaggy-jobs-decide.md
│   ├── shaky-books-occur.md
│   ├── show-the-guards.md
│   ├── silent-ducks-wait.md
│   ├── silver-mirrors-repeat.md
│   ├── slimy-guests-leave.md
│   ├── slimy-sheep-kick.md
│   ├── smooth-foxes-jump.md
│   ├── social-eels-camp.md
│   ├── social-items-strive.md
│   ├── some-donkeys-dress.md
│   ├── spicy-terms-learn.md
│   ├── stale-adults-lay.md
│   ├── steady-has-default.md
│   ├── strict-hornets-kneel.md
│   ├── strong-bars-learn.md
│   ├── sweet-singers-beg.md
│   ├── tall-games-design.md
│   ├── tall-snails-dance.md
│   ├── tame-carpets-sink.md
│   ├── tame-suits-try.md
│   ├── tasty-animals-grab.md
│   ├── tasty-coats-tickle.md
│   ├── ten-wolves-attack.md
│   ├── tender-hairs-smash.md
│   ├── thin-eggs-bathe.md
│   ├── thin-ends-punch.md
│   ├── thirty-cherries-pull.md
│   ├── tired-cows-send.md
│   ├── tricky-humans-stand.md
│   ├── twelve-guests-shake.md
│   ├── twenty-rockets-stop.md
│   ├── twenty-snakes-smile.md
│   ├── upset-loops-enjoy.md
│   ├── violet-panthers-think.md
│   ├── weak-wombats-begin.md
│   ├── wild-bees-explode.md
│   ├── wise-ghosts-battle.md
│   ├── wise-olives-drive.md
│   ├── witty-walls-wave.md
│   └── young-areas-divide.md
├── .claude
│   └── settings.json
├── .coderabbit.yaml
├── .cursor
│   ├── commands
│   │   └── cmt.md
│   └── rules
│       ├── clerk-js-ui.mdc
│       ├── clerk-ui-theming.mdc
│       ├── development.mdc
│       ├── global.mdc
│       ├── monorepo.mdc
│       ├── nextjs.mdc
│       ├── react.mdc
│       └── typescript.mdc
├── .cursorignore
├── .dockerignore
├── .editorconfig
├── .geminiignore
├── .github
│   ├── .cache-version
│   ├── actions
│   │   ├── ensure-stable-pr
│   │   │   └── action.yml
│   │   ├── init
│   │   │   └── action.yml
│   │   ├── init-blacksmith
│   │   │   └── action.yml
│   │   ├── verdaccio
│   │   │   └── action.yml
│   │   └── version-prepatch
│   │       └── action.yml
│   ├── ISSUE_TEMPLATE
│   │   ├── BUG_REPORT.yml
│   │   └── config.yml
│   ├── labeler.yml
│   ├── PULL_REQUEST_TEMPLATE.md
│   └── workflows
│       ├── ci.yml
│       ├── e2e-cleanups.yml
│       ├── labeler.yml
│       ├── lock-threads.yml
│       ├── major-version-check.yml
│       ├── nightly-checks.yml
│       ├── pr-title-linter.yml
│       ├── preview.yml
│       ├── release-canary.yml
│       ├── release-snapshot.yml
│       ├── release.yml
│       └── validate-renovate-config.yml
├── .gitignore
├── .husky
│   └── pre-commit
├── .jit
│   └── config.yml
├── .lintstagedrc.json
├── .npmrc
├── .nvmrc
├── .prettierignore
├── .typedoc
│   ├── __tests__
│   │   └── file-structure.test.ts
│   ├── custom-plugin.mjs
│   ├── custom-router.mjs
│   ├── custom-theme.mjs
│   ├── extract-returns-and-params.mjs
│   ├── README.md
│   ├── tsconfig.json
│   └── typedoc-prettier-config.json
├── .vscode
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── commitlint.config.ts
├── docs
│   ├── CICD.md
│   ├── CODE_OF_CONDUCT.md
│   ├── CONTRIBUTING.md
│   ├── PUBLISH.md
│   └── SECURITY.md
├── eslint.config.mjs
├── integration
│   ├── .env.local.sample
│   ├── .keys.json.sample
│   ├── certs
│   │   └── README.md
│   ├── cleanup
│   │   └── cleanup.setup.ts
│   ├── constants.ts
│   ├── deployments
│   │   └── vercel.test.ts
│   ├── models
│   │   ├── application.ts
│   │   ├── applicationConfig.ts
│   │   ├── deployment.ts
│   │   ├── environment.ts
│   │   ├── helpers.ts
│   │   ├── longRunningApplication.ts
│   │   └── stateFile.ts
│   ├── playwright.cleanup.config.ts
│   ├── playwright.config.ts
│   ├── playwright.deployments.config.ts
│   ├── presets
│   │   ├── astro.ts
│   │   ├── custom-flows.ts
│   │   ├── envs.ts
│   │   ├── expo.ts
│   │   ├── express.ts
│   │   ├── index.ts
│   │   ├── longRunningApps.ts
│   │   ├── next.ts
│   │   ├── nuxt.ts
│   │   ├── react-router.ts
│   │   ├── react.ts
│   │   ├── tanstack.ts
│   │   ├── utils.ts
│   │   └── vue.ts
│   ├── README.md
│   ├── scripts
│   │   ├── awaitableTreekill.ts
│   │   ├── clerkJsServer.ts
│   │   ├── clerkUiServer.ts
│   │   ├── httpServer.ts
│   │   ├── index.ts
│   │   ├── logger.ts
│   │   ├── proxyServer.ts
│   │   ├── range.ts
│   │   ├── run.ts
│   │   ├── setup.ts
│   │   ├── waitForIdleProcess.ts
│   │   └── waitForServer.ts
│   ├── templates
│   │   ├── astro-hybrid
│   │   │   ├── .gitignore
│   │   │   ├── astro.config.mjs
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.svg
│   │   │   ├── src
│   │   │   │   ├── layouts
│   │   │   │   │   └── Layout.astro
│   │   │   │   ├── middleware.ts
│   │   │   │   └── pages
│   │   │   │       ├── index.astro
│   │   │   │       ├── only-admins.astro
│   │   │   │       ├── only-members.astro
│   │   │   │       └── ssr.astro
│   │   │   └── tsconfig.json
│   │   ├── astro-node
│   │   │   ├── .gitignore
│   │   │   ├── astro.config.mjs
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── components
│   │   │   │   │   ├── Card.astro
│   │   │   │   │   ├── CustomUserButton.astro
│   │   │   │   │   ├── LanguagePicker.tsx
│   │   │   │   │   ├── page-with-user.tsx
│   │   │   │   │   ├── SignOutReact.tsx
│   │   │   │   │   └── StreamUser.astro
│   │   │   │   ├── env.d.ts
│   │   │   │   ├── layouts
│   │   │   │   │   ├── Layout.astro
│   │   │   │   │   ├── react
│   │   │   │   │   │   └── Layout.astro
│   │   │   │   │   ├── Streaming.astro
│   │   │   │   │   └── ViewTransitionsLayout.astro
│   │   │   │   ├── middleware.ts
│   │   │   │   └── pages
│   │   │   │       ├── api
│   │   │   │       │   ├── auth
│   │   │   │       │   │   └── me.ts
│   │   │   │       │   └── protected
│   │   │   │       │       ├── current-org.ts
│   │   │   │       │       └── only-admin.ts
│   │   │   │       ├── billing
│   │   │   │       │   ├── checkout-btn.astro
│   │   │   │       │   ├── plan-details-btn.astro
│   │   │   │       │   └── subscription-details-btn.astro
│   │   │   │       ├── buttons.astro
│   │   │   │       ├── custom-pages
│   │   │   │       │   ├── organization-profile.astro
│   │   │   │       │   └── user-profile.astro
│   │   │   │       ├── discover.astro
│   │   │   │       ├── index.astro
│   │   │   │       ├── only-admins.astro
│   │   │   │       ├── only-members.astro
│   │   │   │       ├── organization.astro
│   │   │   │       ├── pricing-table.astro
│   │   │   │       ├── react
│   │   │   │       │   ├── index.astro
│   │   │   │       │   ├── only-admins.astro
│   │   │   │       │   ├── only-members.astro
│   │   │   │       │   ├── sign-in.astro
│   │   │   │       │   └── user.astro
│   │   │   │       ├── server-islands.astro
│   │   │   │       ├── sign-in.astro
│   │   │   │       ├── transitions
│   │   │   │       │   ├── index.astro
│   │   │   │       │   └── sign-in.astro
│   │   │   │       ├── user.astro
│   │   │   │       └── utility.astro
│   │   │   ├── tailwind.config.cjs
│   │   │   └── tsconfig.json
│   │   ├── custom-flows-react-vite
│   │   │   ├── .gitignore
│   │   │   ├── components.json
│   │   │   ├── eslint.config.js
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── src
│   │   │   │   ├── components
│   │   │   │   │   └── ui
│   │   │   │   │       ├── button.tsx
│   │   │   │   │       ├── card.tsx
│   │   │   │   │       ├── input.tsx
│   │   │   │   │       └── label.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── lib
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── main.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── Home.tsx
│   │   │   │   │   ├── Protected.tsx
│   │   │   │   │   ├── SignIn.tsx
│   │   │   │   │   ├── SignUp.tsx
│   │   │   │   │   └── Waitlist.tsx
│   │   │   │   └── vite-env.d.ts
│   │   │   ├── tsconfig.app.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── expo-web
│   │   │   ├── .gitignore
│   │   │   ├── app
│   │   │   │   ├── _layout.tsx
│   │   │   │   ├── +html.tsx
│   │   │   │   ├── +not-found.tsx
│   │   │   │   ├── custom-sign-in.tsx
│   │   │   │   ├── custom-sign-up.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   └── sign-in.tsx
│   │   │   ├── app.json
│   │   │   ├── assets
│   │   │   │   └── images
│   │   │   │       ├── icon.png
│   │   │   │       └── splash.png
│   │   │   ├── babel.config.js
│   │   │   ├── constants
│   │   │   │   └── Colors.ts
│   │   │   ├── metro.config.js
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   └── tsconfig.json
│   │   ├── express-vite
│   │   │   ├── .gitignore
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── src
│   │   │   │   ├── client
│   │   │   │   │   ├── main.ts
│   │   │   │   │   ├── tsconfig.json
│   │   │   │   │   └── vite-env.d.ts
│   │   │   │   └── server
│   │   │   │       └── main.ts
│   │   │   └── tsconfig.json
│   │   ├── index.ts
│   │   ├── next-app-router
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── next.svg
│   │   │   │   └── vercel.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── (reverification)
│   │   │   │   │   │   ├── action-with-use-reverification
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── actions.ts
│   │   │   │   │   │   ├── button-action.tsx
│   │   │   │   │   │   └── requires-re-verification
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── api
│   │   │   │   │   │   ├── me
│   │   │   │   │   │   │   └── route.ts
│   │   │   │   │   │   └── settings
│   │   │   │   │   │       └── route.ts
│   │   │   │   │   ├── api-keys
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── billing
│   │   │   │   │   │   ├── checkout-btn
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── hooks
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── plan-details-btn
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   └── subscription-details-btn
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── buttons
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── clerk-status
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── client-id.tsx
│   │   │   │   │   ├── create-organization
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── csp
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── hash
│   │   │   │   │   │   └── sign-in
│   │   │   │   │   │       └── [[...page]]
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── jwt-v2-organizations
│   │   │   │   │   │   ├── (tests)
│   │   │   │   │   │   │   ├── conditionals.tsx
│   │   │   │   │   │   │   ├── has-client
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── has-server
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── has-ssr
│   │   │   │   │   │   │   │   ├── client.tsx
│   │   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   │   ├── layout.tsx
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── client-jwt.tsx
│   │   │   │   │   │   └── server-jwt.tsx
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── only-admin
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-list
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-profile
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organization-switcher
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── organizations-by-id
│   │   │   │   │   │   └── [id]
│   │   │   │   │   │       ├── page.tsx
│   │   │   │   │   │       └── settings
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── organizations-by-slug
│   │   │   │   │   │   └── [slug]
│   │   │   │   │   │       ├── page.tsx
│   │   │   │   │   │       └── settings
│   │   │   │   │   │           └── page.tsx
│   │   │   │   │   ├── page-protected
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── personal-account
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── pricing-table
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── protected
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── settings
│   │   │   │   │   │   ├── auth-has
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── auth-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── rcc-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   ├── rsc-protect
│   │   │   │   │   │   │   └── page.tsx
│   │   │   │   │   │   └── useAuth-has
│   │   │   │   │   │       ├── layout.tsx
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-in-or-up
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── switcher
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── user
│   │   │   │   │   │   └── [[...catchall]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── user-avatar
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── user-button
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   └── waitlist
│   │   │   │   │       └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   └── tsconfig.json
│   │   ├── next-app-router-quickstart
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── next.svg
│   │   │   │   └── vercel.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   └── tsconfig.json
│   │   ├── next-app-router-quickstart-v6
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── next.svg
│   │   │   │   └── vercel.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── page.module.css
│   │   │   │   │   └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   └── tsconfig.json
│   │   ├── nuxt-node
│   │   │   ├── app
│   │   │   │   ├── app.vue
│   │   │   │   ├── middleware
│   │   │   │   │   └── auth.global.js
│   │   │   │   └── pages
│   │   │   │       ├── hash
│   │   │   │       │   └── sign-in
│   │   │   │       │       └── [...slug].vue
│   │   │   │       ├── index.vue
│   │   │   │       ├── only-admin.vue
│   │   │   │       ├── pricing-table.vue
│   │   │   │       ├── sign-in
│   │   │   │       │   └── [...slug].vue
│   │   │   │       ├── sign-up
│   │   │   │       │   └── [...slug].vue
│   │   │   │       └── user-profile
│   │   │   │           └── [...slug].vue
│   │   │   ├── nuxt.config.js
│   │   │   ├── package.json
│   │   │   └── server
│   │   │       └── api
│   │   │           └── me.js
│   │   ├── react-cra
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   ├── favicon.ico
│   │   │   │   ├── index.html
│   │   │   │   ├── logo192.png
│   │   │   │   ├── logo512.png
│   │   │   │   ├── manifest.json
│   │   │   │   └── robots.txt
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── index.tsx
│   │   │   │   ├── logo.svg
│   │   │   │   └── react-app-env.d.ts
│   │   │   └── tsconfig.json
│   │   ├── react-router-library
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── vite.svg
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── assets
│   │   │   │   │   └── react.svg
│   │   │   │   ├── index.css
│   │   │   │   ├── main.tsx
│   │   │   │   └── vite-env.d.ts
│   │   │   ├── tsconfig.app.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── react-router-node
│   │   │   ├── .gitignore
│   │   │   ├── app
│   │   │   │   ├── root.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── home.tsx
│   │   │   │   │   ├── protected.tsx
│   │   │   │   │   ├── sign-in.tsx
│   │   │   │   │   └── sign-up.tsx
│   │   │   │   └── routes.ts
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── favicon.ico
│   │   │   ├── react-router.config.ts
│   │   │   ├── README.md
│   │   │   ├── tsconfig.json
│   │   │   └── vite.config.ts
│   │   ├── react-vite
│   │   │   ├── .gitignore
│   │   │   ├── index.html
│   │   │   ├── package.json
│   │   │   ├── public
│   │   │   │   └── vite.svg
│   │   │   ├── src
│   │   │   │   ├── App.css
│   │   │   │   ├── App.tsx
│   │   │   │   ├── assets
│   │   │   │   │   └── react.svg
│   │   │   │   ├── buttons
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── clerk-status
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── client-id.tsx
│   │   │   │   ├── create-organization
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── custom-user-button
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── with-dynamic-items.tsx
│   │   │   │   │   ├── with-dynamic-label-and-custom-pages.tsx
│   │   │   │   │   └── with-dynamic-labels.tsx
│   │   │   │   ├── custom-user-button-trigger
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── custom-user-profile
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── index.css
│   │   │   │   ├── main.tsx
│   │   │   │   ├── organization-list
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── organization-profile
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── organization-switcher
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── PageContext.tsx
│   │   │   │   ├── protected
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user-avatar
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── user-button
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── vite-env.d.ts
│   │   │   │   └── waitlist
│   │   │   │       └── index.tsx
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── tanstack-react-start
│   │   │   ├── .gitignore
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── router.tsx
│   │   │   │   ├── routes
│   │   │   │   │   ├── __root.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── sign-in.$.tsx
│   │   │   │   │   └── user.tsx
│   │   │   │   ├── routeTree.gen.ts
│   │   │   │   ├── start.ts
│   │   │   │   └── styles
│   │   │   │       └── app.css
│   │   │   ├── tsconfig.json
│   │   │   └── vite.config.ts
│   │   └── vue-vite
│   │       ├── .gitignore
│   │       ├── index.html
│   │       ├── package.json
│   │       ├── public
│   │       │   └── vite.svg
│   │       ├── src
│   │       │   ├── App.vue
│   │       │   ├── assets
│   │       │   │   └── styles.css
│   │       │   ├── components
│   │       │   │   ├── CustomUserButton.vue
│   │       │   │   └── LanguagePicker.vue
│   │       │   ├── main.ts
│   │       │   ├── router.ts
│   │       │   ├── views
│   │       │   │   ├── Admin.vue
│   │       │   │   ├── billing
│   │       │   │   │   ├── CheckoutBtn.vue
│   │       │   │   │   ├── PlanDetailsBtn.vue
│   │       │   │   │   └── SubscriptionDetailsBtn.vue
│   │       │   │   ├── custom-pages
│   │       │   │   │   ├── OrganizationProfile.vue
│   │       │   │   │   └── UserProfile.vue
│   │       │   │   ├── Home.vue
│   │       │   │   ├── PricingTable.vue
│   │       │   │   ├── Profile.vue
│   │       │   │   ├── SignIn.vue
│   │       │   │   ├── Unstyled.vue
│   │       │   │   └── UserAvatar.vue
│   │       │   └── vite-env.d.ts
│   │       ├── tsconfig.app.json
│   │       ├── tsconfig.json
│   │       ├── tsconfig.node.json
│   │       └── vite.config.ts
│   ├── tests
│   │   ├── appearance.test.ts
│   │   ├── astro
│   │   │   ├── components.test.ts
│   │   │   ├── hybrid.test.ts
│   │   │   └── machine.test.ts
│   │   ├── billing-hooks.test.ts
│   │   ├── client-trust.test.ts
│   │   ├── components.test.ts
│   │   ├── content-security-policy.test.ts
│   │   ├── custom-flows
│   │   │   ├── sign-in.test.ts
│   │   │   ├── sign-up.test.ts
│   │   │   └── waitlist.test.ts
│   │   ├── custom-pages.test.ts
│   │   ├── db-jwt.test.ts
│   │   ├── dynamic-keys.test.ts
│   │   ├── email-code.test.ts
│   │   ├── email-link.test.ts
│   │   ├── expo-web
│   │   │   ├── basic.test.ts
│   │   │   └── custom-flows.test.ts
│   │   ├── express
│   │   │   └── basic.test.ts
│   │   ├── global.setup.ts
│   │   ├── global.teardown.ts
│   │   ├── handshake
│   │   │   └── handshake.test.ts
│   │   ├── handshake.test.ts
│   │   ├── impersonation-flow.test.ts
│   │   ├── last-authentication-strategy.test.ts
│   │   ├── legal-consent.test.ts
│   │   ├── localhost
│   │   │   ├── localhost-different-port-different-instance.test.ts
│   │   │   ├── localhost-different-port-same-instance.test.ts
│   │   │   └── localhost-switch-instance.test.ts
│   │   ├── machine-auth
│   │   │   ├── api-keys.test.ts
│   │   │   ├── component.test.ts
│   │   │   ├── m2m.test.ts
│   │   │   └── oauth.test.ts
│   │   ├── middleware-placement.test.ts
│   │   ├── navigation.test.ts
│   │   ├── next-account-portal
│   │   │   ├── clerk-ap-core-3-v6.test.ts
│   │   │   ├── clerk-ap-core-3-v7.test.ts
│   │   │   └── common.ts
│   │   ├── next-build.test.ts
│   │   ├── next-quickstart-keyless.test.ts
│   │   ├── next-quickstart.test.ts
│   │   ├── non-secure-context.test.ts
│   │   ├── nuxt
│   │   │   ├── basic.test.ts
│   │   │   ├── middleware.test.ts
│   │   │   └── navigation.test.ts
│   │   ├── oauth-flows.test.ts
│   │   ├── pricing-table.test.ts
│   │   ├── protect-jwt-v2.test.ts
│   │   ├── protect-service.test.ts
│   │   ├── protect.test.ts
│   │   ├── react-router
│   │   │   ├── basic.test.ts
│   │   │   ├── library-mode.test.ts
│   │   │   └── pre-middleware.test.ts
│   │   ├── redirects.test.ts
│   │   ├── resiliency.test.ts
│   │   ├── restricted-mode.test.ts
│   │   ├── reverification.test.ts
│   │   ├── session-tasks-eject-flow.test.ts
│   │   ├── session-tasks-multi-session.test.ts
│   │   ├── session-tasks-sign-in-reset-password.test.ts
│   │   ├── session-tasks-sign-in.test.ts
│   │   ├── session-tasks-sign-up.test.ts
│   │   ├── session-token-cache
│   │   │   ├── multi-session.test.ts
│   │   │   └── single-session.test.ts
│   │   ├── sessions
│   │   │   ├── root-subdomain-prod-instances.test.ts
│   │   │   └── utils.ts
│   │   ├── sign-in-flow.test.ts
│   │   ├── sign-in-or-up-component.test.ts
│   │   ├── sign-in-or-up-email-links-flow.test.ts
│   │   ├── sign-in-or-up-flow.test.ts
│   │   ├── sign-in-or-up-restricted-mode.test.ts
│   │   ├── sign-out-smoke.test.ts
│   │   ├── sign-up-flow.test.ts
│   │   ├── snapshots
│   │   │   └── appearance.test.ts-snapshots
│   │   │       └── appearance-prop-all-clerk-themes-render-1-chrome-darwin.png
│   │   ├── tanstack-start
│   │   │   └── basic.test.ts
│   │   ├── unsafeMetadata.test.ts
│   │   ├── update-props.test.ts
│   │   ├── user-avatar.test.ts
│   │   ├── user-profile.test.ts
│   │   ├── vue
│   │   │   └── components.test.ts
│   │   ├── waitlist-mode.test.ts
│   │   └── whatsapp-phone-code.test.ts
│   ├── testUtils
│   │   ├── emailService.ts
│   │   ├── handshake.ts
│   │   ├── index.ts
│   │   ├── invitationsService.ts
│   │   ├── organizationsService.ts
│   │   ├── phoneUtils.ts
│   │   ├── testAgainstRunningApps.ts
│   │   ├── usersService.ts
│   │   └── waitlistService.ts
│   ├── tsconfig.json
│   └── types.d.ts
├── jest.setup-after-env.ts
├── LICENSE
├── package.json
├── packages
│   ├── agent-toolkit
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ai-sdk
│   │   │   │   ├── adapter.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── langchain
│   │   │   │   ├── adapter.ts
│   │   │   │   └── index.ts
│   │   │   ├── lib
│   │   │   │   ├── clerk-client.ts
│   │   │   │   ├── clerk-tool.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── inject-session-claims.ts
│   │   │   │   ├── tools
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── invitations.ts
│   │   │   │   │   ├── organizations.ts
│   │   │   │   │   └── users.ts
│   │   │   │   ├── types.ts
│   │   │   │   ├── utils.ts
│   │   │   │   └── utilts.test.ts
│   │   │   └── modelcontextprotocol
│   │   │       ├── adapter.ts
│   │   │       ├── index.ts
│   │   │       └── local-server.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   └── tsup.config.ts
│   ├── astro
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── client
│   │   │   └── package.json
│   │   ├── env.d.ts
│   │   ├── hotload
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── react
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── astro-components
│   │   │   │   ├── control
│   │   │   │   │   ├── AuthenticateWithRedirectCallback.astro
│   │   │   │   │   ├── BaseClerkControlElement.ts
│   │   │   │   │   ├── Show.astro
│   │   │   │   │   ├── ShowCSR.astro
│   │   │   │   │   └── ShowSSR.astro
│   │   │   │   ├── index.ts
│   │   │   │   ├── interactive
│   │   │   │   │   ├── APIKeys.astro
│   │   │   │   │   ├── CreateOrganization.astro
│   │   │   │   │   ├── CustomProfilePageRenderer.astro
│   │   │   │   │   ├── GoogleOneTap.astro
│   │   │   │   │   ├── InternalUIComponentRenderer.astro
│   │   │   │   │   ├── OrganizationList.astro
│   │   │   │   │   ├── OrganizationProfile
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── OrganizationProfile.astro
│   │   │   │   │   │   ├── OrganizationProfileLink.astro
│   │   │   │   │   │   └── OrganizationProfilePage.astro
│   │   │   │   │   ├── OrganizationSwitcher
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── OrganizationProfileLink.astro
│   │   │   │   │   │   ├── OrganizationProfilePage.astro
│   │   │   │   │   │   └── OrganizationSwitcher.astro
│   │   │   │   │   ├── OrganizationSwitcher.astro
│   │   │   │   │   ├── PricingTable.astro
│   │   │   │   │   ├── SignIn.astro
│   │   │   │   │   ├── SignUp.astro
│   │   │   │   │   ├── UserAvatar.astro
│   │   │   │   │   ├── UserButton
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── MenuItemRenderer.astro
│   │   │   │   │   │   ├── UserButton.astro
│   │   │   │   │   │   ├── UserButtonAction.astro
│   │   │   │   │   │   ├── UserButtonLink.astro
│   │   │   │   │   │   ├── UserButtonMenuItems.astro
│   │   │   │   │   │   └── UserButtonUserProfilePage.astro
│   │   │   │   │   ├── UserProfile
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── UserProfile.astro
│   │   │   │   │   │   ├── UserProfileLink.astro
│   │   │   │   │   │   └── UserProfilePage.astro
│   │   │   │   │   └── Waitlist.astro
│   │   │   │   └── unstyled
│   │   │   │       ├── CheckoutButton.astro
│   │   │   │       ├── PlanDetailsButton.astro
│   │   │   │       ├── SignInButton.astro
│   │   │   │       ├── SignOutButton.astro
│   │   │   │       ├── SignUpButton.astro
│   │   │   │       ├── SubscriptionDetailsButton.astro
│   │   │   │       └── utils.ts
│   │   │   ├── async-local-storage.client.ts
│   │   │   ├── async-local-storage.server.ts
│   │   │   ├── client
│   │   │   │   └── index.ts
│   │   │   ├── env.d.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── integration
│   │   │   │   ├── create-integration.ts
│   │   │   │   └── vite-plugin-astro-config.ts
│   │   │   ├── internal
│   │   │   │   ├── create-clerk-instance.ts
│   │   │   │   ├── create-injection-script-runner.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── invoke-clerk-astro-js-functions.ts
│   │   │   │   ├── merge-env-vars-with-params.ts
│   │   │   │   ├── mount-clerk-astro-js-components.ts
│   │   │   │   ├── run-once.ts
│   │   │   │   ├── swap-document.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       └── generateSafeId.ts
│   │   │   ├── react
│   │   │   │   ├── CheckoutButton.tsx
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── PlanDetailsButton.tsx
│   │   │   │   ├── SignInButton.tsx
│   │   │   │   ├── SignOutButton.tsx
│   │   │   │   ├── SignUpButton.tsx
│   │   │   │   ├── SubscriptionDetailsButton.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   └── utils.tsx
│   │   │   ├── server
│   │   │   │   ├── build-clerk-hotload-script.ts
│   │   │   │   ├── clerk-client.ts
│   │   │   │   ├── clerk-middleware.ts
│   │   │   │   ├── current-user.ts
│   │   │   │   ├── get-safe-env.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── route-matcher.ts
│   │   │   │   ├── server-redirect-with-auth.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── stores
│   │   │   │   ├── external.ts
│   │   │   │   └── internal.ts
│   │   │   ├── types.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   └── webhooks
│   │       └── package.json
│   ├── backend
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── jwt
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── createRedirect.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   └── webhooks.test.ts
│   │   │   ├── api
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── APIKeysApi.test.ts
│   │   │   │   │   ├── ClientApi.test.ts
│   │   │   │   │   ├── factory.test.ts
│   │   │   │   │   ├── M2MTokenApi.test.ts
│   │   │   │   │   ├── MachineApi.test.ts
│   │   │   │   │   ├── SamlConnectionApi.test.ts
│   │   │   │   │   └── SessionApi.test.ts
│   │   │   │   ├── endpoints
│   │   │   │   │   ├── AbstractApi.ts
│   │   │   │   │   ├── AccountlessApplicationsAPI.ts
│   │   │   │   │   ├── ActorTokenApi.ts
│   │   │   │   │   ├── AllowlistIdentifierApi.ts
│   │   │   │   │   ├── APIKeysApi.ts
│   │   │   │   │   ├── BetaFeaturesApi.ts
│   │   │   │   │   ├── BillingApi.ts
│   │   │   │   │   ├── BlocklistIdentifierApi.ts
│   │   │   │   │   ├── ClientApi.ts
│   │   │   │   │   ├── DomainApi.ts
│   │   │   │   │   ├── EmailAddressApi.ts
│   │   │   │   │   ├── IdPOAuthAccessTokenApi.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── InstanceApi.ts
│   │   │   │   │   ├── InvitationApi.ts
│   │   │   │   │   ├── JwksApi.ts
│   │   │   │   │   ├── JwtTemplatesApi.ts
│   │   │   │   │   ├── M2MTokenApi.ts
│   │   │   │   │   ├── MachineApi.ts
│   │   │   │   │   ├── OAuthApplicationsApi.ts
│   │   │   │   │   ├── OrganizationApi.ts
│   │   │   │   │   ├── PhoneNumberApi.ts
│   │   │   │   │   ├── ProxyCheckApi.ts
│   │   │   │   │   ├── RedirectUrlApi.ts
│   │   │   │   │   ├── SamlConnectionApi.ts
│   │   │   │   │   ├── SessionApi.ts
│   │   │   │   │   ├── SignInTokenApi.ts
│   │   │   │   │   ├── SignUpApi.ts
│   │   │   │   │   ├── TestingTokenApi.ts
│   │   │   │   │   ├── UserApi.ts
│   │   │   │   │   ├── util-types.ts
│   │   │   │   │   ├── WaitlistEntryApi.ts
│   │   │   │   │   └── WebhookApi.ts
│   │   │   │   ├── factory.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── request.ts
│   │   │   │   └── resources
│   │   │   │       ├── AccountlessApplication.ts
│   │   │   │       ├── ActorToken.ts
│   │   │   │       ├── AllowlistIdentifier.ts
│   │   │   │       ├── APIKey.ts
│   │   │   │       ├── BlocklistIdentifier.ts
│   │   │   │       ├── Client.ts
│   │   │   │       ├── CnameTarget.ts
│   │   │   │       ├── CommercePlan.ts
│   │   │   │       ├── CommerceSubscription.ts
│   │   │   │       ├── CommerceSubscriptionItem.ts
│   │   │   │       ├── Cookies.ts
│   │   │   │       ├── DeletedObject.ts
│   │   │   │       ├── Deserializer.ts
│   │   │   │       ├── Domain.ts
│   │   │   │       ├── Email.ts
│   │   │   │       ├── EmailAddress.ts
│   │   │   │       ├── Enums.ts
│   │   │   │       ├── ExternalAccount.ts
│   │   │   │       ├── Feature.ts
│   │   │   │       ├── HandshakePayload.ts
│   │   │   │       ├── IdentificationLink.ts
│   │   │   │       ├── IdPOAuthAccessToken.ts
│   │   │   │       ├── index.ts
│   │   │   │       ├── Instance.ts
│   │   │   │       ├── InstanceRestrictions.ts
│   │   │   │       ├── InstanceSettings.ts
│   │   │   │       ├── Invitation.ts
│   │   │   │       ├── JSON.ts
│   │   │   │       ├── JwtTemplate.ts
│   │   │   │       ├── M2MToken.ts
│   │   │   │       ├── Machine.ts
│   │   │   │       ├── MachineScope.ts
│   │   │   │       ├── MachineSecretKey.ts
│   │   │   │       ├── OauthAccessToken.ts
│   │   │   │       ├── OAuthApplication.ts
│   │   │   │       ├── Organization.ts
│   │   │   │       ├── OrganizationDomain.ts
│   │   │   │       ├── OrganizationInvitation.ts
│   │   │   │       ├── OrganizationMembership.ts
│   │   │   │       ├── OrganizationSettings.ts
│   │   │   │       ├── PhoneNumber.ts
│   │   │   │       ├── ProxyCheck.ts
│   │   │   │       ├── RedirectUrl.ts
│   │   │   │       ├── SamlConnection.ts
│   │   │   │       ├── Session.ts
│   │   │   │       ├── SignInTokens.ts
│   │   │   │       ├── SignUpAttempt.ts
│   │   │   │       ├── SMSMessage.ts
│   │   │   │       ├── TestingToken.ts
│   │   │   │       ├── Token.ts
│   │   │   │       ├── User.ts
│   │   │   │       ├── Verification.ts
│   │   │   │       ├── WaitlistEntry.ts
│   │   │   │       ├── Web3Wallet.ts
│   │   │   │       └── Webhooks.ts
│   │   │   ├── constants.ts
│   │   │   ├── createRedirect.ts
│   │   │   ├── errors.ts
│   │   │   ├── fixtures
│   │   │   │   ├── index.ts
│   │   │   │   ├── jwks.json
│   │   │   │   ├── machine.ts
│   │   │   │   └── user.json
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── jwt
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── assertions.test.ts
│   │   │   │   │   ├── cryptoKeys.test.ts
│   │   │   │   │   ├── signJwt.test.ts
│   │   │   │   │   └── verifyJwt.test.ts
│   │   │   │   ├── algorithms.ts
│   │   │   │   ├── assertions.ts
│   │   │   │   ├── cryptoKeys.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legacyReturn.ts
│   │   │   │   ├── signJwt.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── verifyJwt.ts
│   │   │   ├── mock-server.ts
│   │   │   ├── runtime
│   │   │   │   ├── browser
│   │   │   │   │   └── crypto.mjs
│   │   │   │   └── node
│   │   │   │       ├── crypto.js
│   │   │   │       └── crypto.mjs
│   │   │   ├── runtime.ts
│   │   │   ├── tokens
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── authenticateContext.test.ts
│   │   │   │   │   ├── authObjects.test.ts
│   │   │   │   │   ├── authStatus.test.ts
│   │   │   │   │   ├── clerkRequest.test.ts
│   │   │   │   │   ├── factory.test.ts
│   │   │   │   │   ├── getAuth.test-d.ts
│   │   │   │   │   ├── handshake.test.ts
│   │   │   │   │   ├── keys.test.ts
│   │   │   │   │   ├── machine.test.ts
│   │   │   │   │   ├── organizationMatcher.test.ts
│   │   │   │   │   ├── request.test-d.ts
│   │   │   │   │   ├── request.test.ts
│   │   │   │   │   └── verify.test.ts
│   │   │   │   ├── authenticateContext.ts
│   │   │   │   ├── authObjects.ts
│   │   │   │   ├── authStatus.ts
│   │   │   │   ├── clerkRequest.ts
│   │   │   │   ├── clerkUrl.ts
│   │   │   │   ├── cookie.ts
│   │   │   │   ├── factory.ts
│   │   │   │   ├── handshake.ts
│   │   │   │   ├── keys.ts
│   │   │   │   ├── machine.ts
│   │   │   │   ├── organizationMatcher.ts
│   │   │   │   ├── request.ts
│   │   │   │   ├── tokenTypes.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── verify.ts
│   │   │   ├── util
│   │   │   │   ├── __tests__
│   │   │   │   │   └── path.test.ts
│   │   │   │   ├── decorateObjectWithResources.ts
│   │   │   │   ├── mergePreDefinedOptions.ts
│   │   │   │   ├── optionsAssertions.ts
│   │   │   │   ├── path.ts
│   │   │   │   ├── rfc4648.ts
│   │   │   │   └── shared.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── chrome-extension
│   │   ├── .gitignore
│   │   ├── background
│   │   │   └── package.json
│   │   ├── CHANGELOG.md
│   │   ├── docs
│   │   │   ├── clerk-provider.md
│   │   │   ├── manifest.md
│   │   │   └── service-worker.md
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── react
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── background
│   │   │   │   ├── clerk.ts
│   │   │   │   └── index.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   ├── cookies.test.ts
│   │   │   │       │   ├── manifest.test.ts
│   │   │   │       │   └── storage.test.ts
│   │   │   │       ├── cookies.ts
│   │   │   │       ├── errors.ts
│   │   │   │       ├── jwt-handler.ts
│   │   │   │       ├── manifest.ts
│   │   │   │       ├── request-handler.ts
│   │   │   │       ├── response-handler.ts
│   │   │   │       └── storage.ts
│   │   │   ├── react
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── NotSupported.tsx
│   │   │   │   └── re-exports.ts
│   │   │   └── types.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── clerk-js
│   │   ├── .gitignore
│   │   ├── bundle-check.mjs
│   │   ├── bundlewatch-fix.mjs
│   │   ├── bundlewatch.config.json
│   │   ├── CHANGELOG.md
│   │   ├── clerk.png
│   │   ├── docs
│   │   │   └── events.md
│   │   ├── headless
│   │   │   ├── index.d.ts
│   │   │   └── index.js
│   │   ├── LICENSE
│   │   ├── no-rhc
│   │   │   ├── index.d.ts
│   │   │   └── index.js
│   │   ├── package.json
│   │   ├── playwright.config.ts
│   │   ├── README.md
│   │   ├── rspack.config.js
│   │   ├── sandbox
│   │   │   ├── app.ts
│   │   │   ├── integration
│   │   │   │   ├── create-organization.spec.ts
│   │   │   │   ├── create-organization.spec.ts-snapshots
│   │   │   │   │   └── create-organization-chromium-darwin.png
│   │   │   │   ├── global.setup.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   ├── oauth-consent.spec.ts
│   │   │   │   ├── oauth-consent.spec.ts-snapshots
│   │   │   │   │   └── oauth-consent-chromium-darwin.png
│   │   │   │   ├── org-switcher.spec.ts
│   │   │   │   ├── org-switcher.spec.ts-snapshots
│   │   │   │   │   ├── organization-switcher-action-hover-chromium-darwin.png
│   │   │   │   │   └── organization-switcher-popover-chromium-darwin.png
│   │   │   │   ├── organization-list.spec.ts
│   │   │   │   ├── organization-list.spec.ts-snapshots
│   │   │   │   │   └── organization-list-chromium-darwin.png
│   │   │   │   ├── sign-in-modal.spec.ts
│   │   │   │   ├── sign-in-modal.spec.ts-snapshots
│   │   │   │   │   └── sign-in-modal-chromium-darwin.png
│   │   │   │   ├── sign-in.spec.ts
│   │   │   │   ├── sign-in.spec.ts-snapshots
│   │   │   │   │   ├── sign-in-action-link-hover-chromium-darwin.png
│   │   │   │   │   ├── sign-in-chromium-darwin.png
│   │   │   │   │   ├── sign-in-primary-button-hover-chromium-darwin.png
│   │   │   │   │   └── sign-in-secondary-button-hover-chromium-darwin.png
│   │   │   │   ├── sign-up.spec.ts
│   │   │   │   ├── sign-up.spec.ts-snapshots
│   │   │   │   │   └── sign-up-chromium-darwin.png
│   │   │   │   ├── user-button.spec.ts
│   │   │   │   ├── user-button.spec.ts-snapshots
│   │   │   │   │   └── user-button-popover-chromium-darwin.png
│   │   │   │   ├── user-profile.spec.ts
│   │   │   │   └── user-profile.spec.ts-snapshots
│   │   │   │       └── user-profile-chromium-darwin.png
│   │   │   ├── public
│   │   │   │   └── mockServiceWorker.js
│   │   │   ├── README.md
│   │   │   ├── scenarios
│   │   │   │   ├── index.ts
│   │   │   │   └── user-button-signed-in.ts
│   │   │   └── template.html
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   └── headless.test.ts
│   │   │   ├── core
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── clerk.redirects.test.ts
│   │   │   │   │   ├── clerk.test.ts
│   │   │   │   │   ├── fapiClient.test.ts
│   │   │   │   │   ├── signals.test.ts
│   │   │   │   │   └── tokenCache.test.ts
│   │   │   │   ├── auth
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── cookieSuffix.test.ts
│   │   │   │   │   │   ├── devBrowser.test.ts
│   │   │   │   │   │   ├── getCookieDomain.test.ts
│   │   │   │   │   │   └── getSecureAttribute.test.ts
│   │   │   │   │   ├── AuthCookieService.ts
│   │   │   │   │   ├── CaptchaHeartbeat.ts
│   │   │   │   │   ├── cookies
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   ├── clientUat.test.ts
│   │   │   │   │   │   │   └── session.test.ts
│   │   │   │   │   │   ├── activeContext.ts
│   │   │   │   │   │   ├── clientUat.ts
│   │   │   │   │   │   ├── devBrowser.ts
│   │   │   │   │   │   └── session.ts
│   │   │   │   │   ├── cookieSuffix.ts
│   │   │   │   │   ├── devBrowser.ts
│   │   │   │   │   ├── getCookieDomain.ts
│   │   │   │   │   ├── getSecureAttribute.ts
│   │   │   │   │   ├── safeLock.ts
│   │   │   │   │   └── SessionCookiePoller.ts
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── events.ts
│   │   │   │   ├── fapiClient.ts
│   │   │   │   ├── fraudProtection.test.ts
│   │   │   │   ├── fraudProtection.ts
│   │   │   │   ├── jwt-client.ts
│   │   │   │   ├── modules
│   │   │   │   │   ├── apiKeys
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── billing
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── namespace.ts
│   │   │   │   │   │   └── payment-source-methods.ts
│   │   │   │   │   ├── checkout
│   │   │   │   │   │   └── instance.ts
│   │   │   │   │   └── debug
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   └── logger.test.ts
│   │   │   │   │       ├── index.ts
│   │   │   │   │       ├── logger.ts
│   │   │   │   │       ├── transports
│   │   │   │   │       │   ├── __tests__
│   │   │   │   │       │   │   └── telemetry.test.ts
│   │   │   │   │       │   ├── composite.ts
│   │   │   │   │       │   ├── console.ts
│   │   │   │   │       │   └── telemetry.ts
│   │   │   │   │       └── types.ts
│   │   │   │   ├── protect.ts
│   │   │   │   ├── query-core.ts
│   │   │   │   ├── resources
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── AuthConfig.test.ts
│   │   │   │   │   │   ├── Base.test.ts
│   │   │   │   │   │   ├── Client.test.ts
│   │   │   │   │   │   ├── Environment.test.ts
│   │   │   │   │   │   ├── ExternalAccount.test.ts
│   │   │   │   │   │   ├── Image.test.ts
│   │   │   │   │   │   ├── Organization.test.ts
│   │   │   │   │   │   ├── OrganizationDomain.test.ts
│   │   │   │   │   │   ├── OrganizationInvitation.test.ts
│   │   │   │   │   │   ├── OrganizationMembership.test.ts
│   │   │   │   │   │   ├── OrganizationMembershipRequest.test.ts
│   │   │   │   │   │   ├── OrganizationSuggestion.test.ts
│   │   │   │   │   │   ├── PublicUserData.test.ts
│   │   │   │   │   │   ├── Session.test.ts
│   │   │   │   │   │   ├── SignIn.test.ts
│   │   │   │   │   │   ├── SignUp.test.ts
│   │   │   │   │   │   ├── Token.test.ts
│   │   │   │   │   │   ├── User.test.ts
│   │   │   │   │   │   ├── UserSettings.test.ts
│   │   │   │   │   │   ├── Waitlist.test.ts
│   │   │   │   │   │   └── Web3Wallet.test.ts
│   │   │   │   │   ├── APIKey.ts
│   │   │   │   │   ├── APIKeySettings.ts
│   │   │   │   │   ├── AuthConfig.ts
│   │   │   │   │   ├── BackupCode.ts
│   │   │   │   │   ├── Base.ts
│   │   │   │   │   ├── BillingCheckout.ts
│   │   │   │   │   ├── BillingPayer.ts
│   │   │   │   │   ├── BillingPayment.ts
│   │   │   │   │   ├── BillingPaymentMethod.ts
│   │   │   │   │   ├── BillingPlan.ts
│   │   │   │   │   ├── BillingStatement.ts
│   │   │   │   │   ├── BillingSubscription.ts
│   │   │   │   │   ├── Client.ts
│   │   │   │   │   ├── CommerceSettings.ts
│   │   │   │   │   ├── DeletedObject.ts
│   │   │   │   │   ├── DisplayConfig.ts
│   │   │   │   │   ├── EmailAddress.ts
│   │   │   │   │   ├── EnterpriseAccount.ts
│   │   │   │   │   ├── Environment.ts
│   │   │   │   │   ├── ExternalAccount.ts
│   │   │   │   │   ├── Feature.ts
│   │   │   │   │   ├── IdentificationLink.ts
│   │   │   │   │   ├── Image.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── internal.ts
│   │   │   │   │   ├── Organization.ts
│   │   │   │   │   ├── OrganizationDomain.ts
│   │   │   │   │   ├── OrganizationInvitation.ts
│   │   │   │   │   ├── OrganizationMembership.ts
│   │   │   │   │   ├── OrganizationMembershipRequest.ts
│   │   │   │   │   ├── OrganizationSettings.ts
│   │   │   │   │   ├── OrganizationSuggestion.ts
│   │   │   │   │   ├── Passkey.ts
│   │   │   │   │   ├── Permission.ts
│   │   │   │   │   ├── PhoneNumber.ts
│   │   │   │   │   ├── ProtectConfig.ts
│   │   │   │   │   ├── PublicUserData.ts
│   │   │   │   │   ├── Role.ts
│   │   │   │   │   ├── Session.ts
│   │   │   │   │   ├── SessionVerification.ts
│   │   │   │   │   ├── SessionWithActivities.ts
│   │   │   │   │   ├── SignIn.ts
│   │   │   │   │   ├── SignUp.ts
│   │   │   │   │   ├── Token.ts
│   │   │   │   │   ├── TOTP.ts
│   │   │   │   │   ├── User.ts
│   │   │   │   │   ├── UserData.ts
│   │   │   │   │   ├── UserOrganizationInvitation.ts
│   │   │   │   │   ├── UserSettings.ts
│   │   │   │   │   ├── Verification.ts
│   │   │   │   │   ├── Waitlist.ts
│   │   │   │   │   └── Web3Wallet.ts
│   │   │   │   ├── signals.ts
│   │   │   │   ├── state.ts
│   │   │   │   ├── tokenCache.ts
│   │   │   │   └── warnings.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.browser.ts
│   │   │   ├── index.headless.browser.ts
│   │   │   ├── index.headless.ts
│   │   │   ├── index.legacy.browser.ts
│   │   │   ├── index.ts
│   │   │   ├── test
│   │   │   │   ├── core-fixtures.ts
│   │   │   │   ├── create-fixtures.tsx
│   │   │   │   ├── fixture-helpers.ts
│   │   │   │   ├── fixtures.ts
│   │   │   │   ├── mock-helpers.ts
│   │   │   │   └── utils.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── captcha.test.ts
│   │   │       │   ├── date.test.ts
│   │   │       │   ├── errors.test.ts
│   │   │       │   ├── filterUndefinedValues.test.ts
│   │   │       │   ├── ignoreEventValue.test.ts
│   │   │       │   ├── instance.test.ts
│   │   │       │   ├── jwt.test.ts
│   │   │       │   ├── locale.test.ts
│   │   │       │   ├── localStorage.test.ts
│   │   │       │   ├── memoizeStateListenerCallback.test.ts
│   │   │       │   ├── resourceParams.test.ts
│   │   │       │   ├── runAsyncResourceTask.test.ts
│   │   │       │   └── tokenId.test.ts
│   │   │       ├── authenticateWithPopup.ts
│   │   │       ├── beforeUnloadTracker.ts
│   │   │       ├── billing.ts
│   │   │       ├── captcha
│   │   │       │   ├── CaptchaChallenge.ts
│   │   │       │   ├── getCaptchaToken.ts
│   │   │       │   ├── retrieveCaptchaInfo.ts
│   │   │       │   ├── turnstile.ts
│   │   │       │   └── types.ts
│   │   │       ├── convertPageToOffsetSearchParams.ts
│   │   │       ├── date.ts
│   │   │       ├── debug.ts
│   │   │       ├── errors.ts
│   │   │       ├── errorThrower.ts
│   │   │       ├── filterUndefinedValues.ts
│   │   │       ├── ignoreEventValue.ts
│   │   │       ├── index.ts
│   │   │       ├── instance.ts
│   │   │       ├── jwt.ts
│   │   │       ├── locale.ts
│   │   │       ├── localStorage.ts
│   │   │       ├── memoizeStateListenerCallback.ts
│   │   │       ├── moduleManager.ts
│   │   │       ├── pageLifecycle.ts
│   │   │       ├── resourceParams.ts
│   │   │       ├── runAsyncResourceTask.ts
│   │   │       ├── setWebpackChunkPublicPath.ts
│   │   │       ├── tokenId.ts
│   │   │       ├── web3.ts
│   │   │       └── zxcvbn.ts
│   │   ├── svgTransform.js
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.dev.json
│   │   ├── tsconfig.json
│   │   ├── turbo.json
│   │   ├── vercel.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── dev-cli
│   │   ├── bin
│   │   │   └── cli.js
│   │   ├── CHANGELOG.md
│   │   ├── jsconfig.json
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── schema.json
│   │   └── src
│   │       ├── cli.js
│   │       ├── codemods
│   │       │   ├── index.js
│   │       │   └── transforms
│   │       │       └── add-clerkjsurl-to-provider.cjs
│   │       ├── commands
│   │       │   ├── auth.js
│   │       │   ├── config.js
│   │       │   ├── init.js
│   │       │   ├── set-instance.js
│   │       │   ├── set-root.js
│   │       │   ├── setup.js
│   │       │   └── watch.js
│   │       └── utils
│   │           ├── errors.js
│   │           ├── getClerkPackages.js
│   │           ├── getConfiguration.js
│   │           ├── getMonorepoRoot.js
│   │           ├── getPackageJSON.js
│   │           └── getPackageVersion.js
│   ├── expo
│   │   ├── .gitignore
│   │   ├── android
│   │   │   ├── build.gradle
│   │   │   └── src
│   │   │       └── main
│   │   │           ├── AndroidManifest.xml
│   │   │           └── java
│   │   │               └── expo
│   │   │                   └── modules
│   │   │                       └── clerk
│   │   │                           └── googlesignin
│   │   │                               └── ClerkGoogleSignInModule.kt
│   │   ├── app.plugin.js
│   │   ├── CHANGELOG.md
│   │   ├── expo-module.config.json
│   │   ├── ios
│   │   │   ├── ClerkGoogleSignIn.podspec
│   │   │   └── ClerkGoogleSignInModule.swift
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── cache
│   │   │   │   ├── dummy-data
│   │   │   │   │   ├── client-resource.ts
│   │   │   │   │   ├── environment-resource.ts
│   │   │   │   │   └── index.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── MemoryTokenCache.ts
│   │   │   │   ├── ResourceCache.ts
│   │   │   │   └── types.ts
│   │   │   ├── components
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   └── index.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── google-one-tap
│   │   │   │   ├── ClerkGoogleOneTapSignIn.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── hooks
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── useSignInWithApple.test.ts
│   │   │   │   │   └── useSignInWithGoogle.test.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useOAuth.ts
│   │   │   │   ├── useSignInWithApple.ios.ts
│   │   │   │   ├── useSignInWithApple.ts
│   │   │   │   ├── useSignInWithGoogle.android.ts
│   │   │   │   ├── useSignInWithGoogle.ios.ts
│   │   │   │   ├── useSignInWithGoogle.shared.ts
│   │   │   │   ├── useSignInWithGoogle.ts
│   │   │   │   ├── useSignInWithGoogle.types.ts
│   │   │   │   └── useSSO.ts
│   │   │   ├── index.ts
│   │   │   ├── legacy.ts
│   │   │   ├── local-credentials
│   │   │   │   ├── index.tsx
│   │   │   │   └── useLocalCredentials
│   │   │   │       ├── index.tsx
│   │   │   │       ├── shared.ts
│   │   │   │       ├── useLocalCredentials.ts
│   │   │   │       └── useLocalCredentials.web.ts
│   │   │   ├── passkeys
│   │   │   │   └── index.ts
│   │   │   ├── plugin
│   │   │   │   └── withClerkExpo.ts
│   │   │   ├── polyfills
│   │   │   │   ├── base64Polyfill.ts
│   │   │   │   └── index.ts
│   │   │   ├── provider
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   └── singleton
│   │   │   │       ├── createClerkInstance.ts
│   │   │   │       ├── index.ts
│   │   │   │       ├── singleton.ts
│   │   │   │       ├── singleton.web.ts
│   │   │   │       └── types.ts
│   │   │   ├── resource-cache
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── dummy-test-data.ts
│   │   │   │   │   └── secure-store.test.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── resource-cache.ts
│   │   │   ├── secure-store
│   │   │   │   └── index.ts
│   │   │   ├── token-cache
│   │   │   │   └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── errors.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── runtime.ts
│   │   │   └── web
│   │   │       ├── index.ts
│   │   │       └── uiComponents.tsx
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── expo-passkeys
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── android
│   │   │   ├── build.gradle
│   │   │   └── src
│   │   │       └── main
│   │   │           ├── AndroidManifest.xml
│   │   │           └── java
│   │   │               └── expo
│   │   │                   └── modules
│   │   │                       └── clerkexpopasskeys
│   │   │                           ├── ClerkExpoPasskeysExceptions.kt
│   │   │                           ├── ClerkExpoPasskeysModule.kt
│   │   │                           └── CredentialManager.kt
│   │   ├── app.json
│   │   ├── CHANGELOG.md
│   │   ├── expo-module.config.json
│   │   ├── ios
│   │   │   ├── AccountManager.swift
│   │   │   ├── ClerkExpoPasskeys.podspec
│   │   │   ├── ClerkExpoPasskeysModule.swift
│   │   │   └── Helpers.swift
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ClerkExpoPasskeys.types.ts
│   │   │   ├── ClerkExpoPasskeysModule.ts
│   │   │   ├── ClerkExpoPasskeysModule.web.ts
│   │   │   ├── index.ts
│   │   │   └── utils.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── express
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── CHANGELOG.md
│   │   ├── env.d.ts
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   ├── getAuth.test.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   └── requireAuth.test.ts
│   │   │   ├── authenticateRequest.ts
│   │   │   ├── clerkClient.ts
│   │   │   ├── clerkMiddleware.ts
│   │   │   ├── errors.ts
│   │   │   ├── getAuth.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── requireAuth.ts
│   │   │   ├── types.ts
│   │   │   ├── utils.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── fastify
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   ├── clerkClient.test.ts.snap
│   │   │   │   │   ├── constants.test.ts.snap
│   │   │   │   │   ├── exports.test.ts.snap
│   │   │   │   │   └── getAuth.test.ts.snap
│   │   │   │   ├── clerkClient.test.ts
│   │   │   │   ├── clerkPlugin.test.ts
│   │   │   │   ├── constants.test.ts
│   │   │   │   ├── exports.test.ts
│   │   │   │   ├── getAuth.test.ts
│   │   │   │   └── withClerkMiddleware.test.ts
│   │   │   ├── clerkClient.ts
│   │   │   ├── clerkPlugin.ts
│   │   │   ├── constants.ts
│   │   │   ├── errors.ts
│   │   │   ├── getAuth.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── test
│   │   │   │   └── utils.ts
│   │   │   ├── types.ts
│   │   │   ├── utils.ts
│   │   │   ├── webhooks.ts
│   │   │   └── withClerkMiddleware.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── localizations
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── ar-SA.ts
│   │   │   ├── be-BY.ts
│   │   │   ├── bg-BG.ts
│   │   │   ├── bn-IN.ts
│   │   │   ├── ca-ES.ts
│   │   │   ├── cs-CZ.ts
│   │   │   ├── da-DK.ts
│   │   │   ├── de-DE.ts
│   │   │   ├── el-GR.ts
│   │   │   ├── en-GB.ts
│   │   │   ├── en-US.ts
│   │   │   ├── es-CR.ts
│   │   │   ├── es-ES.ts
│   │   │   ├── es-MX.ts
│   │   │   ├── es-UY.ts
│   │   │   ├── fa-IR.ts
│   │   │   ├── fi-FI.ts
│   │   │   ├── fr-FR.ts
│   │   │   ├── he-IL.ts
│   │   │   ├── hi-IN.ts
│   │   │   ├── hr-HR.ts
│   │   │   ├── hu-HU.ts
│   │   │   ├── id-ID.ts
│   │   │   ├── index.ts
│   │   │   ├── is-IS.ts
│   │   │   ├── it-IT.ts
│   │   │   ├── ja-JP.ts
│   │   │   ├── kk-KZ.ts
│   │   │   ├── ko-KR.ts
│   │   │   ├── mn-MN.ts
│   │   │   ├── ms-MY.ts
│   │   │   ├── nb-NO.ts
│   │   │   ├── nl-BE.ts
│   │   │   ├── nl-NL.ts
│   │   │   ├── pl-PL.ts
│   │   │   ├── pt-BR.ts
│   │   │   ├── pt-PT.ts
│   │   │   ├── ro-RO.ts
│   │   │   ├── ru-RU.ts
│   │   │   ├── sk-SK.ts
│   │   │   ├── sr-RS.ts
│   │   │   ├── sv-SE.ts
│   │   │   ├── ta-IN.ts
│   │   │   ├── te-IN.ts
│   │   │   ├── th-TH.ts
│   │   │   ├── tr-TR.ts
│   │   │   ├── uk-UA.ts
│   │   │   ├── utils
│   │   │   │   ├── enUS_v4.ts
│   │   │   │   ├── generate.ts
│   │   │   │   └── utils.ts
│   │   │   ├── vi-VN.ts
│   │   │   ├── zh-CN.ts
│   │   │   └── zh-TW.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── msw
│   │   ├── BillingService.ts
│   │   ├── EnvironmentService.ts
│   │   ├── index.ts
│   │   ├── MockingController.ts
│   │   ├── MockingProvider.tsx
│   │   ├── MockingStatusIndicator.tsx
│   │   ├── OrganizationService.ts
│   │   ├── package.json
│   │   ├── PageMocking.ts
│   │   ├── README.md
│   │   ├── request-handlers.ts
│   │   ├── SessionService.ts
│   │   ├── SignInService.ts
│   │   ├── SignUpService.ts
│   │   ├── tsconfig.json
│   │   ├── types.ts
│   │   ├── usePageMocking.ts
│   │   └── UserService.ts
│   ├── nextjs
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── internal
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.cjs.json
│   │   ├── package.esm.json
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── keyless-custom-headers.test.ts
│   │   │   │   └── webhooks.test.ts
│   │   │   ├── app-router
│   │   │   │   ├── client
│   │   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   │   ├── keyless-cookie-sync.tsx
│   │   │   │   │   ├── keyless-creator-reader.tsx
│   │   │   │   │   ├── useAwaitablePush.ts
│   │   │   │   │   ├── useAwaitableReplace.ts
│   │   │   │   │   └── useInternalNavFun.ts
│   │   │   │   ├── keyless-actions.ts
│   │   │   │   ├── server
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── controlComponents.test-d.ts
│   │   │   │   │   │   └── controlComponents.test.tsx
│   │   │   │   │   ├── auth.ts
│   │   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   │   ├── controlComponents.tsx
│   │   │   │   │   ├── currentUser.ts
│   │   │   │   │   ├── keyless-provider.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   └── server-actions.ts
│   │   │   ├── client-boundary
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── controlComponents.ts
│   │   │   │   ├── hooks
│   │   │   │   │   ├── useEnforceCatchAllRoute.tsx
│   │   │   │   │   ├── useEnforceRoutingProps.tsx
│   │   │   │   │   ├── usePagesRouter.tsx
│   │   │   │   │   ├── usePathnameWithoutCatchAll.tsx
│   │   │   │   │   └── useSafeLayoutEffect.tsx
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── NextOptionsContext.tsx
│   │   │   │   ├── PromisifiedAuthProvider.tsx
│   │   │   │   └── uiComponents.tsx
│   │   │   ├── components.client.ts
│   │   │   ├── components.server.ts
│   │   │   ├── constants.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── legacy.ts
│   │   │   ├── pages
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   │   ├── exports.test.ts
│   │   │   │   │   └── index.test.tsx
│   │   │   │   └── ClerkProvider.tsx
│   │   │   ├── runtime
│   │   │   │   ├── browser
│   │   │   │   │   └── safe-node-apis.js
│   │   │   │   └── node
│   │   │   │       └── safe-node-apis.js
│   │   │   ├── server
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   │   ├── clerkClient.test.ts
│   │   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   │   ├── content-security-policy.test.ts
│   │   │   │   │   ├── createGetAuth.test.ts
│   │   │   │   │   ├── exports.test.ts
│   │   │   │   │   └── getAuthDataFromRequest.test.ts
│   │   │   │   ├── buildClerkProps.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── content-security-policy.ts
│   │   │   │   ├── createClerkClient.ts
│   │   │   │   ├── createGetAuth.ts
│   │   │   │   ├── data
│   │   │   │   │   └── getAuthDataFromRequest.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── errorThrower.ts
│   │   │   │   ├── fs
│   │   │   │   │   ├── middleware-location.ts
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── headers-utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── keyless-custom-headers.ts
│   │   │   │   ├── keyless-log-cache.ts
│   │   │   │   ├── keyless-node.ts
│   │   │   │   ├── keyless-telemetry.ts
│   │   │   │   ├── keyless.ts
│   │   │   │   ├── middleware-storage.ts
│   │   │   │   ├── nextErrors.ts
│   │   │   │   ├── nextFetcher.ts
│   │   │   │   ├── protect.ts
│   │   │   │   ├── routeMatcher.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── types
│   │   │   │   └── safe-node-apis.d.ts
│   │   │   ├── types.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── debugLogger.test.ts
│   │   │   │   │   ├── matcher.test.ts
│   │   │   │   │   └── removeBasePath.test.ts
│   │   │   │   ├── clerk-script.tsx
│   │   │   │   ├── debugLogger.ts
│   │   │   │   ├── feature-flags.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── invalidateNextRouterCache.ts
│   │   │   │   ├── logFormatter.ts
│   │   │   │   ├── mergeNextClerkPropsWithEnv.ts
│   │   │   │   ├── only-try.ts
│   │   │   │   ├── removeBasePath.ts
│   │   │   │   ├── response.ts
│   │   │   │   ├── router-telemetry.ts
│   │   │   │   └── serverRedirectWithAuth.ts
│   │   │   ├── vendor
│   │   │   │   ├── crypto-es.js
│   │   │   │   └── README.md
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── nuxt
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── global.d.ts
│   │   │   ├── module.ts
│   │   │   └── runtime
│   │   │       ├── client
│   │   │       │   ├── index.ts
│   │   │       │   └── routeMatcher.ts
│   │   │       ├── components
│   │   │       │   ├── index.ts
│   │   │       │   └── uiComponents.ts
│   │   │       ├── composables
│   │   │       │   └── index.ts
│   │   │       ├── errors.ts
│   │   │       ├── plugin.ts
│   │   │       ├── server
│   │   │       │   ├── __tests__
│   │   │       │   │   ├── auth.test-d.ts
│   │   │       │   │   └── clerkMiddleware.test.ts
│   │   │       │   ├── clerkClient.ts
│   │   │       │   ├── clerkMiddleware.ts
│   │   │       │   ├── errors.ts
│   │   │       │   ├── index.ts
│   │   │       │   ├── middleware.ts
│   │   │       │   ├── routeMatcher.ts
│   │   │       │   ├── types.ts
│   │   │       │   └── utils.ts
│   │   │       └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   └── vitest.config.ts
│   ├── react
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── clerk.png
│   │   ├── docs
│   │   │   ├── legacy-use-sign-in.md
│   │   │   ├── legacy-use-sign-up.md
│   │   │   └── use-auth.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   └── isomorphicClerk.test.ts
│   │   │   ├── components
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── CheckoutButton.test.tsx
│   │   │   │   │   ├── OrganizationProfile.test.tsx
│   │   │   │   │   ├── OrganizationSwitcher.test.tsx
│   │   │   │   │   ├── PlanDetailsButton.test.tsx
│   │   │   │   │   ├── SignIn.test.tsx
│   │   │   │   │   ├── SignInButton.test.tsx
│   │   │   │   │   ├── SignInWithMetamaskButton.test.tsx
│   │   │   │   │   ├── SignOutButton.test.tsx
│   │   │   │   │   ├── SignUp.test.tsx
│   │   │   │   │   ├── SignUpButton.test.tsx
│   │   │   │   │   ├── SubscriptionDetailsButton.test.tsx
│   │   │   │   │   ├── UserAvatar.test.tsx
│   │   │   │   │   ├── UserButton.test.tsx
│   │   │   │   │   └── UserProfile.test.tsx
│   │   │   │   ├── CheckoutButton.tsx
│   │   │   │   ├── ClerkHostRenderer.tsx
│   │   │   │   ├── controlComponents.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── PlanDetailsButton.tsx
│   │   │   │   ├── SignInButton.tsx
│   │   │   │   ├── SignInWithMetamaskButton.tsx
│   │   │   │   ├── SignOutButton.tsx
│   │   │   │   ├── SignUpButton.tsx
│   │   │   │   ├── SubscriptionDetailsButton.tsx
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   └── withClerk.tsx
│   │   │   ├── contexts
│   │   │   │   ├── __tests__
│   │   │   │   │   └── ClerkProvider.test.tsx
│   │   │   │   ├── assertHelpers.ts
│   │   │   │   ├── AuthContext.ts
│   │   │   │   ├── ClerkContextProvider.tsx
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── IsomorphicClerkContext.tsx
│   │   │   │   ├── OrganizationContext.tsx
│   │   │   │   ├── SessionContext.tsx
│   │   │   │   └── UserContext.tsx
│   │   │   ├── errors
│   │   │   │   ├── errorThrower.ts
│   │   │   │   └── messages.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── hooks
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __snapshots__
│   │   │   │   │   │   └── useRoutingProps.test.tsx.snap
│   │   │   │   │   ├── useAuth.test.tsx
│   │   │   │   │   ├── useAuth.type.test.ts
│   │   │   │   │   └── useRoutingProps.test.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── legacy
│   │   │   │   │   ├── useSignIn.ts
│   │   │   │   │   └── useSignUp.ts
│   │   │   │   ├── useAssertWrappedByClerkProvider.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useClerkSignal.ts
│   │   │   │   ├── useEmailLink.ts
│   │   │   │   ├── useRoutingProps.ts
│   │   │   │   └── utils.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── isomorphicClerk.ts
│   │   │   ├── legacy.ts
│   │   │   ├── polyfills.ts
│   │   │   ├── stateProxy.ts
│   │   │   ├── types
│   │   │   │   └── appearance.ts
│   │   │   ├── types.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── useCustomMenuItems.test.tsx
│   │   │       │   └── useMaxAllowedInstancesGuard.test.tsx
│   │   │       ├── childrenUtils.tsx
│   │   │       ├── componentValidation.ts
│   │   │       ├── index.ts
│   │   │       ├── isConstructor.ts
│   │   │       ├── isDevOrStageUrl.tsx
│   │   │       ├── useCustomElementPortal.tsx
│   │   │       ├── useCustomMenuItems.tsx
│   │   │       ├── useCustomPages.tsx
│   │   │       ├── useMaxAllowedInstancesGuard.tsx
│   │   │       └── useWaitForComponentMount.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── turbo.json
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── react-router
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── api
│   │   │   │   └── index.ts
│   │   │   ├── client
│   │   │   │   ├── index.ts
│   │   │   │   ├── ReactRouterClerkProvider.tsx
│   │   │   │   ├── ReactRouterOptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.tsx
│   │   │   │   └── usePathnameWithoutSplatRouteParams.tsx
│   │   │   ├── errors.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── legacy.ts
│   │   │   ├── server
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── clerkMiddleware.test.ts
│   │   │   │   │   ├── getAuth.test.ts
│   │   │   │   │   └── rootAuthLoader.test.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── getAuth.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── legacyAuthenticateRequest.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── rootAuthLoader.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   ├── ssr
│   │   │   │   └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   └── assert.test.ts
│   │   │   │   ├── assert.ts
│   │   │   │   ├── env.ts
│   │   │   │   └── errors.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── shared
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── docs
│   │   │   ├── use-clerk.md
│   │   │   ├── use-session-list.md
│   │   │   ├── use-session.md
│   │   │   └── use-user.md
│   │   ├── global.d.ts
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── postinstall.mjs
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── apiUrlFromPublishableKey.spec.ts
│   │   │   │   ├── browser.spec.ts
│   │   │   │   ├── buildAccountsBaseUrl.spec.ts
│   │   │   │   ├── color.spec.ts
│   │   │   │   ├── color.test.ts.bak
│   │   │   │   ├── date.spec.ts
│   │   │   │   ├── deprecated.spec.ts
│   │   │   │   ├── deriveState.spec.ts
│   │   │   │   ├── devbrowser.spec.ts
│   │   │   │   ├── error.spec.ts
│   │   │   │   ├── eventBus.spec.ts
│   │   │   │   ├── fastDeepMerge.spec.ts
│   │   │   │   ├── handleValueOrFn.spec.ts
│   │   │   │   ├── jwtPayloadParser.spec.ts
│   │   │   │   ├── keys.spec.ts
│   │   │   │   ├── loadClerkJsScript.spec.ts
│   │   │   │   ├── localStorageBroadcastChannel.spec.ts
│   │   │   │   ├── logger.spec.ts
│   │   │   │   ├── netlifyCacheHandler.spec.ts
│   │   │   │   ├── organization.spec.ts
│   │   │   │   ├── pathMatcher.spec.ts
│   │   │   │   ├── proxy.spec.ts
│   │   │   │   ├── retry.spec.ts
│   │   │   │   ├── safeImport.spec.ts
│   │   │   │   ├── telemetry.logs.spec.ts
│   │   │   │   ├── underscore.spec.ts
│   │   │   │   ├── url.spec.ts
│   │   │   │   └── versionSelector.spec.ts
│   │   │   ├── alternativePhoneCode.ts
│   │   │   ├── apiUrlFromPublishableKey.ts
│   │   │   ├── authorization-errors.ts
│   │   │   ├── authorization.ts
│   │   │   ├── browser.ts
│   │   │   ├── buildAccountsBaseUrl.ts
│   │   │   ├── clerkEventBus.ts
│   │   │   ├── color.ts
│   │   │   ├── compiled
│   │   │   │   └── path-to-regexp
│   │   │   │       ├── index.js
│   │   │   │       └── LICENSE.txt
│   │   │   ├── constants.ts
│   │   │   ├── cookie.ts
│   │   │   ├── date.ts
│   │   │   ├── deprecated.ts
│   │   │   ├── deriveState.ts
│   │   │   ├── devBrowser.ts
│   │   │   ├── dom
│   │   │   │   ├── index.ts
│   │   │   │   └── waitForElement.ts
│   │   │   ├── error.ts
│   │   │   ├── errors
│   │   │   │   ├── clerkApiError.ts
│   │   │   │   ├── clerkApiResponseError.ts
│   │   │   │   ├── clerkError.ts
│   │   │   │   ├── clerkRuntimeError.ts
│   │   │   │   ├── createErrorTypeGuard.ts
│   │   │   │   ├── emailLinkError.ts
│   │   │   │   ├── errorThrower.ts
│   │   │   │   ├── globalHookError.ts
│   │   │   │   ├── helpers.ts
│   │   │   │   ├── metamaskError.ts
│   │   │   │   ├── missingExpiredTokenError.ts
│   │   │   │   ├── parseError.ts
│   │   │   │   └── webAuthNError.ts
│   │   │   ├── eventBus.ts
│   │   │   ├── file.ts
│   │   │   ├── getEnvVariable.ts
│   │   │   ├── globs.ts
│   │   │   ├── handleValueOrFn.ts
│   │   │   ├── index.ts
│   │   │   ├── internal
│   │   │   │   └── clerk-js
│   │   │   │       ├── __tests__
│   │   │   │       │   ├── completeSignUpFlow.test.ts
│   │   │   │       │   ├── email.test.ts
│   │   │   │       │   ├── encoders.test.ts
│   │   │   │       │   ├── organization.test.ts
│   │   │   │       │   ├── passkeys.test.ts
│   │   │   │       │   ├── path.test.ts
│   │   │   │       │   ├── queryParams.test.ts
│   │   │   │       │   ├── queryStateParams.test.ts
│   │   │   │       │   ├── querystring.test.ts
│   │   │   │       │   ├── redirectUrls.test.ts
│   │   │   │       │   └── url.test.ts
│   │   │   │       ├── completeSignUpFlow.ts
│   │   │   │       ├── componentGuards.ts
│   │   │   │       ├── constants.ts
│   │   │   │       ├── email.ts
│   │   │   │       ├── encoders.ts
│   │   │   │       ├── errors.ts
│   │   │   │       ├── hex.ts
│   │   │   │       ├── injectedWeb3EthProviders.ts
│   │   │   │       ├── injectedWeb3SolanaProviders.ts
│   │   │   │       ├── organization.ts
│   │   │   │       ├── passkeys.ts
│   │   │   │       ├── passwords
│   │   │   │       │   ├── complexity.ts
│   │   │   │       │   ├── loadZxcvbn.ts
│   │   │   │       │   ├── password.ts
│   │   │   │       │   └── strength.ts
│   │   │   │       ├── path.ts
│   │   │   │       ├── queryParams.ts
│   │   │   │       ├── queryStateParams.ts
│   │   │   │       ├── querystring.ts
│   │   │   │       ├── redirectUrls.ts
│   │   │   │       ├── runtime.ts
│   │   │   │       ├── sessionTasks.ts
│   │   │   │       ├── url.ts
│   │   │   │       ├── user.ts
│   │   │   │       ├── warnings.ts
│   │   │   │       ├── web3.ts
│   │   │   │       └── windowNavigate.ts
│   │   │   ├── isomorphicAtob.ts
│   │   │   ├── isomorphicBtoa.ts
│   │   │   ├── jwtPayloadParser.ts
│   │   │   ├── keys.ts
│   │   │   ├── loadClerkJsScript.ts
│   │   │   ├── loadScript.ts
│   │   │   ├── localStorageBroadcastChannel.ts
│   │   │   ├── logger.ts
│   │   │   ├── moduleManager.ts
│   │   │   ├── netlifyCacheHandler.ts
│   │   │   ├── oauth.ts
│   │   │   ├── object.ts
│   │   │   ├── organization.ts
│   │   │   ├── pathMatcher.ts
│   │   │   ├── pathToRegexp.ts
│   │   │   ├── poller.ts
│   │   │   ├── proxy.ts
│   │   │   ├── react
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── payment-element.test.tsx
│   │   │   │   │   └── useReverification.spec.ts
│   │   │   │   ├── billing
│   │   │   │   │   ├── payment-element.tsx
│   │   │   │   │   ├── useInitializePaymentMethod.rq.tsx
│   │   │   │   │   ├── useInitializePaymentMethod.swr.tsx
│   │   │   │   │   ├── useInitializePaymentMethod.tsx
│   │   │   │   │   ├── useStripeClerkLibs.rq.tsx
│   │   │   │   │   ├── useStripeClerkLibs.swr.tsx
│   │   │   │   │   ├── useStripeClerkLibs.tsx
│   │   │   │   │   ├── useStripeLoader.rq.tsx
│   │   │   │   │   ├── useStripeLoader.swr.tsx
│   │   │   │   │   └── useStripeLoader.tsx
│   │   │   │   ├── clerk-rq
│   │   │   │   │   ├── infiniteQueryOptions.ts
│   │   │   │   │   ├── keep-previous-data.ts
│   │   │   │   │   ├── queryOptions.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   ├── use-clerk-query-client.ts
│   │   │   │   │   ├── useBaseQuery.ts
│   │   │   │   │   ├── useInfiniteQuery.ts
│   │   │   │   │   └── useQuery.ts
│   │   │   │   ├── clerk-swr.ts
│   │   │   │   ├── contexts.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── createBillingPaginatedHook.spec.tsx
│   │   │   │   │   │   ├── mocks
│   │   │   │   │   │   │   ├── clerk.ts
│   │   │   │   │   │   │   └── index.ts
│   │   │   │   │   │   ├── useAPIKeys.spec.tsx
│   │   │   │   │   │   ├── useCheckout.type.spec.ts
│   │   │   │   │   │   ├── usePagesOrInfinite.spec.ts
│   │   │   │   │   │   ├── usePlans.spec.tsx
│   │   │   │   │   │   ├── usePreviousValue.spec.ts
│   │   │   │   │   │   ├── useSafeValues.spec.ts
│   │   │   │   │   │   ├── useSubscription.spec.tsx
│   │   │   │   │   │   └── wrapper.tsx
│   │   │   │   │   ├── createBillingPaginatedHook.tsx
│   │   │   │   │   ├── createCacheKeys.ts
│   │   │   │   │   ├── createContextAndHook.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useAPIKeys.rq.tsx
│   │   │   │   │   ├── useAPIKeys.swr.tsx
│   │   │   │   │   ├── useAPIKeys.ts
│   │   │   │   │   ├── useAttemptToEnableOrganizations.ts
│   │   │   │   │   ├── useBillingHookEnabled.ts
│   │   │   │   │   ├── useCheckout.ts
│   │   │   │   │   ├── useClearQueriesOnSignOut.ts
│   │   │   │   │   ├── useClerk.ts
│   │   │   │   │   ├── useDeepEqualMemo.ts
│   │   │   │   │   ├── useOrganization.tsx
│   │   │   │   │   ├── useOrganizationList.tsx
│   │   │   │   │   ├── usePageOrInfinite.types.ts
│   │   │   │   │   ├── usePagesOrInfinite.rq.tsx
│   │   │   │   │   ├── usePagesOrInfinite.shared.ts
│   │   │   │   │   ├── usePagesOrInfinite.swr.tsx
│   │   │   │   │   ├── usePagesOrInfinite.tsx
│   │   │   │   │   ├── usePaymentAttemptQuery.rq.tsx
│   │   │   │   │   ├── usePaymentAttemptQuery.shared.ts
│   │   │   │   │   ├── usePaymentAttemptQuery.swr.tsx
│   │   │   │   │   ├── usePaymentAttemptQuery.tsx
│   │   │   │   │   ├── usePaymentAttemptQuery.types.ts
│   │   │   │   │   ├── usePaymentAttempts.tsx
│   │   │   │   │   ├── usePaymentMethods.tsx
│   │   │   │   │   ├── usePlanDetailsQuery.rq.tsx
│   │   │   │   │   ├── usePlanDetailsQuery.shared.ts
│   │   │   │   │   ├── usePlanDetailsQuery.swr.tsx
│   │   │   │   │   ├── usePlanDetailsQuery.tsx
│   │   │   │   │   ├── usePlanDetailsQuery.types.ts
│   │   │   │   │   ├── usePlans.tsx
│   │   │   │   │   ├── usePreviousValue.ts
│   │   │   │   │   ├── useReverification.ts
│   │   │   │   │   ├── useSafeLayoutEffect.tsx
│   │   │   │   │   ├── useSession.ts
│   │   │   │   │   ├── useSessionList.ts
│   │   │   │   │   ├── useStatementQuery.rq.tsx
│   │   │   │   │   ├── useStatementQuery.shared.ts
│   │   │   │   │   ├── useStatementQuery.swr.tsx
│   │   │   │   │   ├── useStatementQuery.tsx
│   │   │   │   │   ├── useStatementQuery.types.ts
│   │   │   │   │   ├── useStatements.tsx
│   │   │   │   │   ├── useSubscription.rq.tsx
│   │   │   │   │   ├── useSubscription.shared.ts
│   │   │   │   │   ├── useSubscription.swr.tsx
│   │   │   │   │   ├── useSubscription.tsx
│   │   │   │   │   ├── useSubscription.types.ts
│   │   │   │   │   └── useUser.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── providers
│   │   │   │   │   ├── SWRConfigCompat.rq.tsx
│   │   │   │   │   ├── SWRConfigCompat.swr.tsx
│   │   │   │   │   └── SWRConfigCompat.tsx
│   │   │   │   ├── stable-keys.ts
│   │   │   │   ├── stripe-react
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   └── types.ts
│   │   │   ├── retry.ts
│   │   │   ├── router
│   │   │   │   ├── __tests__
│   │   │   │   │   └── router.spec.ts
│   │   │   │   ├── react.tsx
│   │   │   │   └── router.ts
│   │   │   ├── router.ts
│   │   │   ├── safeImport.ts
│   │   │   ├── saml.ts
│   │   │   ├── telemetry
│   │   │   │   ├── collector.ts
│   │   │   │   ├── events
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── theme-usage.spec.ts
│   │   │   │   │   ├── component-mounted.ts
│   │   │   │   │   ├── framework-metadata.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── method-called.ts
│   │   │   │   │   └── theme-usage.ts
│   │   │   │   ├── throttler.ts
│   │   │   │   └── types.ts
│   │   │   ├── telemetry.ts
│   │   │   ├── types
│   │   │   │   ├── apiKeys.ts
│   │   │   │   ├── apiKeysSettings.ts
│   │   │   │   ├── attributes.ts
│   │   │   │   ├── authConfig.ts
│   │   │   │   ├── authObject.ts
│   │   │   │   ├── authorization.ts
│   │   │   │   ├── backupCode.ts
│   │   │   │   ├── billing.ts
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── client.ts
│   │   │   │   ├── commerceSettings.ts
│   │   │   │   ├── customMenuItems.ts
│   │   │   │   ├── customPages.ts
│   │   │   │   ├── deletedObject.ts
│   │   │   │   ├── devtools.ts
│   │   │   │   ├── displayConfig.ts
│   │   │   │   ├── elementIds.ts
│   │   │   │   ├── emailAddress.ts
│   │   │   │   ├── enterpriseAccount.ts
│   │   │   │   ├── environment.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── externalAccount.ts
│   │   │   │   ├── factors.ts
│   │   │   │   ├── hooks.ts
│   │   │   │   ├── identificationLink.ts
│   │   │   │   ├── identifiers.ts
│   │   │   │   ├── image.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── instance.ts
│   │   │   │   ├── json.ts
│   │   │   │   ├── jwt.ts
│   │   │   │   ├── jwtv2.ts
│   │   │   │   ├── key.ts
│   │   │   │   ├── localization.ts
│   │   │   │   ├── multiDomain.ts
│   │   │   │   ├── oauth.ts
│   │   │   │   ├── organization.ts
│   │   │   │   ├── organizationDomain.ts
│   │   │   │   ├── organizationInvitation.ts
│   │   │   │   ├── organizationMembership.ts
│   │   │   │   ├── organizationMembershipRequest.ts
│   │   │   │   ├── organizationSettings.ts
│   │   │   │   ├── organizationSuggestion.ts
│   │   │   │   ├── pagination.ts
│   │   │   │   ├── passkey.ts
│   │   │   │   ├── passwords.ts
│   │   │   │   ├── permission.ts
│   │   │   │   ├── phoneCodeChannel.ts
│   │   │   │   ├── phoneNumber.ts
│   │   │   │   ├── protectConfig.ts
│   │   │   │   ├── redirects.ts
│   │   │   │   ├── resource.ts
│   │   │   │   ├── role.ts
│   │   │   │   ├── router.ts
│   │   │   │   ├── runtime-values.ts
│   │   │   │   ├── saml.ts
│   │   │   │   ├── session.ts
│   │   │   │   ├── sessionVerification.ts
│   │   │   │   ├── signIn.ts
│   │   │   │   ├── signInCommon.ts
│   │   │   │   ├── signInFuture.ts
│   │   │   │   ├── signUp.ts
│   │   │   │   ├── signUpCommon.ts
│   │   │   │   ├── signUpFuture.ts
│   │   │   │   ├── snapshots.ts
│   │   │   │   ├── ssr.ts
│   │   │   │   ├── state.ts
│   │   │   │   ├── strategies.ts
│   │   │   │   ├── telemetry.ts
│   │   │   │   ├── theme.ts
│   │   │   │   ├── token.ts
│   │   │   │   ├── totp.ts
│   │   │   │   ├── user.ts
│   │   │   │   ├── userOrganizationInvitation.ts
│   │   │   │   ├── userSettings.ts
│   │   │   │   ├── utils copy.ts
│   │   │   │   ├── utils.ts
│   │   │   │   ├── verification.ts
│   │   │   │   ├── virtual-data-hooks.d.ts
│   │   │   │   ├── waitlist.ts
│   │   │   │   ├── web3.ts
│   │   │   │   └── web3Wallet.ts
│   │   │   ├── ui
│   │   │   │   ├── index.ts
│   │   │   │   └── types.ts
│   │   │   ├── underscore.ts
│   │   │   ├── url.ts
│   │   │   ├── utils
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── createDeferredPromise.spec.ts
│   │   │   │   │   └── instance.spec.ts
│   │   │   │   ├── allSettled.ts
│   │   │   │   ├── createDeferredPromise.ts
│   │   │   │   ├── fastDeepMerge.ts
│   │   │   │   ├── handleValueOrFn.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── instance.ts
│   │   │   │   ├── logErrorInDevMode.ts
│   │   │   │   ├── noop.ts
│   │   │   │   ├── runIfFunctionOrReturn.ts
│   │   │   │   └── runtimeEnvironment.ts
│   │   │   ├── versionSelector.ts
│   │   │   ├── web3.ts
│   │   │   ├── webauthn.ts
│   │   │   └── workerTimers
│   │   │       ├── createWorkerTimers.ts
│   │   │       ├── index.ts
│   │   │       ├── workerTimers.built.ts
│   │   │       ├── workerTimers.types.ts
│   │   │       └── workerTimers.worker.ts
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsdown.config.mts
│   │   ├── typedoc.json
│   │   ├── vitest.config.mts
│   │   └── vitest.setup.mts
│   ├── tanstack-react-start
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── server
│   │   │   └── package.json
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── client
│   │   │   │   ├── ClerkProvider.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── OptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.ts
│   │   │   │   └── utils.ts
│   │   │   ├── errors.ts
│   │   │   ├── experimental.ts
│   │   │   ├── global.d.ts
│   │   │   ├── index.ts
│   │   │   ├── legacy.ts
│   │   │   ├── server
│   │   │   │   ├── auth.ts
│   │   │   │   ├── clerkClient.ts
│   │   │   │   ├── clerkMiddleware.ts
│   │   │   │   ├── constants.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       └── index.ts
│   │   │   ├── utils
│   │   │   │   ├── env.ts
│   │   │   │   ├── errors.ts
│   │   │   │   └── index.ts
│   │   │   └── webhooks.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsup.config.ts
│   │   ├── vite-env.d.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── webhooks
│   │       └── package.json
│   ├── testing
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── cypress
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── playwright
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── common
│   │   │   │   ├── constants.ts
│   │   │   │   ├── errors.ts
│   │   │   │   ├── helpers-utils.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── setup.ts
│   │   │   │   └── types.ts
│   │   │   ├── cypress
│   │   │   │   ├── custom-commands.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── setup.ts
│   │   │   │   └── setupClerkTestingToken.ts
│   │   │   ├── index.ts
│   │   │   └── playwright
│   │   │       ├── helpers.ts
│   │   │       ├── index.ts
│   │   │       ├── setup.ts
│   │   │       ├── setupClerkTestingToken.ts
│   │   │       └── unstable
│   │   │           ├── index.ts
│   │   │           └── page-objects
│   │   │               ├── apiKeys.ts
│   │   │               ├── app.ts
│   │   │               ├── checkout.ts
│   │   │               ├── clerk.ts
│   │   │               ├── common.ts
│   │   │               ├── expect.ts
│   │   │               ├── impersonation.ts
│   │   │               ├── index.ts
│   │   │               ├── keylessPopover.ts
│   │   │               ├── organizationSwitcher.ts
│   │   │               ├── planDetails.ts
│   │   │               ├── pricingTable.ts
│   │   │               ├── sessionTask.ts
│   │   │               ├── signIn.ts
│   │   │               ├── signUp.ts
│   │   │               ├── subscriptionDetails.ts
│   │   │               ├── testingToken.ts
│   │   │               ├── userAvatar.ts
│   │   │               ├── userButton.ts
│   │   │               ├── userProfile.ts
│   │   │               ├── userVerification.ts
│   │   │               └── waitlist.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── ui
│   │   ├── bundlewatch-fix.mjs
│   │   ├── bundlewatch.config.json
│   │   ├── package.json
│   │   ├── rspack.config.js
│   │   ├── src
│   │   │   ├── baseTheme.ts
│   │   │   ├── ClerkUi.ts
│   │   │   ├── common
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── redirects.test.ts
│   │   │   │   │   ├── verification.test.ts
│   │   │   │   │   └── withRedirect.test.tsx
│   │   │   │   ├── CalloutWithAction.tsx
│   │   │   │   ├── ChooseEnterpriseConnectionCard.tsx
│   │   │   │   ├── constants.ts
│   │   │   │   ├── CreateOrganizationAction.tsx
│   │   │   │   ├── CustomPageContentContainer.tsx
│   │   │   │   ├── DevOnly.tsx
│   │   │   │   ├── EmailLinkCompleteFlowCard.tsx
│   │   │   │   ├── EmailLinkStatusCard.tsx
│   │   │   │   ├── EmailLinkVerify.tsx
│   │   │   │   ├── forms.ts
│   │   │   │   ├── Gate.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── InfiniteListSpinner.tsx
│   │   │   │   ├── NotificationCountBadge.tsx
│   │   │   │   ├── organizations
│   │   │   │   │   └── OrganizationPreview.tsx
│   │   │   │   ├── PrintableComponent.tsx
│   │   │   │   ├── ProviderInitialIcon.tsx
│   │   │   │   ├── QRCode.tsx
│   │   │   │   ├── redirects.ts
│   │   │   │   ├── RemoveResourceForm.tsx
│   │   │   │   ├── SSOCallback.tsx
│   │   │   │   ├── verification.ts
│   │   │   │   ├── WalletInitialIcon.tsx
│   │   │   │   ├── withRedirect.tsx
│   │   │   │   └── Wizard.tsx
│   │   │   ├── components
│   │   │   │   ├── APIKeys
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── APIKeys.spec.tsx
│   │   │   │   │   ├── APIKeyModal.tsx
│   │   │   │   │   ├── APIKeys.tsx
│   │   │   │   │   ├── ApiKeysTable.tsx
│   │   │   │   │   ├── CopyAPIKeyModal.tsx
│   │   │   │   │   ├── CreateAPIKeyForm.tsx
│   │   │   │   │   ├── RevokeAPIKeyConfirmationModal.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── BlankCaptchaModal
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── Checkout
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── Checkout.test.tsx
│   │   │   │   │   ├── CheckoutComplete.tsx
│   │   │   │   │   ├── CheckoutForm.tsx
│   │   │   │   │   ├── CheckoutPage.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── parts.tsx
│   │   │   │   ├── CreateOrganization
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── CreateOrganization.test.tsx
│   │   │   │   │   ├── CreateOrganization.tsx
│   │   │   │   │   ├── CreateOrganizationForm.tsx
│   │   │   │   │   ├── CreateOrganizationPage.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── devPrompts
│   │   │   │   │   ├── EnableOrganizationsPrompt
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── KeylessPrompt
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── KeySlashIcon.tsx
│   │   │   │   │   │   └── use-revalidate-environment.ts
│   │   │   │   │   └── shared.tsx
│   │   │   │   ├── GoogleOneTap
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── one-tap-start.tsx
│   │   │   │   ├── ImpersonationFab
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── OAuthConsent
│   │   │   │   │   └── OAuthConsent.tsx
│   │   │   │   ├── OrganizationList
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── OrganizationList.test.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── OrganizationListPage.tsx
│   │   │   │   │   ├── shared.tsx
│   │   │   │   │   ├── UserInvitationList.tsx
│   │   │   │   │   ├── UserMembershipList.tsx
│   │   │   │   │   ├── UserSuggestionList.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── OrganizationProfile
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── InviteMembersPage.test.tsx
│   │   │   │   │   │   ├── LeaveOrganizationPage.test.tsx
│   │   │   │   │   │   ├── OrganizationGeneralPage.test.tsx
│   │   │   │   │   │   ├── OrganizationMembers.test.tsx
│   │   │   │   │   │   ├── OrganizationProfile.test.tsx
│   │   │   │   │   │   ├── ProfileSettingsPage.test.tsx
│   │   │   │   │   │   └── utils.ts
│   │   │   │   │   ├── ActionConfirmationPage.tsx
│   │   │   │   │   ├── ActiveMembersList.tsx
│   │   │   │   │   ├── AddDomainForm.tsx
│   │   │   │   │   ├── BillingWidget.tsx
│   │   │   │   │   ├── DomainList.tsx
│   │   │   │   │   ├── EnrollmentBadge.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── InvitedMembersList.tsx
│   │   │   │   │   ├── InviteMembersForm.tsx
│   │   │   │   │   ├── InviteMembersScreen.tsx
│   │   │   │   │   ├── MemberListTable.tsx
│   │   │   │   │   ├── MembersActions.tsx
│   │   │   │   │   ├── MembershipWidget.tsx
│   │   │   │   │   ├── MembersSearch.tsx
│   │   │   │   │   ├── OrganizationAPIKeysPage.tsx
│   │   │   │   │   ├── OrganizationBillingPage.tsx
│   │   │   │   │   ├── OrganizationGeneralPage.tsx
│   │   │   │   │   ├── OrganizationMembers.tsx
│   │   │   │   │   ├── OrganizationMembersTabInvitations.tsx
│   │   │   │   │   ├── OrganizationMembersTabRequests.tsx
│   │   │   │   │   ├── OrganizationPaymentAttemptPage.tsx
│   │   │   │   │   ├── OrganizationPlansPage.tsx
│   │   │   │   │   ├── OrganizationProfileAvatarUploader.tsx
│   │   │   │   │   ├── OrganizationProfileNavbar.tsx
│   │   │   │   │   ├── OrganizationProfileRoutes.tsx
│   │   │   │   │   ├── OrganizationStatementPage.tsx
│   │   │   │   │   ├── ProfileForm.tsx
│   │   │   │   │   ├── RemoveDomainForm.tsx
│   │   │   │   │   ├── RemoveDomainScreen.tsx
│   │   │   │   │   ├── RequestToJoinList.tsx
│   │   │   │   │   ├── VerifiedDomainForm.tsx
│   │   │   │   │   ├── VerifiedDomainScreen.tsx
│   │   │   │   │   ├── VerifyDomainForm.tsx
│   │   │   │   │   └── VerifyDomainScreen.tsx
│   │   │   │   ├── OrganizationSwitcher
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── OrganizationSwitcher.test.tsx
│   │   │   │   │   │   ├── test-utils.ts
│   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── OrganizationSwitcherPopover.tsx
│   │   │   │   │   ├── OrganizationSwitcherTrigger.tsx
│   │   │   │   │   ├── OtherOrganizationActions.tsx
│   │   │   │   │   ├── UserInvitationSuggestionList.tsx
│   │   │   │   │   ├── UserMembershipList.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   ├── PaymentAttempts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── PaymentAttemptPage.tsx
│   │   │   │   │   └── PaymentAttemptsList.tsx
│   │   │   │   ├── PaymentMethods
│   │   │   │   │   ├── AddPaymentMethod.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── PaymentElementSkeleton.tsx
│   │   │   │   │   ├── PaymentMethodRow.tsx
│   │   │   │   │   ├── PaymentMethods.tsx
│   │   │   │   │   └── TestPaymentMethod.tsx
│   │   │   │   ├── Plans
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── PlanDetails.test.tsx
│   │   │   │   │   └── PlanDetails.tsx
│   │   │   │   ├── prefetch-organization-list.tsx
│   │   │   │   ├── PricingTable
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── PricingTable.test.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── PricingTable.tsx
│   │   │   │   │   ├── PricingTableDefault.tsx
│   │   │   │   │   ├── PricingTableMatrix.tsx
│   │   │   │   │   └── utils
│   │   │   │   │       ├── pricing-footer-state.spec.ts
│   │   │   │   │       └── pricing-footer-state.ts
│   │   │   │   ├── SessionTasks
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── tasks
│   │   │   │   │       ├── shared
│   │   │   │   │       │   ├── index.ts
│   │   │   │   │       │   └── withTaskGuard.ts
│   │   │   │   │       ├── TaskChooseOrganization
│   │   │   │   │       │   ├── __tests__
│   │   │   │   │       │   │   └── TaskChooseOrganization.test.tsx
│   │   │   │   │       │   ├── ChooseOrganizationScreen.tsx
│   │   │   │   │       │   ├── CreateOrganizationScreen.tsx
│   │   │   │   │       │   └── index.tsx
│   │   │   │   │       └── TaskResetPassword
│   │   │   │   │           ├── __tests__
│   │   │   │   │           │   └── TaskResetPassword.test.tsx
│   │   │   │   │           └── index.tsx
│   │   │   │   ├── SignIn
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── handleCombinedFlowTransfer.test.ts
│   │   │   │   │   │   ├── ResetPassword.test.tsx
│   │   │   │   │   │   ├── ResetPasswordSuccess.test.tsx
│   │   │   │   │   │   ├── SignInAccountSwitcher.test.tsx
│   │   │   │   │   │   ├── SignInFactorOne.test.tsx
│   │   │   │   │   │   ├── SignInFactorOneCodeForm.test.tsx
│   │   │   │   │   │   ├── SignInFactorTwo.test.tsx
│   │   │   │   │   │   ├── SignInStart.test.tsx
│   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   ├── AlternativeMethods.tsx
│   │   │   │   │   ├── handleCombinedFlowTransfer.ts
│   │   │   │   │   ├── HavingTrouble.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── lazy-sign-up.ts
│   │   │   │   │   ├── ResetPassword.tsx
│   │   │   │   │   ├── ResetPasswordSuccess.tsx
│   │   │   │   │   ├── shared.ts
│   │   │   │   │   ├── SignInAccountSwitcher.tsx
│   │   │   │   │   ├── SignInAlternativePhoneCodePhoneNumberCard.tsx
│   │   │   │   │   ├── SignInClientTrust.tsx
│   │   │   │   │   ├── SignInFactorOne.tsx
│   │   │   │   │   ├── SignInFactorOneAlternativeChannelCodeForm.tsx
│   │   │   │   │   ├── SignInFactorOneAlternativePhoneCodeCard.tsx
│   │   │   │   │   ├── SignInFactorOneCodeForm.tsx
│   │   │   │   │   ├── SignInFactorOneEmailCodeCard.tsx
│   │   │   │   │   ├── SignInFactorOneEmailLinkCard.tsx
│   │   │   │   │   ├── SignInFactorOneEnterpriseConnections.tsx
│   │   │   │   │   ├── SignInFactorOneForgotPasswordCard.tsx
│   │   │   │   │   ├── SignInFactorOnePasskey.tsx
│   │   │   │   │   ├── SignInFactorOnePasswordCard.tsx
│   │   │   │   │   ├── SignInFactorOnePhoneCodeCard.tsx
│   │   │   │   │   ├── SignInFactorOneSolanaWalletsCard.tsx
│   │   │   │   │   ├── SignInFactorTwo.tsx
│   │   │   │   │   ├── SignInFactorTwoAlternativeMethods.tsx
│   │   │   │   │   ├── SignInFactorTwoBackupCodeCard.tsx
│   │   │   │   │   ├── SignInFactorTwoCodeForm.tsx
│   │   │   │   │   ├── SignInFactorTwoEmailCodeCard.tsx
│   │   │   │   │   ├── SignInFactorTwoEmailLinkCard.tsx
│   │   │   │   │   ├── SignInFactorTwoPhoneCodeCard.tsx
│   │   │   │   │   ├── SignInFactorTwoTOTPCard.tsx
│   │   │   │   │   ├── SignInSocialButtons.tsx
│   │   │   │   │   ├── SignInSSOCallback.tsx
│   │   │   │   │   ├── SignInStart.tsx
│   │   │   │   │   ├── useResetPasswordFactor.tsx
│   │   │   │   │   ├── useSecondFactorSelection.ts
│   │   │   │   │   ├── utils.ts
│   │   │   │   │   └── withHavingTrouble.tsx
│   │   │   │   ├── SignUp
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── SignUpContinue.test.tsx
│   │   │   │   │   │   ├── SignUpEmailLinkFlowComplete.test.tsx
│   │   │   │   │   │   ├── signUpFormHelpers.test.ts
│   │   │   │   │   │   ├── SignUpStart.test.tsx
│   │   │   │   │   │   ├── SignUpVerifyEmail.test.tsx
│   │   │   │   │   │   └── SignUpVerifyPhone.test.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── SignUpContinue.tsx
│   │   │   │   │   ├── SignUpEmailCodeCard.tsx
│   │   │   │   │   ├── SignUpEmailLinkCard.tsx
│   │   │   │   │   ├── SignUpEnterpriseConnections.tsx
│   │   │   │   │   ├── SignUpForm.tsx
│   │   │   │   │   ├── signUpFormHelpers.ts
│   │   │   │   │   ├── SignUpPhoneCodeCard.tsx
│   │   │   │   │   ├── SignUpRestrictedAccess.tsx
│   │   │   │   │   ├── SignUpSocialButtons.tsx
│   │   │   │   │   ├── SignUpSSOCallback.tsx
│   │   │   │   │   ├── SignUpStart.tsx
│   │   │   │   │   ├── SignUpStartAlternativePhoneCodePhoneNumberCard.tsx
│   │   │   │   │   ├── SignUpStartSolanaWalletsCard.tsx
│   │   │   │   │   ├── SignUpVerificationCodeForm.tsx
│   │   │   │   │   ├── SignUpVerifyEmail.tsx
│   │   │   │   │   ├── SignUpVerifyPhone.tsx
│   │   │   │   │   └── util.ts
│   │   │   │   ├── Statements
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── Statement.tsx
│   │   │   │   │   ├── StatementPage.tsx
│   │   │   │   │   └── StatementsList.tsx
│   │   │   │   ├── SubscriptionDetails
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── SubscriptionDetails.test.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── Subscriptions
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── SubscriptionsList.test.tsx
│   │   │   │   │   ├── badge.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── SubscriptionsList.tsx
│   │   │   │   ├── UserAvatar
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── UserButton
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── UserButton.test.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── SessionActions.tsx
│   │   │   │   │   ├── useMultisessionActions.tsx
│   │   │   │   │   ├── UserButtonPopover.tsx
│   │   │   │   │   ├── UserButtonTopLevelIdentifier.tsx
│   │   │   │   │   └── UserButtonTrigger.tsx
│   │   │   │   ├── UserProfile
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── AccountPage.test.tsx
│   │   │   │   │   │   ├── ConnectedAccountsSection.test.tsx
│   │   │   │   │   │   ├── EmailsSection.test.tsx
│   │   │   │   │   │   ├── EnterpriseAccountsSection.test.tsx
│   │   │   │   │   │   ├── MfaPage.test.tsx
│   │   │   │   │   │   ├── PasskeysSection.test.tsx
│   │   │   │   │   │   ├── PasswordSection.test.tsx
│   │   │   │   │   │   ├── PhoneSection.test.tsx
│   │   │   │   │   │   ├── SecurityPage.test.tsx
│   │   │   │   │   │   ├── UsernameSection.test.tsx
│   │   │   │   │   │   ├── UserProfile.test.tsx
│   │   │   │   │   │   ├── UserProfileSection.test.tsx
│   │   │   │   │   │   └── utils.test.ts
│   │   │   │   │   ├── AccountPage.tsx
│   │   │   │   │   ├── ActiveDevicesSection.tsx
│   │   │   │   │   ├── AddAuthenticatorApp.tsx
│   │   │   │   │   ├── APIKeysPage.tsx
│   │   │   │   │   ├── BillingPage.tsx
│   │   │   │   │   ├── ConnectedAccountsMenu.tsx
│   │   │   │   │   ├── ConnectedAccountsSection.tsx
│   │   │   │   │   ├── DeleteSection.tsx
│   │   │   │   │   ├── DeleteUserForm.tsx
│   │   │   │   │   ├── EmailForm.tsx
│   │   │   │   │   ├── EmailsSection.tsx
│   │   │   │   │   ├── EnterpriseAccountsSection.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── LinkButtonWithDescription.tsx
│   │   │   │   │   ├── MfaBackupCodeCreateForm.tsx
│   │   │   │   │   ├── MfaBackupCodeList.tsx
│   │   │   │   │   ├── MfaBackupCodeScreen.tsx
│   │   │   │   │   ├── MfaBackupCodeTile.tsx
│   │   │   │   │   ├── MfaForm.tsx
│   │   │   │   │   ├── MfaPhoneCodeScreen.tsx
│   │   │   │   │   ├── MfaScreens.tsx
│   │   │   │   │   ├── MfaSection.tsx
│   │   │   │   │   ├── MfaTOTPScreen.tsx
│   │   │   │   │   ├── PasskeySection.tsx
│   │   │   │   │   ├── PasswordForm.tsx
│   │   │   │   │   ├── PasswordSection.tsx
│   │   │   │   │   ├── PhoneForm.tsx
│   │   │   │   │   ├── PhoneSection.tsx
│   │   │   │   │   ├── PlansPage.tsx
│   │   │   │   │   ├── ProfileForm.tsx
│   │   │   │   │   ├── RemoveResourceForm.tsx
│   │   │   │   │   ├── SecurityPage.tsx
│   │   │   │   │   ├── UsernameForm.tsx
│   │   │   │   │   ├── UsernameSection.tsx
│   │   │   │   │   ├── UserProfileAvatarUploader.tsx
│   │   │   │   │   ├── UserProfileNavbar.tsx
│   │   │   │   │   ├── UserProfileRoutes.tsx
│   │   │   │   │   ├── UserProfileSection.tsx
│   │   │   │   │   ├── utils.ts
│   │   │   │   │   ├── VerifyTOTP.tsx
│   │   │   │   │   ├── VerifyWithCode.tsx
│   │   │   │   │   ├── VerifyWithEnterpriseConnection.tsx
│   │   │   │   │   ├── VerifyWithLink.tsx
│   │   │   │   │   ├── Web3Form.tsx
│   │   │   │   │   ├── Web3Section.tsx
│   │   │   │   │   └── Web3SelectSolanaWalletScreen.tsx
│   │   │   │   ├── UserVerification
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── UVFactorOne.test.tsx
│   │   │   │   │   │   └── UVFactorTwo.test.tsx
│   │   │   │   │   ├── AlternativeMethods.tsx
│   │   │   │   │   ├── HavingTrouble.tsx
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   ├── use-after-verification.ts
│   │   │   │   │   ├── useReverificationAlternativeStrategies.ts
│   │   │   │   │   ├── UserVerificationFactorOne.tsx
│   │   │   │   │   ├── UserVerificationFactorOnePassword.tsx
│   │   │   │   │   ├── UserVerificationFactorTwo.tsx
│   │   │   │   │   ├── UserVerificationFactorTwoTOTP.tsx
│   │   │   │   │   ├── useUserVerificationSession.tsx
│   │   │   │   │   ├── utils.ts
│   │   │   │   │   ├── UVFactorOneCodeForm.tsx
│   │   │   │   │   ├── UVFactorOneEmailCodeCard.tsx
│   │   │   │   │   ├── UVFactorOnePasskeysCard.tsx
│   │   │   │   │   ├── UVFactorOnePhoneCodeCard.tsx
│   │   │   │   │   ├── UVFactorTwoAlternativeMethods.tsx
│   │   │   │   │   ├── UVFactorTwoBackupCodeCard.tsx
│   │   │   │   │   ├── UVFactorTwoCodeForm.tsx
│   │   │   │   │   ├── UVFactorTwoPhoneCodeCard.tsx
│   │   │   │   │   └── withHavingTrouble.tsx
│   │   │   │   └── Waitlist
│   │   │   │       ├── __tests__
│   │   │   │       │   └── Waitlist.test.tsx
│   │   │   │       ├── index.tsx
│   │   │   │       ├── WaitlistForm.tsx
│   │   │   │       └── waitlistFormHelpers.ts
│   │   │   ├── Components.tsx
│   │   │   ├── constants.ts
│   │   │   ├── contexts
│   │   │   │   ├── AcceptedUserInvitations.tsx
│   │   │   │   ├── ClerkUIComponentsContext.tsx
│   │   │   │   ├── components
│   │   │   │   │   ├── APIKeys.ts
│   │   │   │   │   ├── Checkout.ts
│   │   │   │   │   ├── CreateOrganization.ts
│   │   │   │   │   ├── GoogleOneTap.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── OAuthConsent.ts
│   │   │   │   │   ├── OrganizationList.ts
│   │   │   │   │   ├── OrganizationProfile.ts
│   │   │   │   │   ├── OrganizationSwitcher.ts
│   │   │   │   │   ├── Plans.tsx
│   │   │   │   │   ├── PricingTable.ts
│   │   │   │   │   ├── SessionTasks.ts
│   │   │   │   │   ├── SignIn.ts
│   │   │   │   │   ├── SignOut.ts
│   │   │   │   │   ├── SignUp.ts
│   │   │   │   │   ├── SubscriberType.ts
│   │   │   │   │   ├── SubscriptionDetails.ts
│   │   │   │   │   ├── UserAvatar.ts
│   │   │   │   │   ├── UserButton.ts
│   │   │   │   │   ├── UserProfile.ts
│   │   │   │   │   ├── UserVerification.ts
│   │   │   │   │   └── Waitlist.ts
│   │   │   │   ├── CoreClerkContextWrapper.tsx
│   │   │   │   ├── CoreClientContext.tsx
│   │   │   │   ├── CoreSessionContext.tsx
│   │   │   │   ├── CoreUserContext.tsx
│   │   │   │   ├── EnvironmentContext.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── ModuleManagerContext.tsx
│   │   │   │   ├── OptionsContext.tsx
│   │   │   │   └── utils.ts
│   │   │   ├── customizables
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── elementDescriptors.test.tsx
│   │   │   │   │   ├── FlowRoot.spec.tsx
│   │   │   │   │   ├── makeCustomizable.test.tsx
│   │   │   │   │   ├── parseAppearance.test.tsx
│   │   │   │   │   ├── parseVariables.test.ts
│   │   │   │   │   └── test-utils.ts
│   │   │   │   ├── AppearanceContext.tsx
│   │   │   │   ├── classGeneration.ts
│   │   │   │   ├── elementDescriptors.ts
│   │   │   │   ├── Flow.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── makeCustomizable.tsx
│   │   │   │   ├── makeResponsive.tsx
│   │   │   │   ├── parseAppearance.ts
│   │   │   │   ├── parseVariables.ts
│   │   │   │   └── sanitizeDomProps.tsx
│   │   │   ├── elements
│   │   │   │   ├── __mocks__
│   │   │   │   │   └── @formkit
│   │   │   │   │       └── auto-animate
│   │   │   │   │           └── react
│   │   │   │   │               └── index.ts
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── CodeControl.test.tsx
│   │   │   │   │   ├── LinkRenderer.test.tsx
│   │   │   │   │   ├── PlainInput.test.tsx
│   │   │   │   │   ├── RadioGroup.test.tsx
│   │   │   │   │   ├── SocialButtons.test.tsx
│   │   │   │   │   └── TimerButton.test.tsx
│   │   │   │   ├── Action
│   │   │   │   │   ├── ActionCard.tsx
│   │   │   │   │   ├── ActionClosed.tsx
│   │   │   │   │   ├── ActionOpen.tsx
│   │   │   │   │   ├── ActionRoot.tsx
│   │   │   │   │   ├── ActionTrigger.tsx
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── Actions.tsx
│   │   │   │   ├── Alert.tsx
│   │   │   │   ├── Animated.tsx
│   │   │   │   ├── ApplicationLogo.tsx
│   │   │   │   ├── ArrowBlockButton.tsx
│   │   │   │   ├── Avatar.tsx
│   │   │   │   ├── AvatarUploader.tsx
│   │   │   │   ├── BackLink.tsx
│   │   │   │   ├── Badge.tsx
│   │   │   │   ├── CaptchaElement.tsx
│   │   │   │   ├── Card
│   │   │   │   │   ├── CardAction.tsx
│   │   │   │   │   ├── CardAlert.tsx
│   │   │   │   │   ├── CardClerkAndPagesTag.tsx
│   │   │   │   │   ├── CardContent.tsx
│   │   │   │   │   ├── CardFooter.tsx
│   │   │   │   │   ├── CardRoot.tsx
│   │   │   │   │   └── index.ts
│   │   │   │   ├── ClipboardInput.tsx
│   │   │   │   ├── CodeControl.tsx
│   │   │   │   ├── contexts
│   │   │   │   │   └── index.tsx
│   │   │   │   ├── DataTable.tsx
│   │   │   │   ├── DevModeNotice.tsx
│   │   │   │   ├── Divider.tsx
│   │   │   │   ├── Drawer.tsx
│   │   │   │   ├── ErrorCard.tsx
│   │   │   │   ├── FieldControl.tsx
│   │   │   │   ├── Form.tsx
│   │   │   │   ├── FormattedPhoneNumber.tsx
│   │   │   │   ├── FormButtons.tsx
│   │   │   │   ├── FormContainer.tsx
│   │   │   │   ├── FormControl.tsx
│   │   │   │   ├── FullHeightLoader.tsx
│   │   │   │   ├── Gauge.tsx
│   │   │   │   ├── Header.tsx
│   │   │   │   ├── IconButton.tsx
│   │   │   │   ├── IconCircle.tsx
│   │   │   │   ├── IdentityPreview.tsx
│   │   │   │   ├── InformationBox.tsx
│   │   │   │   ├── InputGroup.tsx
│   │   │   │   ├── InputWithIcon.tsx
│   │   │   │   ├── InvisibleRootBox.tsx
│   │   │   │   ├── LegalConsentCheckbox.tsx
│   │   │   │   ├── LineItems.tsx
│   │   │   │   ├── LinkRenderer.tsx
│   │   │   │   ├── LoadingCard.tsx
│   │   │   │   ├── Menu.tsx
│   │   │   │   ├── Modal.tsx
│   │   │   │   ├── Navbar.tsx
│   │   │   │   ├── OrganizationAvatar.tsx
│   │   │   │   ├── OrganizationPreview.tsx
│   │   │   │   ├── Pagination.tsx
│   │   │   │   ├── PasswordInput.tsx
│   │   │   │   ├── PersonalWorkspacePreview.tsx
│   │   │   │   ├── PhoneInput
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   └── useFormattedPhoneNumber.test.ts
│   │   │   │   │   ├── countryCodeData.ts
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── useFormattedPhoneNumber.ts
│   │   │   │   ├── Popover.tsx
│   │   │   │   ├── PopoverCard.tsx
│   │   │   │   ├── Portal.tsx
│   │   │   │   ├── PreviewButton.tsx
│   │   │   │   ├── ProfileCard
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── ProfileCardContent.tsx
│   │   │   │   │   └── ProfileCardRoot.tsx
│   │   │   │   ├── RadioGroup.tsx
│   │   │   │   ├── ReversibleContainer.tsx
│   │   │   │   ├── RootBox.tsx
│   │   │   │   ├── RouterLink.tsx
│   │   │   │   ├── Section.tsx
│   │   │   │   ├── SegmentedControl.tsx
│   │   │   │   ├── Select.tsx
│   │   │   │   ├── SocialButtons.tsx
│   │   │   │   ├── SuccessPage.tsx
│   │   │   │   ├── Switch.tsx
│   │   │   │   ├── Tabs.tsx
│   │   │   │   ├── TagInput.tsx
│   │   │   │   ├── ThreeDotsMenu.tsx
│   │   │   │   ├── TimerButton.tsx
│   │   │   │   ├── Tooltip.tsx
│   │   │   │   ├── UserAvatar.tsx
│   │   │   │   ├── UserPreview.tsx
│   │   │   │   ├── utils.ts
│   │   │   │   ├── VerificationCodeCard.tsx
│   │   │   │   ├── VerificationLinkCard.tsx
│   │   │   │   ├── Web3SolanaWalletButtons.tsx
│   │   │   │   └── withAvatarShimmer.tsx
│   │   │   ├── emotion.d.ts
│   │   │   ├── entry.ts
│   │   │   ├── foundations
│   │   │   │   ├── __tests__
│   │   │   │   │   └── createInternalTheme.test.ts
│   │   │   │   ├── borders.ts
│   │   │   │   ├── colors.ts
│   │   │   │   ├── createInternalTheme.ts
│   │   │   │   ├── defaultFoundations.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── opacity.ts
│   │   │   │   ├── shadows.ts
│   │   │   │   ├── sizes.ts
│   │   │   │   ├── transitions.ts
│   │   │   │   ├── typography.ts
│   │   │   │   └── zIndices.ts
│   │   │   ├── global.d.ts
│   │   │   ├── hooks
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── useCoreOrganization.test.tsx
│   │   │   │   │   ├── useCoreOrganizationList.test.tsx
│   │   │   │   │   ├── useDevMode.test.tsx
│   │   │   │   │   ├── useDirection.test.ts
│   │   │   │   │   ├── useEnabledThirdPartyProviders.test.tsx
│   │   │   │   │   ├── usePasswordComplexity.test.tsx
│   │   │   │   │   └── useSupportEmail.test.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAlternativeStrategies.ts
│   │   │   │   ├── useClerkModalStateParams.tsx
│   │   │   │   ├── useClipboard.ts
│   │   │   │   ├── useDebounce.ts
│   │   │   │   ├── useDevMode.tsx
│   │   │   │   ├── useDirection.ts
│   │   │   │   ├── useEmailLink.ts
│   │   │   │   ├── useEnabledThirdPartyProviders.tsx
│   │   │   │   ├── useEnterpriseSSOLink.ts
│   │   │   │   ├── useFetch.ts
│   │   │   │   ├── useFetchRoles.ts
│   │   │   │   ├── useInView.ts
│   │   │   │   ├── useLoadingStatus.ts
│   │   │   │   ├── useMultipleSessions.ts
│   │   │   │   ├── useNavigateToFlowStart.ts
│   │   │   │   ├── useOrganizationListInView.ts
│   │   │   │   ├── usePassword.ts
│   │   │   │   ├── usePasswordComplexity.ts
│   │   │   │   ├── usePopover.ts
│   │   │   │   ├── usePrefersReducedMotion.ts
│   │   │   │   ├── usePreloadTasks.ts
│   │   │   │   ├── useSafeState.ts
│   │   │   │   ├── useScrollLock.ts
│   │   │   │   ├── useSearchInput.ts
│   │   │   │   ├── useSetSessionWithTimeout.ts
│   │   │   │   ├── useSupportEmail.ts
│   │   │   │   ├── useTabState.ts
│   │   │   │   ├── useTotalEnabledAuthMethods.ts
│   │   │   │   └── useWindowEventListener.ts
│   │   │   ├── icons
│   │   │   │   ├── add.svg
│   │   │   │   ├── apple-pay.svg
│   │   │   │   ├── arrow-left.svg
│   │   │   │   ├── arrow-right-button.svg
│   │   │   │   ├── arrow-right.svg
│   │   │   │   ├── arrows-up-down.svg
│   │   │   │   ├── auth-app.svg
│   │   │   │   ├── billing.svg
│   │   │   │   ├── block.svg
│   │   │   │   ├── caret-left.svg
│   │   │   │   ├── caret-right.svg
│   │   │   │   ├── caret.svg
│   │   │   │   ├── chat-alt.svg
│   │   │   │   ├── check-circle.svg
│   │   │   │   ├── check.svg
│   │   │   │   ├── checkmark-filled.svg
│   │   │   │   ├── chevron-down.svg
│   │   │   │   ├── chevron-up-down.svg
│   │   │   │   ├── clipboard-outline.svg
│   │   │   │   ├── clipboard.svg
│   │   │   │   ├── close.svg
│   │   │   │   ├── code.svg
│   │   │   │   ├── cog-filled.svg
│   │   │   │   ├── cog.svg
│   │   │   │   ├── copy.svg
│   │   │   │   ├── credit-card.svg
│   │   │   │   ├── device-laptop.svg
│   │   │   │   ├── device-mobile.svg
│   │   │   │   ├── dot-circle-horizontal.svg
│   │   │   │   ├── download.svg
│   │   │   │   ├── email.svg
│   │   │   │   ├── exclamation-circle.svg
│   │   │   │   ├── exclamation-triangle.svg
│   │   │   │   ├── eye-slash.svg
│   │   │   │   ├── eye.svg
│   │   │   │   ├── fingerprint.svg
│   │   │   │   ├── folder.svg
│   │   │   │   ├── generic-pay.svg
│   │   │   │   ├── index.ts
│   │   │   │   ├── information-circle.svg
│   │   │   │   ├── link.svg
│   │   │   │   ├── lock-closed.svg
│   │   │   │   ├── lock-dotted-circle.svg
│   │   │   │   ├── logo-mark-new.svg
│   │   │   │   ├── logo-mark.svg
│   │   │   │   ├── magnifying-glass.svg
│   │   │   │   ├── menu.svg
│   │   │   │   ├── minus.svg
│   │   │   │   ├── mobile-small.svg
│   │   │   │   ├── mobile.svg
│   │   │   │   ├── organization.svg
│   │   │   │   ├── pencil-edit.svg
│   │   │   │   ├── pencil.svg
│   │   │   │   ├── plans.svg
│   │   │   │   ├── plus.svg
│   │   │   │   ├── print.svg
│   │   │   │   ├── question-mark.svg
│   │   │   │   ├── request-auth.svg
│   │   │   │   ├── rotate-left-right.svg
│   │   │   │   ├── selector.svg
│   │   │   │   ├── signout-double.svg
│   │   │   │   ├── signout.svg
│   │   │   │   ├── spinner-jumbo.svg
│   │   │   │   ├── switch-arrow-right.svg
│   │   │   │   ├── switch-arrows.svg
│   │   │   │   ├── threeDots.svg
│   │   │   │   ├── tick-shield.svg
│   │   │   │   ├── times.svg
│   │   │   │   ├── trash.svg
│   │   │   │   ├── upload.svg
│   │   │   │   ├── user.svg
│   │   │   │   ├── userAdd.svg
│   │   │   │   └── users.svg
│   │   │   ├── index.browser.ts
│   │   │   ├── index.legacy.browser.ts
│   │   │   ├── index.ts
│   │   │   ├── internal
│   │   │   │   ├── appearance.ts
│   │   │   │   ├── index.ts
│   │   │   │   └── routing.ts
│   │   │   ├── lazyModules
│   │   │   │   ├── common.ts
│   │   │   │   ├── components.ts
│   │   │   │   ├── drawers.tsx
│   │   │   │   ├── MountedCheckoutDrawer.tsx
│   │   │   │   ├── MountedPlanDetailDrawer.tsx
│   │   │   │   ├── MountedSubscriptionDetailDrawer.tsx
│   │   │   │   └── providers.tsx
│   │   │   ├── localization
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── applyTokensToString.test.ts
│   │   │   │   │   ├── makeLocalizable.test.tsx
│   │   │   │   │   └── parseLocalization.test.tsx
│   │   │   │   ├── applyTokensToString.ts
│   │   │   │   ├── defaultEnglishResource.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── localizationKeys.ts
│   │   │   │   ├── localizationModifiers.ts
│   │   │   │   ├── makeLocalizable.tsx
│   │   │   │   └── parseLocalization.ts
│   │   │   ├── portal
│   │   │   │   └── index.tsx
│   │   │   ├── primitives
│   │   │   │   ├── Alert.tsx
│   │   │   │   ├── AlertIcon.tsx
│   │   │   │   ├── applyDataStateProps.ts
│   │   │   │   ├── Badge.tsx
│   │   │   │   ├── Box.tsx
│   │   │   │   ├── Button.tsx
│   │   │   │   ├── Dd.tsx
│   │   │   │   ├── Dl.tsx
│   │   │   │   ├── Dt.tsx
│   │   │   │   ├── Flex.tsx
│   │   │   │   ├── Form.tsx
│   │   │   │   ├── FormErrorText.tsx
│   │   │   │   ├── FormInfoText.tsx
│   │   │   │   ├── FormLabel.tsx
│   │   │   │   ├── FormSuccessText.tsx
│   │   │   │   ├── FormWarningText.tsx
│   │   │   │   ├── gapPropertyCompat.ts
│   │   │   │   ├── Grid.tsx
│   │   │   │   ├── Heading.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── useFormField.tsx
│   │   │   │   │   └── useInput.ts
│   │   │   │   ├── Hr.tsx
│   │   │   │   ├── Icon.tsx
│   │   │   │   ├── Image.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── Input.tsx
│   │   │   │   ├── Link.tsx
│   │   │   │   ├── NotificationBadge.tsx
│   │   │   │   ├── Span.tsx
│   │   │   │   ├── Spinner.tsx
│   │   │   │   ├── Table.tsx
│   │   │   │   ├── Tbody.tsx
│   │   │   │   ├── Td.tsx
│   │   │   │   ├── Text.tsx
│   │   │   │   ├── Th.tsx
│   │   │   │   ├── Thead.tsx
│   │   │   │   └── Tr.tsx
│   │   │   ├── router
│   │   │   │   ├── __mocks__
│   │   │   │   │   └── RouteContext.tsx
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── HashRouter.test.tsx
│   │   │   │   │   ├── PathRouter.test.tsx
│   │   │   │   │   ├── Switch.test.tsx
│   │   │   │   │   └── VirtualRouter.test.tsx
│   │   │   │   ├── BaseRouter.tsx
│   │   │   │   ├── HashRouter.tsx
│   │   │   │   ├── index.tsx
│   │   │   │   ├── newPaths.ts
│   │   │   │   ├── PathRouter.tsx
│   │   │   │   ├── pathToRegexp.ts
│   │   │   │   ├── Route.tsx
│   │   │   │   ├── RouteContext.tsx
│   │   │   │   ├── Switch.tsx
│   │   │   │   └── VirtualRouter.tsx
│   │   │   ├── styledSystem
│   │   │   │   ├── __tests__
│   │   │   │   │   └── createVariants.test.ts
│   │   │   │   ├── animations.ts
│   │   │   │   ├── breakpoints.tsx
│   │   │   │   ├── common.ts
│   │   │   │   ├── createCssVariables.ts
│   │   │   │   ├── createVariants.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── InternalThemeProvider.tsx
│   │   │   │   ├── StyleCacheProvider.tsx
│   │   │   │   └── types.ts
│   │   │   ├── themes
│   │   │   │   ├── createTheme.ts
│   │   │   │   ├── dark.ts
│   │   │   │   ├── experimental.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── neobrutalism.ts
│   │   │   │   ├── shadcn.css
│   │   │   │   ├── shadcn.ts
│   │   │   │   └── shadesOfPurple.ts
│   │   │   ├── types.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── createCustomMenuItems.test.ts
│   │   │       │   ├── createCustomPages.test.ts
│   │   │       │   ├── cssSupports.test.ts
│   │   │       │   ├── cssVariables.test.ts
│   │   │       │   ├── dynamicParamParser.test.ts
│   │   │       │   ├── extractCssLayerNameFromAppearance.ts
│   │   │       │   ├── factorSorting.test.ts
│   │   │       │   ├── formatSafeIdentifier.test.ts
│   │   │       │   ├── intl.test.ts
│   │   │       │   ├── originPrefersPopup.test.ts
│   │   │       │   ├── passwordUtils.test.tsx
│   │   │       │   ├── phoneUtils.test.ts
│   │   │       │   └── truncateTextWithEndVisible.test.ts
│   │   │       ├── buildVirtualRouterUrl.ts
│   │   │       ├── captcha
│   │   │       │   └── constants.ts
│   │   │       ├── colors
│   │   │       │   ├── __tests__
│   │   │       │   │   ├── constants.test.ts
│   │   │       │   │   ├── index.test.ts
│   │   │       │   │   ├── legacy.test.ts
│   │   │       │   │   ├── modern.test.ts
│   │   │       │   │   ├── scales.test.ts
│   │   │       │   │   └── utils.test.ts
│   │   │       │   ├── constants.ts
│   │   │       │   ├── index.ts
│   │   │       │   ├── legacy.ts
│   │   │       │   ├── modern.ts
│   │   │       │   ├── README.md
│   │   │       │   ├── scales.ts
│   │   │       │   └── utils.ts
│   │   │       ├── containsAllOf.ts
│   │   │       ├── createCustomMenuItems.tsx
│   │   │       ├── createCustomPages.tsx
│   │   │       ├── createInfiniteAccessProxy.ts
│   │   │       ├── createSlug.ts
│   │   │       ├── cssSupports.ts
│   │   │       ├── cssVariables.ts
│   │   │       ├── disambiguateRedirectOptions.ts
│   │   │       ├── dynamicParamParser.ts
│   │   │       ├── errorHandler.ts
│   │   │       ├── ExternalElementMounter.tsx
│   │   │       ├── extractCssLayerNameFromAppearance.ts
│   │   │       ├── factorSorting.ts
│   │   │       ├── formatDate.ts
│   │   │       ├── formatSafeIdentifier.ts
│   │   │       ├── fromEntries.ts
│   │   │       ├── getClosestProfileScrollBox.ts
│   │   │       ├── getRelativeToNowDateKey.ts
│   │   │       ├── getValidReactChildren.ts
│   │   │       ├── image.ts
│   │   │       ├── intl.ts
│   │   │       ├── isMobileDevice.ts
│   │   │       ├── mergeRefs.ts
│   │   │       ├── normalizeRoutingOptions.ts
│   │   │       ├── one-tap.ts
│   │   │       ├── originPrefersPopup.ts
│   │   │       ├── passwordUtils.ts
│   │   │       ├── phoneUtils.ts
│   │   │       ├── range.ts
│   │   │       ├── readObjectPath.ts
│   │   │       ├── removeUndefinedProps.ts
│   │   │       ├── roleLocalizationKey.ts
│   │   │       ├── runtimeEnvironment.ts
│   │   │       ├── sanitizeCustomLinkURL.ts
│   │   │       ├── setWebpackChunkPublicPath.ts
│   │   │       ├── sleep.ts
│   │   │       ├── timeAgo.ts
│   │   │       ├── truncateTextWithEndVisible.ts
│   │   │       ├── useFormControl.ts
│   │   │       ├── usernameUtils.ts
│   │   │       └── web3CallbackErrorHandler.ts
│   │   ├── tsconfig.json
│   │   ├── tsdown.config.mts
│   │   └── turbo.json
│   ├── upgrade
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── scripts
│   │   │   └── generate-guide.js
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── fixtures
│   │   │   │   │   ├── expo-old-package
│   │   │   │   │   │   ├── package-lock.json
│   │   │   │   │   │   ├── package.json
│   │   │   │   │   │   └── src
│   │   │   │   │   │       └── App.tsx
│   │   │   │   │   ├── nextjs-catalog
│   │   │   │   │   │   ├── package.json
│   │   │   │   │   │   ├── pnpm-lock.yaml
│   │   │   │   │   │   └── src
│   │   │   │   │   │       └── app.tsx
│   │   │   │   │   ├── nextjs-v6
│   │   │   │   │   │   ├── package.json
│   │   │   │   │   │   ├── pnpm-lock.yaml
│   │   │   │   │   │   └── src
│   │   │   │   │   │       └── app.tsx
│   │   │   │   │   ├── nextjs-v6-scan-issues
│   │   │   │   │   │   ├── package.json
│   │   │   │   │   │   ├── pnpm-lock.yaml
│   │   │   │   │   │   └── src
│   │   │   │   │   │       └── app.tsx
│   │   │   │   │   ├── nextjs-v7
│   │   │   │   │   │   ├── package.json
│   │   │   │   │   │   ├── pnpm-lock.yaml
│   │   │   │   │   │   └── src
│   │   │   │   │   │       └── app.tsx
│   │   │   │   │   ├── no-clerk
│   │   │   │   │   │   └── package.json
│   │   │   │   │   └── react-v6
│   │   │   │   │       ├── package.json
│   │   │   │   │       ├── src
│   │   │   │   │       │   └── App.tsx
│   │   │   │   │       └── yarn.lock
│   │   │   │   ├── helpers
│   │   │   │   │   └── create-fixture.js
│   │   │   │   └── integration
│   │   │   │       ├── cli.test.js
│   │   │   │       ├── config.test.js
│   │   │   │       ├── detect-sdk.test.js
│   │   │   │       └── runner.test.js
│   │   │   ├── cli.js
│   │   │   ├── codemods
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __fixtures__
│   │   │   │   │   │   ├── transform-align-experimental-unstable-prefixes.fixtures.js
│   │   │   │   │   │   ├── transform-appearance-layout-to-options.fixtures.js
│   │   │   │   │   │   ├── transform-async-request.fixtures.js
│   │   │   │   │   │   ├── transform-clerk-provider-dynamic.fixtures.js
│   │   │   │   │   │   ├── transform-clerk-react-v6.fixtures.js
│   │   │   │   │   │   ├── transform-protect-to-show.fixtures.js
│   │   │   │   │   │   ├── transform-remove-deprecated-appearance-props.fixtures.js
│   │   │   │   │   │   ├── transform-remove-deprecated-props.fixtures.js
│   │   │   │   │   │   └── transform-themes-to-ui-themes.fixtures.js
│   │   │   │   │   ├── transform-align-experimental-unstable-prefixes.test.js
│   │   │   │   │   ├── transform-appearance-layout-to-options.test.js
│   │   │   │   │   ├── transform-async-request.test.js
│   │   │   │   │   ├── transform-clerk-provider-dynamic.test.js
│   │   │   │   │   ├── transform-clerk-react-v6.test.js
│   │   │   │   │   ├── transform-protect-to-show.test.js
│   │   │   │   │   ├── transform-remove-deprecated-appearance-props.test.js
│   │   │   │   │   ├── transform-remove-deprecated-props.test.js
│   │   │   │   │   └── transform-themes-to-ui-themes.test.js
│   │   │   │   ├── index.js
│   │   │   │   ├── transform-align-experimental-unstable-prefixes.cjs
│   │   │   │   ├── transform-appearance-layout-to-options.cjs
│   │   │   │   ├── transform-async-request.cjs
│   │   │   │   ├── transform-clerk-provider-dynamic.cjs
│   │   │   │   ├── transform-clerk-react-v6.cjs
│   │   │   │   ├── transform-protect-to-show.cjs
│   │   │   │   ├── transform-remove-deprecated-appearance-props.cjs
│   │   │   │   ├── transform-remove-deprecated-props.cjs
│   │   │   │   └── transform-themes-to-ui-themes.cjs
│   │   │   ├── config.js
│   │   │   ├── constants
│   │   │   │   ├── sdks.js
│   │   │   │   └── versions.js
│   │   │   ├── guide-generators
│   │   │   │   ├── core-2
│   │   │   │   │   ├── backend
│   │   │   │   │   │   ├── import-paths.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── chrome-extension
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── expo
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── fastify
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── generate-all.sh
│   │   │   │   │   ├── js
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── nextjs
│   │   │   │   │   │   ├── import-changes.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── intro.mdx
│   │   │   │   │   │   ├── middleware-changes.mdx
│   │   │   │   │   │   └── nextjs-version.mdx
│   │   │   │   │   ├── node
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   ├── intro.mdx
│   │   │   │   │   │   └── node-setters-removals.mdx
│   │   │   │   │   ├── overview
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── react
│   │   │   │   │   │   ├── hof-removals.mdx
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── remix
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   ├── retheme
│   │   │   │   │   │   ├── index.js
│   │   │   │   │   │   └── intro.mdx
│   │   │   │   │   └── shared
│   │   │   │   │       ├── after-sign-x-handling.mdx
│   │   │   │   │       ├── cli.mdx
│   │   │   │   │       ├── deprecation-removals.mdx
│   │   │   │   │       ├── image-url.mdx
│   │   │   │   │       ├── node-version.mdx
│   │   │   │   │       ├── orgs-claim.mdx
│   │   │   │   │       ├── pagination-args.mdx
│   │   │   │   │       ├── pagination-return.mdx
│   │   │   │   │       ├── path-routing.mdx
│   │   │   │   │       ├── prepare.mdx
│   │   │   │   │       ├── react-version.mdx
│   │   │   │   │       ├── redesign-preview.mdx
│   │   │   │   │       └── update-version.mdx
│   │   │   │   └── text-generation.js
│   │   │   ├── img
│   │   │   │   ├── alternativemethods-backlink.png
│   │   │   │   ├── button-to-organizationlistcreateorganizationactionbutton.png
│   │   │   │   ├── connected-accounts-dropdown.png
│   │   │   │   ├── mfa-dropdown.png
│   │   │   │   ├── organizationprofile-settings.png
│   │   │   │   ├── remove-identitypreview-avatar.png
│   │   │   │   ├── remove-socialbuttonsblockbuttonarrow.png
│   │   │   │   ├── userbuttonpopoveractionbuttontext-removed.png
│   │   │   │   └── userprofile-security.png
│   │   │   ├── render.js
│   │   │   ├── runner.js
│   │   │   ├── util
│   │   │   │   ├── all-titles.js
│   │   │   │   ├── detect-sdk.js
│   │   │   │   ├── generate-changelog.js
│   │   │   │   ├── load-change.js
│   │   │   │   └── package-manager.js
│   │   │   └── versions
│   │   │       ├── core-2
│   │   │       │   ├── backend
│   │   │       │   │   ├── api-url-value-changed.md
│   │   │       │   │   ├── authenticaterequest-params-change.md
│   │   │       │   │   ├── buildrequesturl-removed.md
│   │   │       │   │   ├── clerk-import.md
│   │   │       │   │   ├── client-unstableoptions-removed.md
│   │   │       │   │   ├── clockskewinseconds.md
│   │   │       │   │   ├── constants-import-path-move.md
│   │   │       │   │   ├── createauthenticaterequest-import-path-move.md
│   │   │       │   │   ├── createclerkclient-apikey.md
│   │   │       │   │   ├── createclerkclient-frontendapi.md
│   │   │       │   │   ├── createemail-removed.md
│   │   │       │   │   ├── createisomorphicrequest-import-path-move.md
│   │   │       │   │   ├── createisomorphicrequest-removed.md
│   │   │       │   │   ├── decodejwt-import-path-move.md
│   │   │       │   │   ├── getclientlist-arguments.md
│   │   │       │   │   ├── getorganizationmembershiplist-return-signature.md
│   │   │       │   │   ├── getpendingorganizationinvitationlist.md
│   │   │       │   │   ├── getsessionlist-arguments.md
│   │   │       │   │   ├── httpoptions-removed.md
│   │   │       │   │   ├── interstitial-removed.md
│   │   │       │   │   ├── members-count.md
│   │   │       │   │   ├── membershiprole.md
│   │   │       │   │   ├── organizationjson-logourl.md
│   │   │       │   │   ├── organizationmembershippublicuserdatajson-profileimageurl.md
│   │   │       │   │   ├── pkgversion.md
│   │   │       │   │   ├── redirect-import-path-move.md
│   │   │       │   │   ├── signjwt-import-path-move.md
│   │   │       │   │   ├── signjwterror-import-move.md
│   │   │       │   │   ├── tokenverificationerror-import-move.md
│   │   │       │   │   ├── tokenverificationerroraction-import-move.md
│   │   │       │   │   ├── tokenverificationerrorcode-import-move.md
│   │   │       │   │   ├── tokenverificationerrorreason-import-move.md
│   │   │       │   │   ├── userjson-profileimageurl.md
│   │   │       │   │   └── verifyjwt-import-path-move.md
│   │   │       │   ├── chrome-extension
│   │   │       │   │   └── clerkprovider-tokencache.md
│   │   │       │   ├── common
│   │   │       │   │   ├── aftersignxurl-changes.md
│   │   │       │   │   ├── afterswitchorganizationurl.md
│   │   │       │   │   ├── alternativemethods-backlink.md
│   │   │       │   │   ├── api-key-to-secret-key.md
│   │   │       │   │   ├── appearance-organizationpreview-organizationswitcher.md
│   │   │       │   │   ├── appearance-variables-breaking-changes.md
│   │   │       │   │   ├── button-to-organizationlistcreateorganizationactionbutton.md
│   │   │       │   │   ├── card-changes.md
│   │   │       │   │   ├── changed-localization-keys.md
│   │   │       │   │   ├── clerkprovider-frontendapi-2.md
│   │   │       │   │   ├── clerkprovideroptionswrapper-dropped.md
│   │   │       │   │   ├── connected-accounts-dropdown.md
│   │   │       │   │   ├── emaillinkerrorcode-import-change.md
│   │   │       │   │   ├── externalaccount-avatarurl.md
│   │   │       │   │   ├── externalaccount-picture.md
│   │   │       │   │   ├── externalaccountjson-avatarurl.md
│   │   │       │   │   ├── frontend-api-to-publishable-key.md
│   │   │       │   │   ├── getallowlistidentifierlist-return-signature.md
│   │   │       │   │   ├── getclientlist-return-signature.md
│   │   │       │   │   ├── getinvitationlist-return-signature.md
│   │   │       │   │   ├── getorganizationinvitationlist-return-signature.md
│   │   │       │   │   ├── getorganizationinvitationlist-return-type-change.md
│   │   │       │   │   ├── getorganizationlist-return-signature.md
│   │   │       │   │   ├── getorganizationlist-return-type-change.md
│   │   │       │   │   ├── getorganizationmembershiplist-return-type-change.md
│   │   │       │   │   ├── getredirecturllist-return-signature.md
│   │   │       │   │   ├── getsessionlist-return-signature.md
│   │   │       │   │   ├── getuserlist-return-signature.md
│   │   │       │   │   ├── getuseroauthaccesstoken-return-signature.md
│   │   │       │   │   ├── handlemagiclinkverification.md
│   │   │       │   │   ├── isclerkapiresponserror-import-change.md
│   │   │       │   │   ├── isemaillinkerror-import-change.md
│   │   │       │   │   ├── isknownerror-import-change.md
│   │   │       │   │   ├── ismagiclinkerror.md
│   │   │       │   │   ├── ismetamaskerror-import-change.md
│   │   │       │   │   ├── magiclinkerror.md
│   │   │       │   │   ├── magiclinkerrorcode.md
│   │   │       │   │   ├── mfa-dropdown.md
│   │   │       │   │   ├── min-react-version.md
│   │   │       │   │   ├── multisessionappsupport-import-change.md
│   │   │       │   │   ├── navigate-to-routerpush-routerreplace.md
│   │   │       │   │   ├── new-localization-keys.md
│   │   │       │   │   ├── organization-create-string.md
│   │   │       │   │   ├── organization-getdomains-arguments-change.md
│   │   │       │   │   ├── organization-getinvitations-arguments-changed.md
│   │   │       │   │   ├── organization-getmembershiprequests-arguments-changed.md
│   │   │       │   │   ├── organization-getmemberships-arguments-changed.md
│   │   │       │   │   ├── organization-getpendinginvitations.md
│   │   │       │   │   ├── organization-getroles-arguments-changed.md
│   │   │       │   │   ├── organization-logourl.md
│   │   │       │   │   ├── organizationmembershippublicuserdata-profileimageurl.md
│   │   │       │   │   ├── organizationprofile-settings.md
│   │   │       │   │   ├── organizationswitcherpopoveractionbuttontext-removed.md
│   │   │       │   │   ├── remove-identitypreview-avatar.md
│   │   │       │   │   ├── remove-socialbuttonsblockbuttonarrow.md
│   │   │       │   │   ├── removed-localization-keys.md
│   │   │       │   │   ├── setsession.md
│   │   │       │   │   ├── signoutcallback-to-redirecturl.md
│   │   │       │   │   ├── supported-external-accounts-removed.md
│   │   │       │   │   ├── usemagiclink.md
│   │   │       │   │   ├── useorganization-invitationlist.md
│   │   │       │   │   ├── useorganization-membershiplist.md
│   │   │       │   │   ├── useorganizations.md
│   │   │       │   │   ├── user-getorganizationinvitations-arguments-changed.md
│   │   │       │   │   ├── user-getorganizationmemberships-arguments-changed.md
│   │   │       │   │   ├── user-getorganizationmemberships-return-signature.md
│   │   │       │   │   ├── user-getorganizationsuggestions-arguments-changed.md
│   │   │       │   │   ├── user-profileimageurl.md
│   │   │       │   │   ├── user-update-password.md
│   │   │       │   │   ├── userbuttonpopoveractionbuttontext-removed.md
│   │   │       │   │   ├── userbuttontrigger-userbuttonbox-invert.md
│   │   │       │   │   ├── userprofile-prop.md
│   │   │       │   │   ├── userprofile-security.md
│   │   │       │   │   ├── withclerk-hof-removed.md
│   │   │       │   │   ├── withclerk-removed.md
│   │   │       │   │   ├── withsession-hof-removed.md
│   │   │       │   │   ├── withsession-removed.md
│   │   │       │   │   ├── withuser-hof-removed.md
│   │   │       │   │   └── withuser-removed-2.md
│   │   │       │   ├── expo
│   │   │       │   │   ├── apikey-to-publishable-key.md
│   │   │       │   │   └── clerkprovider-frontendapi.md
│   │   │       │   ├── fastify
│   │   │       │   │   ├── api-url-value-change.md
│   │   │       │   │   ├── clerk-import-change.md
│   │   │       │   │   ├── clerkplugin-frontendapi.md
│   │   │       │   │   ├── createclerkclient-apikey.md
│   │   │       │   │   └── createclerkclient-frontendapi.md
│   │   │       │   ├── index.js
│   │   │       │   ├── js
│   │   │       │   │   ├── clerk-import.md
│   │   │       │   │   ├── clerk-isready-removed.md
│   │   │       │   │   ├── experimental-canusecaptcha.md
│   │   │       │   │   ├── experimental-captchasitekey.md
│   │   │       │   │   ├── experimental-captchaurl.md
│   │   │       │   │   ├── getorganizationmemberships.md
│   │   │       │   │   ├── lastorganizationinvitation-member.md
│   │   │       │   │   ├── redirecttohome.md
│   │   │       │   │   ├── signup-attemptweb3walletverification-generatedsignature.md
│   │   │       │   │   ├── unstable-invitationupdate.md
│   │   │       │   │   ├── unstable-membershipupdate.md
│   │   │       │   │   ├── user-createexternalaccount-redirecturl.md
│   │   │       │   │   └── user-orgpublicdata-profileimageurl.md
│   │   │       │   ├── nextjs
│   │   │       │   │   ├── api-url-value-change.md
│   │   │       │   │   ├── auth-import-change.md
│   │   │       │   │   ├── auth-middleware-deprecated.md
│   │   │       │   │   ├── authmiddleware-apikey.md
│   │   │       │   │   ├── authmiddleware-frontendapi.md
│   │   │       │   │   ├── authmiddleware-import-change.md
│   │   │       │   │   ├── buildclerkprops-import-change.md
│   │   │       │   │   ├── clerk-import-change.md
│   │   │       │   │   ├── clerk-js-version-next-public.md
│   │   │       │   │   ├── constants-import-change.md
│   │   │       │   │   ├── createauthenticaterequest-import-change.md
│   │   │       │   │   ├── createclerkclient-apikey.md
│   │   │       │   │   ├── createclerkclient-frontendapi.md
│   │   │       │   │   ├── createisomorphicrequest-import-change.md
│   │   │       │   │   ├── currentuser-import-change.md
│   │   │       │   │   ├── decodejwt-import-change.md
│   │   │       │   │   ├── emaillinkerrorcode-import-change.md
│   │   │       │   │   ├── getauth-apikey.md
│   │   │       │   │   ├── import-api-url.md
│   │   │       │   │   ├── import-api-version.md
│   │   │       │   │   ├── import-clerk-js-url.md
│   │   │       │   │   ├── import-clerk-js-version.md
│   │   │       │   │   ├── import-domain.md
│   │   │       │   │   ├── import-is-satellite.md
│   │   │       │   │   ├── import-nextjs-api.md
│   │   │       │   │   ├── import-nextjs-app-beta.md
│   │   │       │   │   ├── import-nextjs-edge-middleware.md
│   │   │       │   │   ├── import-nextjs-edge-middlewarefiles.md
│   │   │       │   │   ├── import-nextjs-ssr.md
│   │   │       │   │   ├── import-proxy-url.md
│   │   │       │   │   ├── import-publishable-key.md
│   │   │       │   │   ├── import-secret-key.md
│   │   │       │   │   ├── import-sign-in-url.md
│   │   │       │   │   ├── import-sign-up-url.md
│   │   │       │   │   ├── isclerkapiresponserror-import-change.md
│   │   │       │   │   ├── isemaillinkerror-import-change.md
│   │   │       │   │   ├── isknownerror-import-change.md
│   │   │       │   │   ├── min-nextjs-version.md
│   │   │       │   │   ├── multisessionappsupport-import-change.md
│   │   │       │   │   ├── next-public-clerk-js-url.md
│   │   │       │   │   ├── redirect-import-change.md
│   │   │       │   │   ├── redirecttosignin-import-path.md
│   │   │       │   │   ├── redirecttosignup-import-path.md
│   │   │       │   │   ├── signjwt-import-change.md
│   │   │       │   │   ├── verifyjwt-import-change.md
│   │   │       │   │   ├── verifytoken-import-change.md
│   │   │       │   │   └── with-clerk-middleware-removed.md
│   │   │       │   ├── node
│   │   │       │   │   ├── api-url-value-change.md
│   │   │       │   │   ├── cjs-esm-instance.md
│   │   │       │   │   ├── clerk-import-change.md
│   │   │       │   │   ├── clerkexpressrequireauth-apikey.md
│   │   │       │   │   ├── clerkexpressrequireauth-frontendapi.md
│   │   │       │   │   ├── clerkexpresswithauth-apikey.md
│   │   │       │   │   ├── clerkexpresswithauth-frontendapi.md
│   │   │       │   │   ├── createclerkclient-apikey.md
│   │   │       │   │   ├── createclerkclient-frontendapi.md
│   │   │       │   │   ├── createclerkexpressrequireauth-apikey.md
│   │   │       │   │   ├── createclerkexpressrequireauth-frontendapi.md
│   │   │       │   │   ├── createclerkexpressrequireauth-public-key-required.md
│   │   │       │   │   ├── createclerkexpresswithauth-apikey.md
│   │   │       │   │   ├── createclerkexpresswithauth-frontendapi.md
│   │   │       │   │   ├── createclerkexpresswithauth-publickey-required.md
│   │   │       │   │   ├── legacyauthobject-removed.md
│   │   │       │   │   ├── setclerkapikey.md
│   │   │       │   │   ├── setclerkapiversion.md
│   │   │       │   │   ├── setclerkhttpoptions.md
│   │   │       │   │   └── setclerkserverapiurl.md
│   │   │       │   ├── react
│   │   │       │   │   └── api-url-value-change.md
│   │   │       │   ├── remix
│   │   │       │   │   ├── clerk-import-change.md
│   │   │       │   │   ├── clerkerrorboundary-removed.md
│   │   │       │   │   ├── createclerkclient-apikey.md
│   │   │       │   │   ├── getauth-apikey.md
│   │   │       │   │   ├── rootauthloader-apikey.md
│   │   │       │   │   └── rootauthloader-frontendapi.md
│   │   │       │   └── shared
│   │   │       │       ├── getrequesturl.md
│   │   │       │       ├── organizationcontext.md
│   │   │       │       └── useorganizationlist-organizationlist.md
│   │   │       └── core-3
│   │   │           ├── changes
│   │   │           │   ├── after-switch-organization-url-removed.md
│   │   │           │   ├── appearance-layout-to-options.md
│   │   │           │   ├── billing-props-removed.md
│   │   │           │   ├── checkout-api-changed.md
│   │   │           │   ├── clerk-api-error-kind-added.md
│   │   │           │   ├── clerk-expo-package-rename.md
│   │   │           │   ├── clerk-react-package-rename.md
│   │   │           │   ├── clerk-types-deprecation.md
│   │   │           │   ├── client-active-sessions-removed.md
│   │   │           │   ├── color-ring-backdrop-opacity.md
│   │   │           │   ├── deprecated-redirect-props-removed.md
│   │   │           │   ├── experimental-prefix-aligned.md
│   │   │           │   ├── expo-clerk-export-removed.md
│   │   │           │   ├── expo-min-version.md
│   │   │           │   ├── hide-slug-removed.md
│   │   │           │   ├── min-node-version.md
│   │   │           │   ├── nextjs-encryption-key-required.md
│   │   │           │   ├── nuxt-getauth-removed.md
│   │   │           │   ├── nuxt-routing-strategy-default-path.md
│   │   │           │   ├── protect-signedin-signedout-replaced-by-show.md
│   │   │           │   ├── saml-account-renamed.md
│   │   │           │   ├── saml-to-enterprise-sso.md
│   │   │           │   ├── set-active-before-emit-removed.md
│   │   │           │   ├── show-optional-fields-default.md
│   │   │           │   ├── ui-themes-export-path.md
│   │   │           │   ├── unstable-to-internal.md
│   │   │           │   ├── user-settings-saml-renamed.md
│   │   │           │   └── userbutton-signout-props-removed.md
│   │   │           └── index.js
│   │   ├── tsconfig.json
│   │   └── vitest.config.js
│   └── vue
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── package.json
│       ├── README.md
│       ├── src
│       │   ├── components
│       │   │   ├── __tests__
│       │   │   │   ├── ClerkHostRenderer.test.ts
│       │   │   │   ├── SignInButton.test.ts
│       │   │   │   ├── SignInWithMetamaskButton.test.ts
│       │   │   │   ├── SignOutButton.test.ts
│       │   │   │   └── SignUpButton.test.ts
│       │   │   ├── CheckoutButton.vue
│       │   │   ├── ClerkHostRenderer.ts
│       │   │   ├── controlComponents.ts
│       │   │   ├── index.ts
│       │   │   ├── PlanDetailsButton.vue
│       │   │   ├── SignInButton.vue
│       │   │   ├── SignInWithMetamaskButton.vue
│       │   │   ├── SignOutButton.vue
│       │   │   ├── SignUpButton.vue
│       │   │   ├── SubscriptionDetailsButton.vue
│       │   │   └── ui-components
│       │   │       ├── APIKeys.vue
│       │   │       ├── CreateOrganization.vue
│       │   │       ├── GoogleOneTap.vue
│       │   │       ├── OrganizationList.vue
│       │   │       ├── OrganizationProfile
│       │   │       │   ├── index.ts
│       │   │       │   └── OrganizationProfile.vue
│       │   │       ├── OrganizationSwitcher
│       │   │       │   ├── index.ts
│       │   │       │   └── OrganizationSwitcher.vue
│       │   │       ├── PricingTable.vue
│       │   │       ├── SignIn.vue
│       │   │       ├── SignUp.vue
│       │   │       ├── UserAvatar.vue
│       │   │       ├── UserButton
│       │   │       │   ├── index.ts
│       │   │       │   └── UserButton.vue
│       │   │       ├── UserProfile
│       │   │       │   ├── index.ts
│       │   │       │   └── UserProfile.vue
│       │   │       └── Waitlist.vue
│       │   ├── composables
│       │   │   ├── __tests__
│       │   │   │   ├── __snapshots__
│       │   │   │   │   └── useRoutingProps.test.ts.snap
│       │   │   │   ├── useClerkContext.test.ts
│       │   │   │   └── useRoutingProps.test.ts
│       │   │   ├── index.ts
│       │   │   ├── useAuth.ts
│       │   │   ├── useClerk.ts
│       │   │   ├── useClerkContext.ts
│       │   │   ├── useOrganization.ts
│       │   │   ├── useRoutingProps.ts
│       │   │   ├── useSession.ts
│       │   │   ├── useSessionList.ts
│       │   │   ├── useSignIn.ts
│       │   │   ├── useSignUp.ts
│       │   │   └── useUser.ts
│       │   ├── env.d.ts
│       │   ├── errors
│       │   │   ├── errorThrower.ts
│       │   │   └── messages.ts
│       │   ├── errors.ts
│       │   ├── experimental.ts
│       │   ├── global.d.ts
│       │   ├── index.ts
│       │   ├── internal.ts
│       │   ├── keys.ts
│       │   ├── plugin.ts
│       │   ├── types.ts
│       │   └── utils
│       │       ├── __tests__
│       │       │   ├── useCustomElementPortal.test.ts
│       │       │   └── useCustomMenuItems.test.ts
│       │       ├── childrenUtils.ts
│       │       ├── componentValidation.ts
│       │       ├── index.ts
│       │       ├── toComputedRefs.ts
│       │       ├── updateClerkOptions.ts
│       │       ├── useClerkLoaded.ts
│       │       ├── useCustomElementPortal.ts
│       │       ├── useCustomMenuItems.ts
│       │       └── useCustomPages.ts
│       ├── tsconfig.build.json
│       ├── tsconfig.json
│       ├── tsup.config.ts
│       ├── vitest.config.ts
│       └── vitest.setup.ts
├── playground
│   ├── app-router
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── next.svg
│   │   │   └── vercel.svg
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── app
│   │   │   │   ├── action
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── api
│   │   │   │   │   └── hello
│   │   │   │   │       └── route.ts
│   │   │   │   ├── client
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── favicon.ico
│   │   │   │   ├── globals.css
│   │   │   │   ├── layout.tsx
│   │   │   │   ├── page.module.css
│   │   │   │   ├── page.tsx
│   │   │   │   ├── protected
│   │   │   │   │   ├── ClientSideWrapper.tsx
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── [[...catchall]]
│   │   │   │   │       └── page.tsx
│   │   │   │   └── sign-up
│   │   │   │       └── [[...catchall]]
│   │   │   │           └── page.tsx
│   │   │   ├── common
│   │   │   │   └── Links.tsx
│   │   │   ├── middleware.ts
│   │   │   └── pages
│   │   │       ├── _app.tsx
│   │   │       ├── profile
│   │   │       │   └── [[...index]].tsx
│   │   │       └── user
│   │   │           └── [[...index]].tsx
│   │   └── tsconfig.json
│   ├── browser-extension
│   │   ├── .env.chrome.example
│   │   ├── .env.development.example
│   │   ├── .gitignore
│   │   ├── assets
│   │   │   └── icon.png
│   │   ├── package.json
│   │   ├── postcss.config.js
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── assets
│   │   │   │   ├── chrome-extension-sdk-2.jpg
│   │   │   │   ├── dark-logo.png
│   │   │   │   ├── icon.png
│   │   │   │   └── light-logo.png
│   │   │   ├── background
│   │   │   │   └── index.ts
│   │   │   ├── components
│   │   │   │   ├── nav-bar.tsx
│   │   │   │   └── ui
│   │   │   │       └── button.tsx
│   │   │   ├── content.tsx
│   │   │   ├── features
│   │   │   │   └── count-button.tsx
│   │   │   ├── popup
│   │   │   │   ├── index.tsx
│   │   │   │   ├── layouts
│   │   │   │   │   └── root-layout.tsx
│   │   │   │   └── routes
│   │   │   │       ├── home.tsx
│   │   │   │       ├── sdk-features.tsx
│   │   │   │       ├── settings.tsx
│   │   │   │       ├── sign-in.tsx
│   │   │   │       └── sign-up.tsx
│   │   │   ├── sidepanel
│   │   │   │   └── index.tsx
│   │   │   ├── style.css
│   │   │   ├── tabs
│   │   │   │   ├── background-worker-demo.html
│   │   │   │   └── background-worker-demo.tsx
│   │   │   └── utils
│   │   │       └── components.ts
│   │   ├── tailwind.config.js
│   │   └── tsconfig.json
│   ├── cra-js
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── favicon.ico
│   │   │   ├── index.html
│   │   │   ├── logo192.png
│   │   │   ├── logo512.png
│   │   │   ├── manifest.json
│   │   │   └── robots.txt
│   │   ├── README.md
│   │   └── src
│   │       ├── App.css
│   │       ├── App.js
│   │       ├── App.test.js
│   │       ├── index.css
│   │       ├── index.js
│   │       ├── logo.svg
│   │       ├── reportWebVitals.js
│   │       └── setupTests.js
│   ├── expo
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── app.json.example
│   │   ├── App.tsx
│   │   ├── babel.config.js
│   │   ├── metro.config.js
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── tsconfig.json
│   │   └── webpack.config.js
│   ├── express
│   │   ├── .env.sample
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── loadEnv.ts
│   │   │   ├── routes
│   │   │   │   ├── index.ts
│   │   │   │   ├── private.ts
│   │   │   │   └── public.ts
│   │   │   ├── server.ts
│   │   │   └── views
│   │   │       └── home.ejs
│   │   └── tsconfig.json
│   ├── fastify
│   │   ├── .env.sample
│   │   ├── .gitignore
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── loadEnv.ts
│   │   │   ├── routes
│   │   │   │   ├── index.ts
│   │   │   │   ├── private.ts
│   │   │   │   └── public.ts
│   │   │   ├── server.ts
│   │   │   └── templates
│   │   │       └── sign-in.ejs
│   │   └── tsconfig.json
│   ├── nextjs
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── .vscode
│   │   │   └── settings.json
│   │   ├── app
│   │   │   ├── api
│   │   │   │   └── route.ts
│   │   │   ├── app-dir
│   │   │   │   ├── client
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── client-component.tsx
│   │   │   │   ├── create-organization
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── discover
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── organization
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── page.tsx
│   │   │   │   ├── sign-in
│   │   │   │   │   └── page.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   └── page.tsx
│   │   │   │   └── user
│   │   │   │       └── page.tsx
│   │   │   └── layout.tsx
│   │   ├── middleware.ts
│   │   ├── next.config.js
│   │   ├── package.json
│   │   ├── pages
│   │   │   ├── _app.tsx
│   │   │   ├── api
│   │   │   │   ├── hello-edge.ts
│   │   │   │   └── hello.ts
│   │   │   ├── create-organization
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── custom
│   │   │   │   └── forgotPassword.tsx
│   │   │   ├── discover
│   │   │   │   └── index.tsx
│   │   │   ├── index.tsx
│   │   │   ├── organization
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── organization-list
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── redirect-helpers
│   │   │   │   └── index.tsx
│   │   │   ├── session-examples
│   │   │   │   └── index.tsx
│   │   │   ├── sign-in
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── sign-up
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── user
│   │   │   │   └── [[...index]].tsx
│   │   │   ├── user-examples
│   │   │   │   └── index.tsx
│   │   │   └── waitlist
│   │   │       └── index.tsx
│   │   ├── public
│   │   │   ├── favicon.ico
│   │   │   └── vercel.svg
│   │   ├── README.md
│   │   ├── styles
│   │   │   ├── globals.css
│   │   │   └── Home.module.css
│   │   └── tsconfig.json
│   ├── react-router
│   │   ├── .env.example
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── app.css
│   │   │   ├── root.tsx
│   │   │   ├── routes
│   │   │   │   ├── home.tsx
│   │   │   │   ├── profile-form.tsx
│   │   │   │   ├── profile.tsx
│   │   │   │   ├── sign-in.tsx
│   │   │   │   ├── sign-up.tsx
│   │   │   │   ├── use-auth.tsx
│   │   │   │   └── use-user.tsx
│   │   │   ├── routes.ts
│   │   │   └── welcome
│   │   │       ├── logo-dark.svg
│   │   │       ├── logo-light.svg
│   │   │       └── welcome.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── react-router.config.ts
│   │   ├── README.md
│   │   ├── tailwind.config.ts
│   │   ├── tsconfig.json
│   │   └── vite.config.ts
│   ├── vanillajs
│   │   └── index.html
│   └── vite-react-ts
│       ├── .env.example
│       ├── .gitignore
│       ├── index.html
│       ├── package.json
│       ├── public
│       │   ├── clerk.svg
│       │   └── vite.svg
│       ├── src
│       │   ├── App.css
│       │   ├── App.tsx
│       │   ├── assets
│       │   │   └── react.svg
│       │   ├── index.css
│       │   ├── main.tsx
│       │   └── vite-env.d.ts
│       ├── tsconfig.json
│       ├── tsconfig.node.json
│       └── vite.config.ts
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── prettier.config.mjs
├── README.md
├── renovate.json5
├── scripts
│   ├── .env.example
│   ├── 1password-keys.mjs
│   ├── backport.mjs
│   ├── canary-core3.mjs
│   ├── canary.mjs
│   ├── common.mjs
│   ├── format-non-workspace.mjs
│   ├── format-package.mjs
│   ├── install-site-in-isolation.mjs
│   ├── lint.mjs
│   ├── notify.mjs
│   ├── nuke.mjs
│   ├── renovate-config-generator.mjs
│   ├── rspack-common.js
│   ├── search-for-rhc.mjs
│   ├── snapshot.mjs
│   ├── tsconfig.json
│   ├── utils.ts
│   └── vitest-debug.mjs
├── tsconfig.json
├── tsconfig.typedoc.json
├── turbo.json
├── typedoc.config.mjs
├── verdaccio.install.yaml
├── verdaccio.publish.yaml
└── vitest.workspace.mjs
```

# Files

--------------------------------------------------------------------------------
/packages/shared/CHANGELOG.md:
--------------------------------------------------------------------------------

```markdown
   1 | # Change Log
   2 | 
   3 | ## 3.39.0
   4 | 
   5 | ### Minor Changes
   6 | 
   7 | - Add a subtitle on the Reset password session task screen ([#7392](https://github.com/clerk/javascript/pull/7392)) by [@octoper](https://github.com/octoper)
   8 | 
   9 | ## 3.38.0
  10 | 
  11 | ### Minor Changes
  12 | 
  13 | - Improve error handling and retry logic when loading `@clerk/clerk-js`. ([#6860](https://github.com/clerk/javascript/pull/6860)) by [@brkalow](https://github.com/brkalow)
  14 | 
  15 | - Introduce new `<TaskResetPassword/>` session task component ([#7314](https://github.com/clerk/javascript/pull/7314)) by [@octoper](https://github.com/octoper)
  16 | 
  17 | ### Patch Changes
  18 | 
  19 | - Fix for allowing task url customization for specific tasks instead of requiring them all ([#7354](https://github.com/clerk/javascript/pull/7354)) by [@octoper](https://github.com/octoper)
  20 | 
  21 | - Show the correct error message on `form_new_password_matches_current` error code ([#7372](https://github.com/clerk/javascript/pull/7372)) by [@octoper](https://github.com/octoper)
  22 | 
  23 | - Rename internal `isPasswordUntrustedError` to `isPasswordCompromisedError` ([#7352](https://github.com/clerk/javascript/pull/7352)) by [@octoper](https://github.com/octoper)
  24 | 
  25 | ## 3.37.0
  26 | 
  27 | ### Minor Changes
  28 | 
  29 | - Add `vercel` to `OAuthProvider` type to support "Sign in with Vercel" OAuth flow ([#7324](https://github.com/clerk/javascript/pull/7324)) by [@Railly](https://github.com/Railly)
  30 | 
  31 | - Hide billing types through @internal tag ([#7315](https://github.com/clerk/javascript/pull/7315)) by [@SarahSoutoul](https://github.com/SarahSoutoul)
  32 | 
  33 | - Introduce `reset-password` session task ([#7268](https://github.com/clerk/javascript/pull/7268)) by [@octoper](https://github.com/octoper)
  34 | 
  35 | - Introduce a new variant for the alternative methods screen to handle untrusted password error on sign-in ([#7331](https://github.com/clerk/javascript/pull/7331)) by [@octoper](https://github.com/octoper)
  36 | 
  37 | ### Patch Changes
  38 | 
  39 | - Fixed an issue where API keys in `<UserProfile />` are showing organization API keys. ([#7344](https://github.com/clerk/javascript/pull/7344)) by [@wobsoriano](https://github.com/wobsoriano)
  40 | 
  41 | - Add localization key for username form error ([#7320](https://github.com/clerk/javascript/pull/7320)) by [@guilherme6191](https://github.com/guilherme6191)
  42 | 
  43 | - Moved helper to enable Organizations feature to React-specific shared path ([#7334](https://github.com/clerk/javascript/pull/7334)) by [@wobsoriano](https://github.com/wobsoriano)
  44 | 
  45 | - Refactor clearing cache in RQ hooks when a use signs out. ([#7330](https://github.com/clerk/javascript/pull/7330)) by [@panteliselef](https://github.com/panteliselef)
  46 | 
  47 | ## 3.36.0
  48 | 
  49 | ### Minor Changes
  50 | 
  51 | - Introduce in-app development prompt to enable the Organizations feature ([#7159](https://github.com/clerk/javascript/pull/7159)) by [@LauraBeatris](https://github.com/LauraBeatris)
  52 | 
  53 |   In development instances, when using organization components or hooks for the first time, developers will see a prompt to enable the Organizations feature directly in their app, eliminating the need to visit the Clerk Dashboard.
  54 | 
  55 | - Creates compatibility layer for SWR hooks that were previously inside `@clerk/clerk-js` ([#7270](https://github.com/clerk/javascript/pull/7270)) by [@panteliselef](https://github.com/panteliselef)
  56 | 
  57 | ## 3.35.2
  58 | 
  59 | ### Patch Changes
  60 | 
  61 | - Make subscription actions more visible with inline buttons ([#7255](https://github.com/clerk/javascript/pull/7255)) by [@mauricioabreu](https://github.com/mauricioabreu)
  62 | 
  63 | ## 3.35.1
  64 | 
  65 | ### Patch Changes
  66 | 
  67 | - [Experimental] Fix method return types for new custom flow APIs. ([#7250](https://github.com/clerk/javascript/pull/7250)) by [@dstaley](https://github.com/dstaley)
  68 | 
  69 | ## 3.35.0
  70 | 
  71 | ### Minor Changes
  72 | 
  73 | - Introduced initial Clerk Protect dynamic loader and related types to support dynamically enabling and rolling out Protect in the environment. ([#7227](https://github.com/clerk/javascript/pull/7227)) by [@zourzouvillys](https://github.com/zourzouvillys)
  74 | 
  75 | - Standardized API keys naming convention ([#7223](https://github.com/clerk/javascript/pull/7223)) by [@wobsoriano](https://github.com/wobsoriano)
  76 | 
  77 | - [Experimental] Add support for sign-up via modal in signals implementation ([#7193](https://github.com/clerk/javascript/pull/7193)) by [@dstaley](https://github.com/dstaley)
  78 | 
  79 | - Billing hooks now accept a `{ enabled: boolean }` option, that controls the whether or not a request will fire. ([#7202](https://github.com/clerk/javascript/pull/7202)) by [@panteliselef](https://github.com/panteliselef)
  80 | 
  81 | - Ensure all hooks use typedoc for clerk docs ([#6901](https://github.com/clerk/javascript/pull/6901)) by [@SarahSoutoul](https://github.com/SarahSoutoul)
  82 | 
  83 | ### Patch Changes
  84 | 
  85 | - Update how cache keys are created in SWR/RQ hooks. ([#7217](https://github.com/clerk/javascript/pull/7217)) by [@panteliselef](https://github.com/panteliselef)
  86 | 
  87 | - Support `keepPreviousData` behaviour in the internal React Query variant of `useSubscription`. ([#7203](https://github.com/clerk/javascript/pull/7203)) by [@panteliselef](https://github.com/panteliselef)
  88 | 
  89 | - Relaxing requirements for RQ variant hooks to enable revalidation across different configurations of the same hook. ([#7228](https://github.com/clerk/javascript/pull/7228)) by [@panteliselef](https://github.com/panteliselef)
  90 | 
  91 |   ```tsx
  92 |   const { revalidate } = useStatements({ initialPage: 1, pageSize: 10 });
  93 |   useStatements({ initialPage: 1, pageSize: 12 });
  94 | 
  95 |   // revalidate from first hook, now invalidates the second hook.
  96 |   void revalidate();
  97 |   ```
  98 | 
  99 | ## 3.34.0
 100 | 
 101 | ### Minor Changes
 102 | 
 103 | - [Experimental] Update `errors` to have specific field types based on whether it's a sign-in or a sign-up. ([#7195](https://github.com/clerk/javascript/pull/7195)) by [@dstaley](https://github.com/dstaley)
 104 | 
 105 | ### Patch Changes
 106 | 
 107 | - Removed internal parameter when creating API keys ([#7207](https://github.com/clerk/javascript/pull/7207)) by [@wobsoriano](https://github.com/wobsoriano)
 108 | 
 109 | - Build internal variants of all paginated hooks that use React Query instead of SWR. ([#7143](https://github.com/clerk/javascript/pull/7143)) by [@panteliselef](https://github.com/panteliselef)
 110 | 
 111 | ## 3.33.0
 112 | 
 113 | ### Minor Changes
 114 | 
 115 | - Update the supported API version to `2025-11-10`. ([#7095](https://github.com/clerk/javascript/pull/7095)) by [@panteliselef](https://github.com/panteliselef)
 116 | 
 117 | ## 3.32.0
 118 | 
 119 | ### Minor Changes
 120 | 
 121 | - Implemented server-side pagination and filtering for API keys ([#6453](https://github.com/clerk/javascript/pull/6453)) by [@wobsoriano](https://github.com/wobsoriano)
 122 | 
 123 | - [Experimental] Add types for errors used in new custom flow APIs ([#7174](https://github.com/clerk/javascript/pull/7174)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 124 | 
 125 | - Support granular API keys settings for user and organization profiles ([#7179](https://github.com/clerk/javascript/pull/7179)) by [@wobsoriano](https://github.com/wobsoriano)
 126 | 
 127 | ### Patch Changes
 128 | 
 129 | - Add email codes as an option to `PrepareSecondFactorParams` ([#7175](https://github.com/clerk/javascript/pull/7175)) by [@tmilewski](https://github.com/tmilewski)
 130 | 
 131 | ## 3.31.1
 132 | 
 133 | ### Patch Changes
 134 | 
 135 | - Move clientTrustState to SignIn ([#7163](https://github.com/clerk/javascript/pull/7163)) by [@tmilewski](https://github.com/tmilewski)
 136 | 
 137 | - Avoid revalidating first page on infinite pagination. ([#7153](https://github.com/clerk/javascript/pull/7153)) by [@panteliselef](https://github.com/panteliselef)
 138 | 
 139 | ## 3.31.0
 140 | 
 141 | ### Minor Changes
 142 | 
 143 | - Adds `client_trust_state` field to Client and SignIn resources to support new fraud protection feature. ([#7096](https://github.com/clerk/javascript/pull/7096)) by [@chriscanin](https://github.com/chriscanin)
 144 | 
 145 | ### Patch Changes
 146 | 
 147 | - Experimental: Ground work for fixing stale data between hooks and components by sharing a single cache. ([#6913](https://github.com/clerk/javascript/pull/6913)) by [@panteliselef](https://github.com/panteliselef)
 148 | 
 149 | ## 3.30.0
 150 | 
 151 | ### Minor Changes
 152 | 
 153 | - Deprecate `@clerk/types` in favor of `@clerk/shared/types` ([#7022](https://github.com/clerk/javascript/pull/7022)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 154 | 
 155 |   The `@clerk/types` package is now deprecated. All type definitions have been consolidated and moved to `@clerk/shared/types` to improve consistency across the Clerk ecosystem.
 156 | 
 157 |   **Backward Compatibility:**
 158 | 
 159 |   The `@clerk/types` package will remain available and will continue to re-export all types from `@clerk/shared/types` to ensure backward compatibility. Existing applications will continue to work without any immediate breaking changes. However, we strongly recommend migrating to `@clerk/shared/types` as new type definitions and updates will only be added to `@clerk/shared/types` starting with the next major release.
 160 | 
 161 |   **Migration Steps:**
 162 | 
 163 |   Please update your imports from `@clerk/types` to `@clerk/shared/types`:
 164 | 
 165 |   ```typescript
 166 |   // Before
 167 |   import type { ClerkResource, UserResource } from '@clerk/types';
 168 | 
 169 |   // After
 170 |   import type { ClerkResource, UserResource } from '@clerk/shared/types';
 171 |   ```
 172 | 
 173 |   **What Changed:**
 174 | 
 175 |   All type definitions including:
 176 |   - Resource types (User, Organization, Session, etc.)
 177 |   - API response types
 178 |   - Configuration types
 179 |   - Authentication types
 180 |   - Error types
 181 |   - And all other shared types
 182 | 
 183 |   Have been moved from `packages/types/src` to `packages/shared/src/types` and are now exported via `@clerk/shared/types`.
 184 | 
 185 | ### Patch Changes
 186 | 
 187 | - Propagate locale from ClerkProvider to PaymentElement ([#6885](https://github.com/clerk/javascript/pull/6885)) by [@aeliox](https://github.com/aeliox)
 188 | 
 189 | ## 3.29.0
 190 | 
 191 | ### Minor Changes
 192 | 
 193 | - Allow free trials without requiring a payment method, based on the configuration of an instance. ([#7068](https://github.com/clerk/javascript/pull/7068)) by [@mauricioabreu](https://github.com/mauricioabreu)
 194 | 
 195 | - [Billing Beta] Remove unnecessary `orgId` from BillingPayerMethods interface. ([#7087](https://github.com/clerk/javascript/pull/7087)) by [@panteliselef](https://github.com/panteliselef)
 196 | 
 197 | ### Patch Changes
 198 | 
 199 | - Fixes a bug where `usePlans()` would display stale data even if the `for` property has changed. ([#7067](https://github.com/clerk/javascript/pull/7067)) by [@panteliselef](https://github.com/panteliselef)
 200 | 
 201 | - Updated dependencies [[`439427e`](https://github.com/clerk/javascript/commit/439427e44adef4f43e5f0719adf5654ea58c33e7), [`7dfbf3a`](https://github.com/clerk/javascript/commit/7dfbf3aa1b5269aee2d3af628b02027be9767088), [`d33b7b5`](https://github.com/clerk/javascript/commit/d33b7b5538e9bcbbca1ac23c46793d0cddcef533)]:
 202 |   - @clerk/[email protected]
 203 | 
 204 | ## 3.28.3
 205 | 
 206 | ### Patch Changes
 207 | 
 208 | - Updated dependencies [[`4d46e4e`](https://github.com/clerk/javascript/commit/4d46e4e601a5f2a213f1718af3f9271db4db0911)]:
 209 |   - @clerk/[email protected]
 210 | 
 211 | ## 3.28.2
 212 | 
 213 | ### Patch Changes
 214 | 
 215 | - Bug fix for billing hooks that would sometimes fire requests while the user was signed out. ([#6992](https://github.com/clerk/javascript/pull/6992)) by [@panteliselef](https://github.com/panteliselef)
 216 | 
 217 |   Improves the `usePlan` hook has been updated to not fire requests when switching organizations or when users sign in/out.
 218 | 
 219 | - Updated dependencies [[`a172d51`](https://github.com/clerk/javascript/commit/a172d51df2d7f2e450c983a15ae897624304a764)]:
 220 |   - @clerk/[email protected]
 221 | 
 222 | ## 3.28.1
 223 | 
 224 | ### Patch Changes
 225 | 
 226 | - Rename static properties from 'name' to 'kind' in ClerkError class ([#7004](https://github.com/clerk/javascript/pull/7004)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 227 | 
 228 | ## 3.28.0
 229 | 
 230 | ### Minor Changes
 231 | 
 232 | - Internal refactor of error handling to improve type safety and error classification. ([#6985](https://github.com/clerk/javascript/pull/6985)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 233 |   - Introduce new `ClerkError` base class for all Clerk errors
 234 |   - Rename internal error files: `apiResponseError.ts` → `clerkApiResponseError.ts`, `runtimeError.ts` → `clerkRuntimeError.ts`
 235 |   - Add `ClerkAPIError` class for individual API errors with improved type safety
 236 |   - Add type guard utilities (`isClerkError`, `isClerkRuntimeError`, `isClerkApiResponseError`) for better error handling
 237 |   - Deprecate `clerkRuntimeError` property in favor of `clerkError` for consistency
 238 |   - Add support for error codes, long messages, and documentation URLs
 239 | 
 240 | ### Patch Changes
 241 | 
 242 | - Fixed JWT public key caching in `verifyToken()` to support multi-instance scenarios. Public keys are now correctly cached per `kid` from the token header instead of using a single shared cache key. ([#6993](https://github.com/clerk/javascript/pull/6993)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 243 | 
 244 |   **What was broken:**
 245 | 
 246 |   When verifying JWT tokens with the `jwtKey` option (PEM public key), all keys were cached under the same cache key. This caused verification failures in multi-instance scenarios.
 247 | 
 248 |   **What's fixed:**
 249 | 
 250 |   JWT public keys are now cached using the `kid` value from each token's header.
 251 | 
 252 | - Updated dependencies [[`53214f9`](https://github.com/clerk/javascript/commit/53214f9a600074affc84d616bbbe7a6b625e7d33), [`1441e68`](https://github.com/clerk/javascript/commit/1441e6851102e9eed5697ad78c695f75b4a20db2)]:
 253 |   - @clerk/[email protected]
 254 | 
 255 | ## 3.27.4
 256 | 
 257 | ### Patch Changes
 258 | 
 259 | - [Billing Beta] Rename payment source to payment method. ([#6865](https://github.com/clerk/javascript/pull/6865)) by [@panteliselef](https://github.com/panteliselef)
 260 | 
 261 |   `Clerk.user.initializePaymentSource()` -> `Clerk.user.initializePaymentMethod()`
 262 |   `Clerk.user.addPaymentSource()` -> `Clerk.user.addPaymentMethod()`
 263 |   `Clerk.user.getPaymentSources()` -> `Clerk.user.getPaymentMethods()`
 264 | 
 265 |   `Clerk.organization.initializePaymentSource()` -> `Clerk.organization.initializePaymentMethod()`
 266 |   `Clerk.organization.addPaymentSource()` -> `Clerk.organization.addPaymentMethod()`
 267 |   `Clerk.organization.getPaymentSources()` -> `Clerk.organization.getPaymentMethods()`
 268 | 
 269 | - Introduce deprecation warning for LocalStorageBroadcastChannel ([#6891](https://github.com/clerk/javascript/pull/6891)) by [@jacekradko](https://github.com/jacekradko)
 270 | 
 271 | - Updated dependencies [[`65b7cc7`](https://github.com/clerk/javascript/commit/65b7cc787a5f02a302b665b6eaf4d4b9a1cae4b0), [`6e09786`](https://github.com/clerk/javascript/commit/6e09786adeb0f481ca8b6d060ae8754b556a3f9a), [`aa7210c`](https://github.com/clerk/javascript/commit/aa7210c7fff34f6c6e2d4ca3cb736bbd35439cb6), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`1a2eee6`](https://github.com/clerk/javascript/commit/1a2eee6b8b6ead2d0481e93104fcaed6452bd1b9), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`1a2430a`](https://github.com/clerk/javascript/commit/1a2430a166fb1df5fbca76437c63423b18a49ced), [`31a04fc`](https://github.com/clerk/javascript/commit/31a04fc2b783f01cd4848c1e681af3b30e57bb2f), [`22b8e49`](https://github.com/clerk/javascript/commit/22b8e49f9fb65d55ab737d11f1f57a25bf947511), [`a66357e`](https://github.com/clerk/javascript/commit/a66357e8a5928199aebde408ec7cfaac152c2c42), [`dacc1af`](https://github.com/clerk/javascript/commit/dacc1af22e1d1af0940b2d626b8a47d376c19342)]:
 272 |   - @clerk/[email protected]
 273 | 
 274 | ## 3.27.3
 275 | 
 276 | ### Patch Changes
 277 | 
 278 | - Updated dependencies [[`fba4781`](https://github.com/clerk/javascript/commit/fba4781ff2a2d16f8934029fa6fb77d70953f2be), [`a1f6714`](https://github.com/clerk/javascript/commit/a1f671480cda6f978db059ba0640d4ed8b08f112)]:
 279 |   - @clerk/[email protected]
 280 | 
 281 | ## 3.27.2
 282 | 
 283 | ### Patch Changes
 284 | 
 285 | - Bump target/lib for `@clerk/shared` to ES2022 ([#6892](https://github.com/clerk/javascript/pull/6892)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 286 | 
 287 | - Update telemetry throttling to work in native environments ([#6842](https://github.com/clerk/javascript/pull/6842)) by [@mwickett](https://github.com/mwickett)
 288 | 
 289 | - Updated dependencies [[`f737d26`](https://github.com/clerk/javascript/commit/f737d268aa167889a4f3f7aba2658c2ba1fd909a)]:
 290 |   - @clerk/[email protected]
 291 | 
 292 | ## 3.27.1
 293 | 
 294 | ### Patch Changes
 295 | 
 296 | - Updated dependencies [[`37028ca`](https://github.com/clerk/javascript/commit/37028caad59cb0081ac74e70a44e4a419082a999)]:
 297 |   - @clerk/[email protected]
 298 | 
 299 | ## 3.27.0
 300 | 
 301 | ### Minor Changes
 302 | 
 303 | - Udpate Tyepdoc links to fix temporary ignore warnings ([#6846](https://github.com/clerk/javascript/pull/6846)) by [@SarahSoutoul](https://github.com/SarahSoutoul)
 304 | 
 305 | - Improve error handling when loading clerk-js. ([#6856](https://github.com/clerk/javascript/pull/6856)) by [@brkalow](https://github.com/brkalow)
 306 | 
 307 | ### Patch Changes
 308 | 
 309 | - Increase sampling for high-signal auth components on mount. ([#6858](https://github.com/clerk/javascript/pull/6858)) by [@heatlikeheatwave](https://github.com/heatlikeheatwave)
 310 | 
 311 | - Updated dependencies [[`e3e77eb`](https://github.com/clerk/javascript/commit/e3e77eb277c6b36847265db7b863c418e3708ab6), [`090ca74`](https://github.com/clerk/javascript/commit/090ca742c590bc4f369cf3e1ca2ec9917410ffe4)]:
 312 |   - @clerk/[email protected]
 313 | 
 314 | ## 3.26.1
 315 | 
 316 | ### Patch Changes
 317 | 
 318 | - Update jsdocs mentions of `@experimental` tag. ([#6651](https://github.com/clerk/javascript/pull/6651)) by [@panteliselef](https://github.com/panteliselef)
 319 | 
 320 | - [Billing Beta] Rename types, interfaces and classes that contain `commerce` to use `billing` instead. ([#6757](https://github.com/clerk/javascript/pull/6757)) by [@panteliselef](https://github.com/panteliselef)
 321 | 
 322 | - Updated dependencies [[`41e0a41`](https://github.com/clerk/javascript/commit/41e0a4190b33dd2c4bdc0d536bbe83fcf99af9b0), [`1aa9e9f`](https://github.com/clerk/javascript/commit/1aa9e9f10c051319e9ff4b1a0ecd71507bd6a6aa), [`a88ee58`](https://github.com/clerk/javascript/commit/a88ee5827adee0cc8a62246d03a3034d8566fe21), [`d6c7bbb`](https://github.com/clerk/javascript/commit/d6c7bbba23f38c0b3ca7edebb53028a05c7b38e6)]:
 323 |   - @clerk/[email protected]
 324 | 
 325 | ## 3.26.0
 326 | 
 327 | ### Minor Changes
 328 | 
 329 | - Add retry attempt tracking to FAPI client GET requests ([#6777](https://github.com/clerk/javascript/pull/6777)) by [@jacekradko](https://github.com/jacekradko)
 330 | 
 331 |   The FAPI client now adds a `_clerk_retry_attempt` query parameter to retry attempts for GET requests, allowing servers to track and handle retry scenarios appropriately. This parameter is only added during retry attempts, not on the initial request.
 332 | 
 333 | ### Patch Changes
 334 | 
 335 | - Bug fix that allowed `useStatements()`, `usePaymentMethods()` and `usePaymentAttempts()` to fire a request when the billing feature was turned off for the instance. ([#6785](https://github.com/clerk/javascript/pull/6785)) by [@panteliselef](https://github.com/panteliselef)
 336 | 
 337 | - Updated dependencies [[`bcf24f2`](https://github.com/clerk/javascript/commit/bcf24f2f91913fa0dd3fbf02b3bbef345c4e1ea9), [`de90ede`](https://github.com/clerk/javascript/commit/de90ede82664b58bef9e294498384cf2c99a331e), [`9d4a95c`](https://github.com/clerk/javascript/commit/9d4a95c766396a0bc327fbf0560228bedb4828eb)]:
 338 |   - @clerk/[email protected]
 339 | 
 340 | ## 3.25.0
 341 | 
 342 | ### Minor Changes
 343 | 
 344 | - [Billing Beta] Drop experimental `subscriptions` property from params of `useOrganization()`. Use [`useSubscription()`](https://clerk.com/docs/nextjs/hooks/use-subscription) instead. ([#6738](https://github.com/clerk/javascript/pull/6738)) by [@mauricioabreu](https://github.com/mauricioabreu)
 345 | 
 346 | ### Patch Changes
 347 | 
 348 | - Display empty data for authenticated billing hooks after sign out. ([#6747](https://github.com/clerk/javascript/pull/6747)) by [@panteliselef](https://github.com/panteliselef)
 349 | 
 350 | - Add theme-usage telemetry ([#6529](https://github.com/clerk/javascript/pull/6529)) by [@alexcarpenter](https://github.com/alexcarpenter)
 351 | 
 352 | - Updated dependencies [[`23948dc`](https://github.com/clerk/javascript/commit/23948dc777ec6a17bafbae59c253a93143b0e105), [`50a8622`](https://github.com/clerk/javascript/commit/50a8622c3579306f15e5d40e5ea72b4fe4384ef7)]:
 353 |   - @clerk/[email protected]
 354 | 
 355 | ## 3.24.2
 356 | 
 357 | ### Patch Changes
 358 | 
 359 | - Updated dependencies [[`55490c3`](https://github.com/clerk/javascript/commit/55490c31fadc82bdca6cd5f2b22e5e158aaba0cb), [`e8d21de`](https://github.com/clerk/javascript/commit/e8d21de39b591973dad48fc1d1851c4d28b162fe), [`637f2e8`](https://github.com/clerk/javascript/commit/637f2e8768b76aaf756062b6b5b44bf651f66789)]:
 360 |   - @clerk/[email protected]
 361 | 
 362 | ## 3.24.1
 363 | 
 364 | ### Patch Changes
 365 | 
 366 | - Disable billing hooks when the feature is turned off. ([#6696](https://github.com/clerk/javascript/pull/6696)) by [@panteliselef](https://github.com/panteliselef)
 367 | 
 368 | - Updated dependencies [[`fced4fc`](https://github.com/clerk/javascript/commit/fced4fc869bb21c77826dfaf281b6640e0f0c006), [`1b1e8b1`](https://github.com/clerk/javascript/commit/1b1e8b1fd33b787f956b17b193e5fd0a4cdc6cec)]:
 369 |   - @clerk/[email protected]
 370 | 
 371 | ## 3.24.0
 372 | 
 373 | ### Minor Changes
 374 | 
 375 | - [Billing Beta] `checkout.confirm()` now infers the resource id resulting in less repetition and improved DX. ([#6642](https://github.com/clerk/javascript/pull/6642)) by [@panteliselef](https://github.com/panteliselef)
 376 | 
 377 |   After
 378 | 
 379 |   ```tsx
 380 |   const checkout = Clerk.billing.startCheckout({ orgId });
 381 |   checkout.confirm(); // orgId is always implied
 382 |   ```
 383 | 
 384 |   Before
 385 | 
 386 |   ```tsx
 387 |   const checkout = clerk.billing.startCheckout({ orgId });
 388 |   checkout.confirm({ orgId });
 389 |   ```
 390 | 
 391 | ### Patch Changes
 392 | 
 393 | - The `SAML_IDPS` export was moved from `@clerk/types` to `@clerk/shared/saml` and was marked as deprecated. ([#6682](https://github.com/clerk/javascript/pull/6682)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 394 | 
 395 |   Please use `import { SAML_IDPS } from "@clerk/shared/saml"` instead.
 396 | 
 397 | - Updated dependencies [[`2a82737`](https://github.com/clerk/javascript/commit/2a8273705b9764e1a4613d5a0dbb738d0b156c05), [`cda5d7b`](https://github.com/clerk/javascript/commit/cda5d7b79b28dc03ec794ea54e0feb64b148cdd2), [`ba25a5b`](https://github.com/clerk/javascript/commit/ba25a5b5a3fa686a65f52e221d9d1712a389fea9), [`a50cfc8`](https://github.com/clerk/javascript/commit/a50cfc8f1dd168b436499e32fc8b0fc41d28bbff), [`377f67b`](https://github.com/clerk/javascript/commit/377f67b8e552d1a19efbe4530e9306675b7f8eab), [`65b12ee`](https://github.com/clerk/javascript/commit/65b12eeeb57ee80cdd8c36c5949d51f1227a413e), [`263722e`](https://github.com/clerk/javascript/commit/263722e61fd27403b4c8d9794880686771e123f9)]:
 398 |   - @clerk/[email protected]
 399 | 
 400 | ## 3.23.0
 401 | 
 402 | ### Minor Changes
 403 | 
 404 | - Added support for authentication with Base ([#6556](https://github.com/clerk/javascript/pull/6556)) by [@jacekradko](https://github.com/jacekradko)
 405 | 
 406 | ### Patch Changes
 407 | 
 408 | - Updated dependencies [[`600c648`](https://github.com/clerk/javascript/commit/600c648d4087a823341041c90018797fbc0033f0)]:
 409 |   - @clerk/[email protected]
 410 | 
 411 | ## 3.22.1
 412 | 
 413 | ### Patch Changes
 414 | 
 415 | - Removed unused generateUuid utility ([#6601](https://github.com/clerk/javascript/pull/6601)) by [@jacekradko](https://github.com/jacekradko)
 416 | 
 417 | - Mark `__experimental_mode` as hidden. ([#6634](https://github.com/clerk/javascript/pull/6634)) by [@NWylynko](https://github.com/NWylynko)
 418 | 
 419 | - Improve assertion error for requiring active organization. ([#6606](https://github.com/clerk/javascript/pull/6606)) by [@panteliselef](https://github.com/panteliselef)
 420 | 
 421 | - Do not allow errors in telemetry to bubble up ([#6640](https://github.com/clerk/javascript/pull/6640)) by [@jacekradko](https://github.com/jacekradko)
 422 | 
 423 | - Updated dependencies [[`d52714e`](https://github.com/clerk/javascript/commit/d52714e4cb7f369c74826cd4341c58eb1900abe4), [`2ed539c`](https://github.com/clerk/javascript/commit/2ed539cc7f08ed4d70c33621563ad386ea8becc5), [`c16a7a5`](https://github.com/clerk/javascript/commit/c16a7a5837fc15e0e044baf9c809b8da6fbac795)]:
 424 |   - @clerk/[email protected]
 425 | 
 426 | ## 3.22.0
 427 | 
 428 | ### Minor Changes
 429 | 
 430 | - [Billing Beta] Replace `redirectUrl` with `navigate` in `checkout.finalize()` ([#6586](https://github.com/clerk/javascript/pull/6586)) by [@panteliselef](https://github.com/panteliselef)
 431 | 
 432 | ### Patch Changes
 433 | 
 434 | - Updated dependencies [[`e52bf8e`](https://github.com/clerk/javascript/commit/e52bf8ebef74a9e123c69b69acde1340c01d32d7), [`c043c19`](https://github.com/clerk/javascript/commit/c043c1919854aaa5b9cf7f6df5bb517f5617f7a1), [`c28d29c`](https://github.com/clerk/javascript/commit/c28d29c79bb4f144d782313ca72df7db91a77340), [`172e054`](https://github.com/clerk/javascript/commit/172e054a3511be12d16ba19037db320c2d9838bf)]:
 435 |   - @clerk/[email protected]
 436 | 
 437 | ## 3.21.2
 438 | 
 439 | ### Patch Changes
 440 | 
 441 | - Updated dependencies [[`8dc6bad`](https://github.com/clerk/javascript/commit/8dc6bad5c7051b59bd8c73e65d497f6a974bb1c3), [`aa6a3c3`](https://github.com/clerk/javascript/commit/aa6a3c3d3ba2de67a468c996cbf0bff43a09ddb8), [`db50c47`](https://github.com/clerk/javascript/commit/db50c4734920ada6002de8c62c994047eb6cb5a0)]:
 442 |   - @clerk/[email protected]
 443 | 
 444 | ## 3.21.1
 445 | 
 446 | ### Patch Changes
 447 | 
 448 | - Add error handling for `setActive` with stale organization data ([#6550](https://github.com/clerk/javascript/pull/6550)) by [@LauraBeatris](https://github.com/LauraBeatris)
 449 | 
 450 | - Updated dependencies [[`413468c`](https://github.com/clerk/javascript/commit/413468c9b9c8fb7576f8e4cbdccff98784e33fef), [`7b7eb1f`](https://github.com/clerk/javascript/commit/7b7eb1fc0235249c5c179239078294118f2947cd)]:
 451 |   - @clerk/[email protected]
 452 | 
 453 | ## 3.21.0
 454 | 
 455 | ### Minor Changes
 456 | 
 457 | - [Experimental] Signals: Add support for calling `signIn.password()` without an identifier. ([#6534](https://github.com/clerk/javascript/pull/6534)) by [@dstaley](https://github.com/dstaley)
 458 | 
 459 | ### Patch Changes
 460 | 
 461 | - Updated dependencies [[`5b24129`](https://github.com/clerk/javascript/commit/5b24129ddcfc2f7dc6eb79d8c818b4ff97c68e9a)]:
 462 |   - @clerk/[email protected]
 463 | 
 464 | ## 3.20.1
 465 | 
 466 | ### Patch Changes
 467 | 
 468 | - Invalidate organization memberships based on client user ([#6530](https://github.com/clerk/javascript/pull/6530)) by [@iagodahlem](https://github.com/iagodahlem)
 469 | 
 470 | - Updated dependencies [[`4db1e58`](https://github.com/clerk/javascript/commit/4db1e58d70b60e1e236709b507666715d571e925), [`69498df`](https://github.com/clerk/javascript/commit/69498dfca3e6bb388eb8c94313eac06347dd5a27)]:
 471 |   - @clerk/[email protected]
 472 | 
 473 | ## 3.20.0
 474 | 
 475 | ### Minor Changes
 476 | 
 477 | - Add support for trials in `<Checkout/>` ([#6494](https://github.com/clerk/javascript/pull/6494)) by [@panteliselef](https://github.com/panteliselef)
 478 |   - Added `freeTrialEndsAt` property to `CommerceCheckoutResource` interface.
 479 | 
 480 | ### Patch Changes
 481 | 
 482 | - Updated dependencies [[`15fe106`](https://github.com/clerk/javascript/commit/15fe1060f730a6a4391f3d2451d23edd3218e1ae), [`173837c`](https://github.com/clerk/javascript/commit/173837c2526aa826b7981ee8d6d4f52c00675da5), [`8b52d7a`](https://github.com/clerk/javascript/commit/8b52d7ae19407e8ab5a5451bd7d34b6bc38417de), [`854dde8`](https://github.com/clerk/javascript/commit/854dde88e642c47b5a29ac8f576c8c1976e5d067), [`ae2e2d6`](https://github.com/clerk/javascript/commit/ae2e2d6b336be6b596cc855e549843beb5bfd2a1), [`037f25a`](https://github.com/clerk/javascript/commit/037f25a8171888168913b186b7edf871e0aaf197), [`f8b38b7`](https://github.com/clerk/javascript/commit/f8b38b7059e498fef3ac1271346be0710aa31c76)]:
 483 |   - @clerk/[email protected]
 484 | 
 485 | ## 3.19.0
 486 | 
 487 | ### Minor Changes
 488 | 
 489 | - Update TelemetryCollector to accept a `perEventSampling` property for controling per-event sampling rates. ([#6514](https://github.com/clerk/javascript/pull/6514)) by [@panteliselef](https://github.com/panteliselef)
 490 | 
 491 | ### Patch Changes
 492 | 
 493 | - Updated dependencies [[`b72a3dd`](https://github.com/clerk/javascript/commit/b72a3dda2467720e5dc8cab3e7e6a110f3beb79b), [`d93b0ed`](https://github.com/clerk/javascript/commit/d93b0edf4adc57d48a26cb08444192887ccec659), [`6459f7d`](https://github.com/clerk/javascript/commit/6459f7dabe5f163f48ed73106bb901d8187da3e2), [`9084759`](https://github.com/clerk/javascript/commit/90847593300be605e1ee1c06dac147ce68b25dc7)]:
 494 |   - @clerk/[email protected]
 495 | 
 496 | ## 3.18.1
 497 | 
 498 | ### Patch Changes
 499 | 
 500 | - Fix a potential memory leak in `TelemetryCollector` ([#6485](https://github.com/clerk/javascript/pull/6485)) by [@brkalow](https://github.com/brkalow)
 501 | 
 502 | - Updated dependencies [[`1ad16da`](https://github.com/clerk/javascript/commit/1ad16daa49795a861ae277001831230580b6b9f4), [`4edef81`](https://github.com/clerk/javascript/commit/4edef81dd423a0471e3f579dd6b36094aa8546aa), [`696f8e1`](https://github.com/clerk/javascript/commit/696f8e11a3e5391e6b5a97d98e929b8973575b9a), [`f318d22`](https://github.com/clerk/javascript/commit/f318d22cf83caaef272bcf532561a03ca72575e7)]:
 503 |   - @clerk/[email protected]
 504 | 
 505 | ## 3.18.0
 506 | 
 507 | ### Minor Changes
 508 | 
 509 | - [Billing Beta] Stricter return type of `useCheckout` to improve inference of other properties. ([#6473](https://github.com/clerk/javascript/pull/6473)) by [@panteliselef](https://github.com/panteliselef)
 510 | 
 511 | ### Patch Changes
 512 | 
 513 | - Improve `useCheckout` error messages on mount. ([#6475](https://github.com/clerk/javascript/pull/6475)) by [@panteliselef](https://github.com/panteliselef)
 514 | 
 515 | - Updated dependencies [[`f93965f`](https://github.com/clerk/javascript/commit/f93965f64c81030f9fcf9d1cc4e4984d30cd12ec), [`7b6dcee`](https://github.com/clerk/javascript/commit/7b6dceea5bfd7f1cc1bf24126aa715307e24ae7f)]:
 516 |   - @clerk/[email protected]
 517 | 
 518 | ## 3.17.0
 519 | 
 520 | ### Minor Changes
 521 | 
 522 | - [Billing Beta] Remove `statement_id` from the checkout resource. ([#6437](https://github.com/clerk/javascript/pull/6437)) by [@panteliselef](https://github.com/panteliselef)
 523 | 
 524 | ### Patch Changes
 525 | 
 526 | - Fixes a bug which cause initialization of a payment method to never fire. ([#6436](https://github.com/clerk/javascript/pull/6436)) by [@panteliselef](https://github.com/panteliselef)
 527 | 
 528 | - Fix TelemetryCollector logic for clerk-js in browser to properly populate sdkMetadata for telemetry events. ([#6448](https://github.com/clerk/javascript/pull/6448)) by [@panteliselef](https://github.com/panteliselef)
 529 | 
 530 | - Remove `treatPendingAsSignedOut` from `useSession` and always return pending session ([#6432](https://github.com/clerk/javascript/pull/6432)) by [@LauraBeatris](https://github.com/LauraBeatris)
 531 | 
 532 | - Updated dependencies [[`22c35ef`](https://github.com/clerk/javascript/commit/22c35efb59226df2efaa2891fa4775c13312f4c6), [`e8d816a`](https://github.com/clerk/javascript/commit/e8d816a3350e862c3e9e1d4f8c96c047a0a016a2), [`aa9f185`](https://github.com/clerk/javascript/commit/aa9f185e21b58f8a6e03ea44ce29ee09ad2477d9), [`af0e123`](https://github.com/clerk/javascript/commit/af0e12393c9412281626e20dafb1b3a15558f6d9), [`3d1d871`](https://github.com/clerk/javascript/commit/3d1d8711405646cf3c2aabe99e08337a1028703a)]:
 533 |   - @clerk/[email protected]
 534 | 
 535 | ## 3.16.0
 536 | 
 537 | ### Minor Changes
 538 | 
 539 | - [Billing Beta]: Replace `org` for `organization` as payer type for billing APIs. ([#6423](https://github.com/clerk/javascript/pull/6423)) by [@panteliselef](https://github.com/panteliselef)
 540 | 
 541 |   This applies for all billing APIs, except the resources classes that represent data from Frontend API.
 542 | 
 543 | ### Patch Changes
 544 | 
 545 | - Improve layout behaviour with `<PaymentElement fallback={} />`. ([#6387](https://github.com/clerk/javascript/pull/6387)) by [@panteliselef](https://github.com/panteliselef)
 546 |   - Disables Stripe's loader, and promotes the usage of the `fallback` prop.
 547 | 
 548 | - Fixes an issue where cookies were not properly cleared on sign out when using non-default cookie attributes. ([#6368](https://github.com/clerk/javascript/pull/6368)) by [@brkalow](https://github.com/brkalow)
 549 | 
 550 | - Updated dependencies [[`e404456`](https://github.com/clerk/javascript/commit/e4044566bca81f63c8e9c630fdec0f498ad6fc08), [`d58b959`](https://github.com/clerk/javascript/commit/d58b9594cf65158e87dbaa90d632c45f543373e1), [`822ba1f`](https://github.com/clerk/javascript/commit/822ba1fd5e7daf665120cf183e4600a227098d53), [`d4d2612`](https://github.com/clerk/javascript/commit/d4d2612483baf356c389ef0ba5084059025481f2)]:
 551 |   - @clerk/[email protected]
 552 | 
 553 | ## 3.15.1
 554 | 
 555 | ### Patch Changes
 556 | 
 557 | - Updated dependencies [[`b0fdc9e`](https://github.com/clerk/javascript/commit/b0fdc9eaf764ca0c17cbe0810b7d240f6d9db0b6)]:
 558 |   - @clerk/[email protected]
 559 | 
 560 | ## 3.15.0
 561 | 
 562 | ### Minor Changes
 563 | 
 564 | - [Billing Beta] Replace `useSubscriptionItems` with `useSubscription`. ([#6317](https://github.com/clerk/javascript/pull/6317)) by [@panteliselef](https://github.com/panteliselef)
 565 | 
 566 | ### Patch Changes
 567 | 
 568 | - Updated dependencies [[`cd59c0e`](https://github.com/clerk/javascript/commit/cd59c0e5512a341dd8fb420aca583333c8243aa5)]:
 569 |   - @clerk/[email protected]
 570 | 
 571 | ## 3.14.0
 572 | 
 573 | ### Minor Changes
 574 | 
 575 | - Add timeout-based mechanism to detect when clerk-js fails to load and set the status to `error` on isomorphicClerk ([#6261](https://github.com/clerk/javascript/pull/6261)) by [@jacekradko](https://github.com/jacekradko)
 576 | 
 577 | ### Patch Changes
 578 | 
 579 | - Updated dependencies [[`fecc99d`](https://github.com/clerk/javascript/commit/fecc99d43cb7db5b99863829acb234cbce0da264), [`10e1060`](https://github.com/clerk/javascript/commit/10e10605b18a58f33a93caed058159c190678e74), [`92c44dd`](https://github.com/clerk/javascript/commit/92c44dd9d51e771a928a8da7004bdb8f8bdbaf58), [`a04a8f5`](https://github.com/clerk/javascript/commit/a04a8f5f81241ee41d93cd64793beca9d6296abb), [`c61855c`](https://github.com/clerk/javascript/commit/c61855c51d9c129d48c4543da3719939ad82f623), [`43ea069`](https://github.com/clerk/javascript/commit/43ea069c570dc64503fc82356ad28a2e43689d45)]:
 580 |   - @clerk/[email protected]
 581 | 
 582 | ## 3.13.0
 583 | 
 584 | ### Minor Changes
 585 | 
 586 | - [Billing Beta] Update `clerk.billing.getPlans()` to return paginated data and introduce the `usePlans()` hook. ([#6327](https://github.com/clerk/javascript/pull/6327)) by [@panteliselef](https://github.com/panteliselef)
 587 | 
 588 | ### Patch Changes
 589 | 
 590 | - Updated dependencies [[`d2f6f9e`](https://github.com/clerk/javascript/commit/d2f6f9e02036a4288916fcce14f24be5d56561c4), [`a329836`](https://github.com/clerk/javascript/commit/a329836a6c64f0a551a277ccae07043456a70523), [`6041c39`](https://github.com/clerk/javascript/commit/6041c39a31e787a6065dbc3f21e1c569982a06de), [`3f1270d`](https://github.com/clerk/javascript/commit/3f1270db86a21ead0ed6f0bd4f9986485203e973)]:
 591 |   - @clerk/[email protected]
 592 | 
 593 | ## 3.12.3
 594 | 
 595 | ### Patch Changes
 596 | 
 597 | - Mark error utilities as internal. ([#6328](https://github.com/clerk/javascript/pull/6328)) by [@panteliselef](https://github.com/panteliselef)
 598 | 
 599 | - Updated dependencies [[`2a90b68`](https://github.com/clerk/javascript/commit/2a90b689550ae960496c9292ca23e0225e3425cd)]:
 600 |   - @clerk/[email protected]
 601 | 
 602 | ## 3.12.2
 603 | 
 604 | ### Patch Changes
 605 | 
 606 | - [Billing Beta] Add experimental JSDoc for `org.getSubscriptions`. ([#6318](https://github.com/clerk/javascript/pull/6318)) by [@panteliselef](https://github.com/panteliselef)
 607 | 
 608 | - Updated dependencies [[`8ee859c`](https://github.com/clerk/javascript/commit/8ee859ce00d1d5747c14a80fe7166303e64a4f1f)]:
 609 |   - @clerk/[email protected]
 610 | 
 611 | ## 3.12.1
 612 | 
 613 | ### Patch Changes
 614 | 
 615 | - Updated dependencies [[`025e304`](https://github.com/clerk/javascript/commit/025e304c4d6402dfd750ee51ac9c8fc2dea1f353), [`dedf487`](https://github.com/clerk/javascript/commit/dedf48703986d547d5b28155b0182a51030cffeb), [`b96114e`](https://github.com/clerk/javascript/commit/b96114e438638896ba536bb7a17b09cdadcd9407)]:
 616 |   - @clerk/[email protected]
 617 | 
 618 | ## 3.12.0
 619 | 
 620 | ### Minor Changes
 621 | 
 622 | - [Billing Beta]: Introduce experimental `useCheckout()` hook and `<CheckoutProvider/>`. ([#6195](https://github.com/clerk/javascript/pull/6195)) by [@panteliselef](https://github.com/panteliselef)
 623 | 
 624 | ### Patch Changes
 625 | 
 626 | - Export `ClerkAPIResponseError` interface from types package. ([#6286](https://github.com/clerk/javascript/pull/6286)) by [@panteliselef](https://github.com/panteliselef)
 627 | 
 628 | - Make sure `process` is defined in environment when checking if application is running on Netlify. ([#6260](https://github.com/clerk/javascript/pull/6260)) by [@tavoyne](https://github.com/tavoyne)
 629 | 
 630 | - Updated dependencies [[`2be6a53`](https://github.com/clerk/javascript/commit/2be6a53959cb8a3127c2eb5d1aeb4248872d2c24), [`6826d0b`](https://github.com/clerk/javascript/commit/6826d0bbd03e844d49224565878a4326684f06b4), [`f6a1c35`](https://github.com/clerk/javascript/commit/f6a1c35bd5fb4bd2a3cd45bdaf9defe6be59d4a9)]:
 631 |   - @clerk/[email protected]
 632 | 
 633 | ## 3.11.0
 634 | 
 635 | ### Minor Changes
 636 | 
 637 | - Export experimental hooks and components for PaymentElement ([#6180](https://github.com/clerk/javascript/pull/6180)) by [@panteliselef](https://github.com/panteliselef)
 638 |   - `__experimental_usePaymentElement`
 639 |   - `__experimental_PaymentElementProvider`
 640 |   - `__experimental_PaymentElement`
 641 | 
 642 | ### Patch Changes
 643 | 
 644 | - Enhancing publishable key parsing and validation logic to validate expected format ([#6266](https://github.com/clerk/javascript/pull/6266)) by [@jacekradko](https://github.com/jacekradko)
 645 | 
 646 | - Updated dependencies [[`f42c4fe`](https://github.com/clerk/javascript/commit/f42c4fedfdab873129b876eba38b3677f190b460), [`ec207dc`](https://github.com/clerk/javascript/commit/ec207dcd2a13340cfa4e3b80d3d52d1b4e7d5f23)]:
 647 |   - @clerk/[email protected]
 648 | 
 649 | ## 3.10.2
 650 | 
 651 | ### Patch Changes
 652 | 
 653 | - Fixes an issue accessing the `CLERK_TELEMETRY_DEBUG` environment variable during telemetry collection ([#6245](https://github.com/clerk/javascript/pull/6245)) by [@wobsoriano](https://github.com/wobsoriano)
 654 | 
 655 | - Updated dependencies [[`8387a39`](https://github.com/clerk/javascript/commit/8387a392a04906f0f10d84c61cfee36f23942f85), [`f2a6641`](https://github.com/clerk/javascript/commit/f2a66419b1813abc86ea98fde7475861995a1486)]:
 656 |   - @clerk/[email protected]
 657 | 
 658 | ## 3.10.1
 659 | 
 660 | ### Patch Changes
 661 | 
 662 | - Bugfix: prevent stale closures in useReverification hook ([#6201](https://github.com/clerk/javascript/pull/6201)) by [@bratsos](https://github.com/bratsos)
 663 | 
 664 | - Updated dependencies [[`edc0bfd`](https://github.com/clerk/javascript/commit/edc0bfdae929dad78a99dfd6275aad947d9ddd73)]:
 665 |   - @clerk/[email protected]
 666 | 
 667 | ## 3.10.0
 668 | 
 669 | ### Minor Changes
 670 | 
 671 | - Introduce experimental paginated hooks for commerce data. ([#6159](https://github.com/clerk/javascript/pull/6159)) by [@panteliselef](https://github.com/panteliselef)
 672 |   - `useStatements`
 673 |   - `usePaymentAttempts`
 674 |   - `usePaymentMethods`
 675 |     Prefixed with `__experimental_`
 676 | 
 677 | ### Patch Changes
 678 | 
 679 | - Updated dependencies [[`f1be1fe`](https://github.com/clerk/javascript/commit/f1be1fe3d575c11acd04fc7aadcdec8f89829894), [`bffb42a`](https://github.com/clerk/javascript/commit/bffb42aaf266a188b9ae7d16ace3024d468a3bd4)]:
 680 |   - @clerk/[email protected]
 681 | 
 682 | ## 3.9.8
 683 | 
 684 | ### Patch Changes
 685 | 
 686 | - Track usage of react hooks on development instances. ([#6158](https://github.com/clerk/javascript/pull/6158)) by [@panteliselef](https://github.com/panteliselef)
 687 |   - `useReverification`
 688 |   - `useSession`
 689 |   - `useSessionList`
 690 |   - `useUser`
 691 | 
 692 | - Updated dependencies [[`b495279`](https://github.com/clerk/javascript/commit/b4952796e3c7dee4ab4726de63a17b7f4265ce37), [`c3fa15d`](https://github.com/clerk/javascript/commit/c3fa15d60642b4fcbcf26e21caaca0fc60975795), [`52d5e57`](https://github.com/clerk/javascript/commit/52d5e5768d54725b4d20d028135746493e05d44c), [`15a945c`](https://github.com/clerk/javascript/commit/15a945c02a9f6bc8d2f7d1e3534217100bf45936)]:
 693 |   - @clerk/[email protected]
 694 | 
 695 | ## 3.9.7
 696 | 
 697 | ### Patch Changes
 698 | 
 699 | - Parse partial `plan` in `ClerkAPIError.meta` ([#6102](https://github.com/clerk/javascript/pull/6102)) by [@panteliselef](https://github.com/panteliselef)
 700 | 
 701 | - Updated dependencies [[`19e9e11`](https://github.com/clerk/javascript/commit/19e9e11af04f13fd12975fbf7016fe0583202056), [`18bcb64`](https://github.com/clerk/javascript/commit/18bcb64a3e8b6d352d7933ed094d68214e6e80fb), [`138f733`](https://github.com/clerk/javascript/commit/138f733f13121487268a4f96e6eb2cffedc6e238), [`48be55b`](https://github.com/clerk/javascript/commit/48be55b61a86e014dd407414764d24bb43fd26f3), [`2c6f805`](https://github.com/clerk/javascript/commit/2c6f805a9e6e4685990f9a8abc740b2d0859a453), [`97749d5`](https://github.com/clerk/javascript/commit/97749d570bc687c7e05cd800a50e0ae4180a371d)]:
 702 |   - @clerk/[email protected]
 703 | 
 704 | ## 3.9.6
 705 | 
 706 | ### Patch Changes
 707 | 
 708 | - Updated dependencies [[`d8fa5d9`](https://github.com/clerk/javascript/commit/d8fa5d9d3d8dc575260d8d2b7c7eeeb0052d0b0d), [`be2e89c`](https://github.com/clerk/javascript/commit/be2e89ca11aa43d48f74c57a5a34e20d85b4003c), [`5644d94`](https://github.com/clerk/javascript/commit/5644d94f711a0733e4970c3f15c24d56cafc8743), [`b578225`](https://github.com/clerk/javascript/commit/b5782258242474c9b0987a3f8349836cd763f24b), [`8838120`](https://github.com/clerk/javascript/commit/8838120596830b88fec1c6c853371dabfec74a0d)]:
 709 |   - @clerk/[email protected]
 710 | 
 711 | ## 3.9.5
 712 | 
 713 | ### Patch Changes
 714 | 
 715 | - Bug fix: In `createCheckAuthorization` allow for old `org_role` format in JWT v1 where `org:` is missing. ([#5988](https://github.com/clerk/javascript/pull/5988)) by [@panteliselef](https://github.com/panteliselef)
 716 | 
 717 |   Example session claims:
 718 | 
 719 |   ```json
 720 |   {
 721 |     "org_id": "org_xxxx",
 722 |     "org_permissions": [],
 723 |     "org_role": "admin",
 724 |     "org_slug": "test"
 725 |   }
 726 |   ```
 727 | 
 728 |   Code
 729 | 
 730 |   ```ts
 731 |   authObject.has({ role: 'org:admin' }); // -> true
 732 |   authObject.has({ role: 'admin' }); // -> true
 733 |   ```
 734 | 
 735 | - Updated dependencies [[`2c6a0cc`](https://github.com/clerk/javascript/commit/2c6a0cca6e824bafc6b0d0501784517a5b1f75ea), [`71e6a1f`](https://github.com/clerk/javascript/commit/71e6a1f1024d65b7a09cdc8fa81ce0164e0a34cb)]:
 736 |   - @clerk/[email protected]
 737 | 
 738 | ## 3.9.4
 739 | 
 740 | ### Patch Changes
 741 | 
 742 | - Updated dependencies [[`6ed3dfc`](https://github.com/clerk/javascript/commit/6ed3dfc1bc742ac9d9a2307fe8e4733411cbc0d7)]:
 743 |   - @clerk/[email protected]
 744 | 
 745 | ## 3.9.3
 746 | 
 747 | ### Patch Changes
 748 | 
 749 | - Updated `isLoaded` comments for useOrganizationList. ([#5970](https://github.com/clerk/javascript/pull/5970)) by [@royanger](https://github.com/royanger)
 750 | 
 751 | ## 3.9.2
 752 | 
 753 | ### Patch Changes
 754 | 
 755 | - Use domain in AuthenticateRequest only for satellite domains ([#5919](https://github.com/clerk/javascript/pull/5919)) by [@jacekradko](https://github.com/jacekradko)
 756 | 
 757 | - Updated dependencies [[`c305b31`](https://github.com/clerk/javascript/commit/c305b310e351e9ce2012f805b35e464c3e43e310)]:
 758 |   - @clerk/[email protected]
 759 | 
 760 | ## 3.9.1
 761 | 
 762 | ### Patch Changes
 763 | 
 764 | - Updated dependencies [[`b1337df`](https://github.com/clerk/javascript/commit/b1337dfeae8ccf8622efcf095e3201f9bbf1cefa), [`65f0878`](https://github.com/clerk/javascript/commit/65f08788ee5e56242eee2194c73ba90965c75c97), [`df6fefd`](https://github.com/clerk/javascript/commit/df6fefd05fd2df93f5286d97e546b48911adea7c), [`4282bfa`](https://github.com/clerk/javascript/commit/4282bfa09491225bde7d619fe9a3561062703f69), [`5491491`](https://github.com/clerk/javascript/commit/5491491711e0a8ee37828451c1f603a409de32cf)]:
 765 |   - @clerk/[email protected]
 766 | 
 767 | ## 3.9.0
 768 | 
 769 | ### Minor Changes
 770 | 
 771 | - Introduce `WhatsApp` as an alternative channel for phone code delivery. ([#5894](https://github.com/clerk/javascript/pull/5894)) by [@anagstef](https://github.com/anagstef)
 772 | 
 773 |   The new `channel` property accompanies the `phone_code` strategy. Possible values: `whatsapp` and `sms`.
 774 | 
 775 | ### Patch Changes
 776 | 
 777 | - Updated dependencies [[`1ff6d6e`](https://github.com/clerk/javascript/commit/1ff6d6efbe838b3f7f6977b2b5215c2cafd715f6), [`fbf3cf4`](https://github.com/clerk/javascript/commit/fbf3cf4916469c4e118870bf12efca2d0f77d9d8)]:
 778 |   - @clerk/[email protected]
 779 | 
 780 | ## 3.8.2
 781 | 
 782 | ### Patch Changes
 783 | 
 784 | - Updated dependencies [[`0f5145e`](https://github.com/clerk/javascript/commit/0f5145e164f3d3d5faf57e58162b05e7110d2403), [`afdfd18`](https://github.com/clerk/javascript/commit/afdfd18d645608dec37e52a291a91ba5f42dcbe7), [`b7c51ba`](https://github.com/clerk/javascript/commit/b7c51baac6df1129b468274c9a7f63ca303f16ce), [`437b53b`](https://github.com/clerk/javascript/commit/437b53b67e281d076b5b3f927e11c1d64666d154), [`5217155`](https://github.com/clerk/javascript/commit/52171554250c5c58f4f497b6d3c7416e79ac77da)]:
 785 |   - @clerk/[email protected]
 786 | 
 787 | ## 3.8.1
 788 | 
 789 | ### Patch Changes
 790 | 
 791 | - Updated dependencies [[`4db96e0`](https://github.com/clerk/javascript/commit/4db96e0ff2ab44c7bdd8540e09ec70b84b19d3eb), [`36fb43f`](https://github.com/clerk/javascript/commit/36fb43f8b35866bdc20680fac58020f036d30d1f), [`e5ac444`](https://github.com/clerk/javascript/commit/e5ac4447f52bb6887ad686feab308fe9daf76e33), [`4db96e0`](https://github.com/clerk/javascript/commit/4db96e0ff2ab44c7bdd8540e09ec70b84b19d3eb), [`d227805`](https://github.com/clerk/javascript/commit/d22780599a5e29545a3d8309cc411c2e8659beac)]:
 792 |   - @clerk/[email protected]
 793 | 
 794 | ## 3.8.0
 795 | 
 796 | ### Minor Changes
 797 | 
 798 | - Mark commerce apis as stable ([#5833](https://github.com/clerk/javascript/pull/5833)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
 799 | 
 800 | ### Patch Changes
 801 | 
 802 | - Allow for `has({ role | permission})` without scope. ([#5693](https://github.com/clerk/javascript/pull/5693)) by [@panteliselef](https://github.com/panteliselef)
 803 | 
 804 |   Examples:
 805 |   - `has({role: "admin"})`
 806 |   - `has({permission: "friends:add"})`
 807 | 
 808 | - Updated dependencies [[`db0138f`](https://github.com/clerk/javascript/commit/db0138f3f72aea8cb68a5684a90123f733848f63), [`aa97231`](https://github.com/clerk/javascript/commit/aa97231962e3f472a46135e376159c6ddcf1157b), [`c792f37`](https://github.com/clerk/javascript/commit/c792f37129fd6475d5af95146e9ef0f1c8eff730), [`3bf08a9`](https://github.com/clerk/javascript/commit/3bf08a9e0a9e65496edac5fc3bb22ad7b561df26), [`74cf3b2`](https://github.com/clerk/javascript/commit/74cf3b28cdf622a942aaf99caabfba74b7e856fd), [`037b113`](https://github.com/clerk/javascript/commit/037b113aaedd53d4647d88f1659eb9c14cf6f275), [`c15a412`](https://github.com/clerk/javascript/commit/c15a412169058e2304a51c9e92ffaa7f6bb2a898), [`7726a03`](https://github.com/clerk/javascript/commit/7726a03a7fec4d292b6de2587b84ed4371984c23), [`b846a9a`](https://github.com/clerk/javascript/commit/b846a9ab96db6b1d8344a4b693051618865508a8), [`e66c800`](https://github.com/clerk/javascript/commit/e66c8002b82b2902f77e852e16482f5cfb062d2c), [`45e8298`](https://github.com/clerk/javascript/commit/45e829890ec9ac66f07e0d7076cd283f14c893ed), [`9c41091`](https://github.com/clerk/javascript/commit/9c41091eb795bce8ffeeeca0264ae841fe07b426), [`29462b4`](https://github.com/clerk/javascript/commit/29462b433eb411ce614e4768e5844cacd00c1975), [`322c43f`](https://github.com/clerk/javascript/commit/322c43f6807a932c3cfaaef1b587b472c80180d2), [`17397f9`](https://github.com/clerk/javascript/commit/17397f95b715bd4fefd7f63c1d351abcf1c8ee16), [`45e8298`](https://github.com/clerk/javascript/commit/45e829890ec9ac66f07e0d7076cd283f14c893ed)]:
 809 |   - @clerk/[email protected]
 810 | 
 811 | ## 3.7.8
 812 | 
 813 | ### Patch Changes
 814 | 
 815 | - Updated dependencies [[`9ec0a73`](https://github.com/clerk/javascript/commit/9ec0a7353e9f6ea661c3d7b9542423b6eb1d29e9), [`d9222fc`](https://github.com/clerk/javascript/commit/d9222fc3c21da2bcae30b06f0b1897f526935582)]:
 816 |   - @clerk/[email protected]
 817 | 
 818 | ## 3.7.7
 819 | 
 820 | ### Patch Changes
 821 | 
 822 | - Updated dependencies [[`225b9ca`](https://github.com/clerk/javascript/commit/225b9ca21aba44930872a85d6b112ee2a1b606b9)]:
 823 |   - @clerk/[email protected]
 824 | 
 825 | ## 3.7.6
 826 | 
 827 | ### Patch Changes
 828 | 
 829 | - Fix handshake redirect loop in applications deployed to Netlify with a Clerk development instance. ([#5656](https://github.com/clerk/javascript/pull/5656)) by [@wobsoriano](https://github.com/wobsoriano)
 830 | 
 831 | - Updated dependencies [[`387bf62`](https://github.com/clerk/javascript/commit/387bf623406306e0c5c08da937f4930a7ec5e4a5), [`294da82`](https://github.com/clerk/javascript/commit/294da82336e7a345900d7ef9b28f56a7c8864c52)]:
 832 |   - @clerk/[email protected]
 833 | 
 834 | ## 3.7.5
 835 | 
 836 | ### Patch Changes
 837 | 
 838 | - Updated dependencies [[`b02e766`](https://github.com/clerk/javascript/commit/b02e76627e47aec314573586451fa345a089115a), [`5d78b28`](https://github.com/clerk/javascript/commit/5d78b286b63e35fbcf44aac1f7657cbeaba4d659), [`d7f4438`](https://github.com/clerk/javascript/commit/d7f4438fa4bfd04474d5cdb9212ba908568ad6d2), [`5866855`](https://github.com/clerk/javascript/commit/58668550ec91d5511cf775972c54dc485185cc58), [`0007106`](https://github.com/clerk/javascript/commit/00071065998a3676c51e396b4c0afcbf930a9898), [`462b5b2`](https://github.com/clerk/javascript/commit/462b5b271d4e120d58a85818a358b60a6b3c8100), [`447d7a9`](https://github.com/clerk/javascript/commit/447d7a9e133c2a0e7db014bd5837e6ffff08f572), [`2beea29`](https://github.com/clerk/javascript/commit/2beea2957c67bc62446fe24d36332b0a4e850d7d), [`115601d`](https://github.com/clerk/javascript/commit/115601d12fd65dbf3011c0cda368525a2b95bfeb)]:
 839 |   - @clerk/[email protected]
 840 | 
 841 | ## 3.7.4
 842 | 
 843 | ### Patch Changes
 844 | 
 845 | - Updated dependencies [[`8b25035`](https://github.com/clerk/javascript/commit/8b25035aa49382fe1cd1c6f30ec80e86bcf9d66e)]:
 846 |   - @clerk/[email protected]
 847 | 
 848 | ## 3.7.3
 849 | 
 850 | ### Patch Changes
 851 | 
 852 | - Updated dependencies [[`33201bf`](https://github.com/clerk/javascript/commit/33201bf972d6a980617d47ebd776bef76f871833), [`4334598`](https://github.com/clerk/javascript/commit/4334598108ff2cfa3c25b5a46117c1c9c65b7974), [`0ae0403`](https://github.com/clerk/javascript/commit/0ae040303d239b75a3221436354a2c2ecdb85aae)]:
 853 |   - @clerk/[email protected]
 854 | 
 855 | ## 3.7.2
 856 | 
 857 | ### Patch Changes
 858 | 
 859 | - Improve JSDoc comments ([#5643](https://github.com/clerk/javascript/pull/5643)) by [@alexisintech](https://github.com/alexisintech)
 860 | 
 861 | - Updated dependencies [[`45486ac`](https://github.com/clerk/javascript/commit/45486acebf4d133efb09a3622a738cdbf4e51d66), [`837692a`](https://github.com/clerk/javascript/commit/837692aa40197b1574783ad36d0d017a771c08e1), [`0c00e59`](https://github.com/clerk/javascript/commit/0c00e59ff4714491650ac9480ae3b327c626d30d), [`6a5f644`](https://github.com/clerk/javascript/commit/6a5f6447a36a635d6201f8bb7619fb844ab21b79)]:
 862 |   - @clerk/[email protected]
 863 | 
 864 | ## 3.7.1
 865 | 
 866 | ### Patch Changes
 867 | 
 868 | - Improve JSDoc comments ([#5630](https://github.com/clerk/javascript/pull/5630)) by [@LekoArts](https://github.com/LekoArts)
 869 | 
 870 | - Updated dependencies [[`ab939fd`](https://github.com/clerk/javascript/commit/ab939fdb29150c376280b42f861a188a33f57dcc), [`03284da`](https://github.com/clerk/javascript/commit/03284da6a93a790ce3e3ebbd871c06e19f5a8803), [`7389ba3`](https://github.com/clerk/javascript/commit/7389ba3164ca0d848fb0a9de5d7e9716925fadcc), [`f6ef841`](https://github.com/clerk/javascript/commit/f6ef841125ff21ca8cae731d1f47f3a101d887e1), [`e634830`](https://github.com/clerk/javascript/commit/e6348301ab56a7868f24c1b9a4dd9e1d60f6027b), [`f8887b2`](https://github.com/clerk/javascript/commit/f8887b2cbd145e8e49bec890e8b6e02e34178d6a)]:
 871 |   - @clerk/[email protected]
 872 | 
 873 | ## 3.7.0
 874 | 
 875 | ### Minor Changes
 876 | 
 877 | - Replace `parseFeatures` with `splitByScope`. ([#5582](https://github.com/clerk/javascript/pull/5582)) by [@panteliselef](https://github.com/panteliselef)
 878 | 
 879 | - Update `createCheckAuthorization` to support authorization based on features and plans. ([#5582](https://github.com/clerk/javascript/pull/5582)) by [@panteliselef](https://github.com/panteliselef)
 880 | 
 881 | ### Patch Changes
 882 | 
 883 | - Bug fix: Reverse permissions array on `parsePermissions` to match bitmask correctly. ([#5620](https://github.com/clerk/javascript/pull/5620)) by [@panteliselef](https://github.com/panteliselef)
 884 | 
 885 | - Improve JSDoc comments ([#5578](https://github.com/clerk/javascript/pull/5578)) by [@LekoArts](https://github.com/LekoArts)
 886 | 
 887 | - Improve JSDoc comments ([#5596](https://github.com/clerk/javascript/pull/5596)) by [@LekoArts](https://github.com/LekoArts)
 888 | 
 889 | - Updated dependencies [[`e4d04ae`](https://github.com/clerk/javascript/commit/e4d04aea490ab67e3431729398d3f4c46fc3e7e7), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`93068ea`](https://github.com/clerk/javascript/commit/93068ea9eb19d8c8b9c7ade35d0cd860e08049fc), [`48438b4`](https://github.com/clerk/javascript/commit/48438b409036088701bda7e1e732d6a51bee8cdc), [`196dcb4`](https://github.com/clerk/javascript/commit/196dcb47928bd22a3382197f8594a590f688faee)]:
 890 |   - @clerk/[email protected]
 891 | 
 892 | ## 3.6.0
 893 | 
 894 | ### Minor Changes
 895 | 
 896 | - Export `createEventBus` from `@clerk/shared/eventBus`. ([#5546](https://github.com/clerk/javascript/pull/5546)) by [@panteliselef](https://github.com/panteliselef)
 897 | 
 898 |   ```ts
 899 |   // Create a type-safe event bus
 900 |   const bus = createEventBus<{
 901 |     'user:login': { id: string };
 902 |     error: Error;
 903 |   }>();
 904 | 
 905 |   // Subscribe to events
 906 |   const onLogin = ({ id }: { id: string }) => console.log('User logged in:', id);
 907 |   bus.on('user:login', onLogin);
 908 | 
 909 |   // Subscribe with priority (runs before regular handlers)
 910 |   bus.onBefore('error', error => console.error('Error occurred:', error));
 911 | 
 912 |   // Emit events
 913 |   bus.emit('user:login', { id: 'user_123' });
 914 | 
 915 |   // Unsubscribe specific handler
 916 |   bus.off('user:login', onLogin);
 917 | 
 918 |   // Unsubscribe all handlers
 919 |   bus.off('error');
 920 |   ```
 921 | 
 922 | ### Patch Changes
 923 | 
 924 | - Improve JSDoc comments ([#5575](https://github.com/clerk/javascript/pull/5575)) by [@LekoArts](https://github.com/LekoArts)
 925 | 
 926 | - Fix JWT v2 feature parsing ([#5580](https://github.com/clerk/javascript/pull/5580)) by [@octoper](https://github.com/octoper)
 927 | 
 928 | - Updated dependencies [[`554242e`](https://github.com/clerk/javascript/commit/554242e16e50c92a6afb6ed74c681b04b9f113b5)]:
 929 |   - @clerk/[email protected]
 930 | 
 931 | ## 3.5.0
 932 | 
 933 | ### Minor Changes
 934 | 
 935 | - Adding the new `o` claim that contains all organization related info for JWT v2 schema ([#5549](https://github.com/clerk/javascript/pull/5549)) by [@octoper](https://github.com/octoper)
 936 | 
 937 | ### Patch Changes
 938 | 
 939 | - Add Payment Sources to `<OrgProfile />`, hook up all org-related payment source and checkout methods to the org-specific endpoints ([#5554](https://github.com/clerk/javascript/pull/5554)) by [@aeliox](https://github.com/aeliox)
 940 | 
 941 | - Updated dependencies [[`3ad3bc8`](https://github.com/clerk/javascript/commit/3ad3bc8380b354b0cd952eb58eb6c07650efa0f2), [`cfa94b8`](https://github.com/clerk/javascript/commit/cfa94b88476608edf8c2486e8ec0d3f3f82e0bfb), [`2033919`](https://github.com/clerk/javascript/commit/203391964857b98dae11944799d1e6328439e838), [`5f3cc46`](https://github.com/clerk/javascript/commit/5f3cc460b6b775b5a74746758b8cff11649a877a)]:
 942 |   - @clerk/[email protected]
 943 | 
 944 | ## 3.4.1
 945 | 
 946 | ### Patch Changes
 947 | 
 948 | - Updated dependencies [[`f6f275d`](https://github.com/clerk/javascript/commit/f6f275dac5ae83ac0c2016a85a6a0cee9513f224)]:
 949 |   - @clerk/[email protected]
 950 | 
 951 | ## 3.4.0
 952 | 
 953 | ### Minor Changes
 954 | 
 955 | - Update `useAuth` to handle pending sessions as signed-out by default, with opt-out via `useAuth({ treatPendingAsSignedOut: false })` or `<ClerkProvider treatPendingAsSignedOut={false} />` ([#5507](https://github.com/clerk/javascript/pull/5507)) by [@LauraBeatris](https://github.com/LauraBeatris)
 956 | 
 957 | ### Patch Changes
 958 | 
 959 | - Updated dependencies [[`e1ec52b`](https://github.com/clerk/javascript/commit/e1ec52b93038c9cb24e030dc06e53825a384a480), [`bebb6d8`](https://github.com/clerk/javascript/commit/bebb6d8af66b2bb7a4b3bdf96f9d480e65b31ba2), [`d0d5203`](https://github.com/clerk/javascript/commit/d0d5203e4ee9e2e1bed5c00ef0f87f0130f1d298), [`9b25e31`](https://github.com/clerk/javascript/commit/9b25e311cf5e15f896c7948faa42ace45df364c5)]:
 960 |   - @clerk/[email protected]
 961 | 
 962 | ## 3.3.0
 963 | 
 964 | ### Minor Changes
 965 | 
 966 | - Expose `retryAfter` value on `ClerkAPIResponseError` for 429 responses. ([#5480](https://github.com/clerk/javascript/pull/5480)) by [@dstaley](https://github.com/dstaley)
 967 | 
 968 | - Set `retryImmediately: false` as the default for `retry()`. ([#5397](https://github.com/clerk/javascript/pull/5397)) by [@panteliselef](https://github.com/panteliselef)
 969 | 
 970 | - Bump `swr` to `2.3.3`. ([#5467](https://github.com/clerk/javascript/pull/5467)) by [@panteliselef](https://github.com/panteliselef)
 971 | 
 972 | ### Patch Changes
 973 | 
 974 | - Create a utility that implements `Promise.allSettled` with ES6/ES2015 compatibility. ([#5491](https://github.com/clerk/javascript/pull/5491)) by [@panteliselef](https://github.com/panteliselef)
 975 | 
 976 | - Updated dependencies [[`ec4521b`](https://github.com/clerk/javascript/commit/ec4521b4fe56602f524a0c6d1b09d21aef5d8bd0), [`f30fa75`](https://github.com/clerk/javascript/commit/f30fa750754f19030f932a666d2bdbdf0d86743d), [`9c68678`](https://github.com/clerk/javascript/commit/9c68678e87047e6312b708b775ebfb23a3e22f8a)]:
 977 |   - @clerk/[email protected]
 978 | 
 979 | ## 3.2.3
 980 | 
 981 | ### Patch Changes
 982 | 
 983 | - Add billing page to `OrgProfile`, use new `usePlans` hook, and adds new subscription methods ([#5423](https://github.com/clerk/javascript/pull/5423)) by [@aeliox](https://github.com/aeliox)
 984 | 
 985 | - Updated dependencies [[`e20fb6b`](https://github.com/clerk/javascript/commit/e20fb6b397fb69c9d5af4e321267b82f12a5f127), [`77e6462`](https://github.com/clerk/javascript/commit/77e64628560cab688af214edb5922e67cd68a951)]:
 986 |   - @clerk/[email protected]
 987 | 
 988 | ## 3.2.2
 989 | 
 990 | ### Patch Changes
 991 | 
 992 | - Removes the warning comment from `useReverification` ([#5454](https://github.com/clerk/javascript/pull/5454)) by [@octoper](https://github.com/octoper)
 993 | 
 994 | - Derive session status from server-side state ([#5447](https://github.com/clerk/javascript/pull/5447)) by [@LauraBeatris](https://github.com/LauraBeatris)
 995 | 
 996 | - Updated dependencies [[`1da28a2`](https://github.com/clerk/javascript/commit/1da28a28bf602069b433c15b92df21f682779294), [`f20dc15`](https://github.com/clerk/javascript/commit/f20dc159f542449e7f5b437b70d3eb3ba04d6975), [`4d9f1ee`](https://github.com/clerk/javascript/commit/4d9f1ee8c22fe1e4a166ff054d0af4d37b829f0a)]:
 997 |   - @clerk/[email protected]
 998 | 
 999 | ## 3.2.1
1000 | 
1001 | ### Patch Changes
1002 | 
1003 | - Updated dependencies [[`466ed13`](https://github.com/clerk/javascript/commit/466ed136af73b59b267d92ad3296039d1c3a4fcc)]:
1004 |   - @clerk/[email protected]
1005 | 
1006 | ## 3.2.0
1007 | 
1008 | ### Minor Changes
1009 | 
1010 | - Add shared `buildAccountsBaseUrl` utility. ([#5416](https://github.com/clerk/javascript/pull/5416)) by [@dstaley](https://github.com/dstaley)
1011 | 
1012 | ## 3.1.0
1013 | 
1014 | ### Minor Changes
1015 | 
1016 | - This introducing changes to `useReverification`, the changes include removing the array and returning the fetcher directly and also the dropping the options `throwOnCancel` and `onCancel` in favour of always throwing the cancellation error. ([#5396](https://github.com/clerk/javascript/pull/5396)) by [@octoper](https://github.com/octoper)
1017 | 
1018 |   ```tsx {{ filename: 'src/components/MyButton.tsx' }}
1019 |   import { useReverification } from '@clerk/clerk-react';
1020 |   import { isReverificationCancelledError } from '@clerk/clerk-react/error';
1021 | 
1022 |   type MyData = {
1023 |     balance: number;
1024 |   };
1025 | 
1026 |   export function MyButton() {
1027 |     const fetchMyData = () => fetch('/api/balance').then(res => res.json() as Promise<MyData>);
1028 |     const enhancedFetcher = useReverification(fetchMyData);
1029 | 
1030 |     const handleClick = async () => {
1031 |       try {
1032 |         const myData = await enhancedFetcher();
1033 |         //     ^ is typed as `MyData`
1034 |       } catch (e) {
1035 |         // Handle error returned from the fetcher here
1036 |         // You can also handle cancellation with the following
1037 |         if (isReverificationCancelledError(err)) {
1038 |           // Handle the cancellation error here
1039 |         }
1040 |       }
1041 |     };
1042 | 
1043 |     return <button onClick={handleClick}>Update User</button>;
1044 |   }
1045 |   ```
1046 | 
1047 |   These changes are also adding a new handler in options called `onNeedsReverification`, which can be used to create a custom UI
1048 |   to handle re-verification flow. When the handler is passed the default UI our AIO components provide will not be triggered so you will have to create and handle the re-verification process.
1049 | 
1050 |   ```tsx {{ filename: 'src/components/MyButtonCustom.tsx' }}
1051 |   import { useReverification } from '@clerk/clerk-react';
1052 |   import { isReverificationCancelledError } from '@clerk/clerk-react/error';
1053 | 
1054 |   type MyData = {
1055 |     balance: number;
1056 |   };
1057 | 
1058 |   export function MyButton() {
1059 |     const fetchMyData = () => fetch('/api/balance').then(res => res.json() as Promise<MyData>);
1060 |     const enhancedFetcher = useReverification(fetchMyData, {
1061 |       onNeedsReverification: ({ complete, cancel, level }) => {
1062 |         // e.g open a modal here and handle the re-verification flow
1063 |       },
1064 |     });
1065 | 
1066 |     const handleClick = async () => {
1067 |       try {
1068 |         const myData = await enhancedFetcher();
1069 |         //     ^ is typed as `MyData`
1070 |       } catch (e) {
1071 |         // Handle error returned from the fetcher here
1072 | 
1073 |         // You can also handle cancellation with the following
1074 |         if (isReverificationCancelledError(err)) {
1075 |           // Handle the cancellation error here
1076 |         }
1077 |       }
1078 |     };
1079 | 
1080 |     return <button onClick={handleClick}>Update User</button>;
1081 |   }
1082 |   ```
1083 | 
1084 | ### Patch Changes
1085 | 
1086 | - Updated dependencies [[`3910ebe`](https://github.com/clerk/javascript/commit/3910ebea85817273f18fd2f3f142dd1c728e2220)]:
1087 |   - @clerk/[email protected]
1088 | 
1089 | ## 3.0.2
1090 | 
1091 | ### Patch Changes
1092 | 
1093 | - Improve JSDoc documentation ([#5372](https://github.com/clerk/javascript/pull/5372)) by [@LekoArts](https://github.com/LekoArts)
1094 | 
1095 | - Updated dependencies [[`725918d`](https://github.com/clerk/javascript/commit/725918df2e74cea15e9b748aaf103a52df8e8500), [`91d0f0b`](https://github.com/clerk/javascript/commit/91d0f0b0dccab7168ad4dc06c8629808938c235f), [`9572bf5`](https://github.com/clerk/javascript/commit/9572bf5bdfb7dc309ec8714989b98ab12174965b), [`39bbc51`](https://github.com/clerk/javascript/commit/39bbc5189a33dc6cebdc269ac2184dc4ffff2534), [`3dddcda`](https://github.com/clerk/javascript/commit/3dddcda191d8f8d6a9b02464f1f6374d3c6aacb9), [`7524943`](https://github.com/clerk/javascript/commit/7524943300d7e693d61cc1820b520abfadec1c64), [`150b5c8`](https://github.com/clerk/javascript/commit/150b5c89477abb0feab15e0a886179473f653cac), [`23c931e`](https://github.com/clerk/javascript/commit/23c931e9e95e6de992549ad499b477aca9a9c344), [`730262f`](https://github.com/clerk/javascript/commit/730262f0f973923c8749b09078c80c2fc966a8ec), [`0b18bb1`](https://github.com/clerk/javascript/commit/0b18bb1fe6fa3ded97547bb6b4d2c73030aad329), [`021bc5f`](https://github.com/clerk/javascript/commit/021bc5f40044d34e49956ce3c9b61d833d815b42), [`1a61390`](https://github.com/clerk/javascript/commit/1a61390d3482bd4af58508b972ad89dea56fa224)]:
1096 |   - @clerk/[email protected]
1097 | 
1098 | ## 3.0.1
1099 | 
1100 | ### Patch Changes
1101 | 
1102 | - Improve JSDoc documentation ([#5296](https://github.com/clerk/javascript/pull/5296)) by [@LekoArts](https://github.com/LekoArts)
1103 | 
1104 | - Updated dependencies [[`75879672c5805bfba1caca906ac0729497744164`](https://github.com/clerk/javascript/commit/75879672c5805bfba1caca906ac0729497744164), [`7ec95a7e59033600958aca4b86f3bcd5da947dec`](https://github.com/clerk/javascript/commit/7ec95a7e59033600958aca4b86f3bcd5da947dec), [`3c225d90227141dc62d955e76c7f8e0202524bc7`](https://github.com/clerk/javascript/commit/3c225d90227141dc62d955e76c7f8e0202524bc7), [`2a66c16af08573000bb619607346ac420cd4ce56`](https://github.com/clerk/javascript/commit/2a66c16af08573000bb619607346ac420cd4ce56)]:
1105 |   - @clerk/[email protected]
1106 | 
1107 | ## 3.0.0
1108 | 
1109 | ### Major Changes
1110 | 
1111 | - This new version introduces the following breaking changes: ([#5144](https://github.com/clerk/javascript/pull/5144)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1112 |   - Introduced a new `retry` utility function to replace the deprecated `callWithRetry`.
1113 |   - Removed the `callWithRetry` function and its associated tests.
1114 |   - Renamed `runWithExponentialBackOff` to `retry` for consistency.
1115 | 
1116 |   Migration steps:
1117 |   - Replace any usage of `callWithRetry` with the new `retry` function.
1118 |   - Update import statements from:
1119 |     ```typescript
1120 |     import { callWithRetry } from '@clerk/shared/callWithRetry';
1121 |     ```
1122 |     to:
1123 |     ```typescript
1124 |     import { retry } from '@clerk/shared/retry';
1125 |     ```
1126 |   - Replace any usage of `runWithExponentialBackOff` with `retry`.
1127 |   - Update import statements from:
1128 |     ```typescript
1129 |     import { runWithExponentialBackOff } from '@clerk/shared/utils';
1130 |     ```
1131 |     to:
1132 |     ```typescript
1133 |     import { retry } from '@clerk/shared/retry';
1134 |     ```
1135 | 
1136 | ### Minor Changes
1137 | 
1138 | - Surface new `pending` session as a signed-in state ([#5136](https://github.com/clerk/javascript/pull/5136)) by [@LauraBeatris](https://github.com/LauraBeatris)
1139 | 
1140 | ### Patch Changes
1141 | 
1142 | - Update `TelemetryCollector` to throttle events after they've been sampled. ([#5236](https://github.com/clerk/javascript/pull/5236)) by [@panteliselef](https://github.com/panteliselef)
1143 | 
1144 | - Updated dependencies [[`28179323d9891bd13625e32c5682a3276e73cdae`](https://github.com/clerk/javascript/commit/28179323d9891bd13625e32c5682a3276e73cdae), [`c5c246ce91c01db9f1eaccbd354f646bcd24ec0a`](https://github.com/clerk/javascript/commit/c5c246ce91c01db9f1eaccbd354f646bcd24ec0a), [`bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a`](https://github.com/clerk/javascript/commit/bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a)]:
1145 |   - @clerk/[email protected]
1146 | 
1147 | ## 2.22.0
1148 | 
1149 | ### Minor Changes
1150 | 
1151 | - Introduce `EmailLinkErrorCodeStatus` to support users in custom flows and mark `EmailLinkErrorCode` as deprecated. ([#5142](https://github.com/clerk/javascript/pull/5142)) by [@alexcarpenter](https://github.com/alexcarpenter)
1152 | 
1153 |   ```diff
1154 |   - import { EmailLinkErrorCode } from '@clerk/nextjs/errors'
1155 |   + import { EmailLinkErrorCodeStatus } from '@clerk/nextjs/errors'
1156 |   ```
1157 | 
1158 | - Support passing additional properties to `eventPrebuiltComponentMounted()`, and ensure `withSignUp` is collected on `SignIn` mount. ([#5150](https://github.com/clerk/javascript/pull/5150)) by [@brkalow](https://github.com/brkalow)
1159 | 
1160 | ### Patch Changes
1161 | 
1162 | - Previously, the `getCurrentOrganizationMembership()` function was duplicated in both `@clerk/vue` and `@clerk/shared/react`. This change moves the function to `@clerk/shared/organization`. ([#5168](https://github.com/clerk/javascript/pull/5168)) by [@wobsoriano](https://github.com/wobsoriano)
1163 | 
1164 | - Updated dependencies [[`a9b0087fca3f427f65907b358d9b5bc0c95921d8`](https://github.com/clerk/javascript/commit/a9b0087fca3f427f65907b358d9b5bc0c95921d8)]:
1165 |   - @clerk/[email protected]
1166 | 
1167 | ## 2.21.1
1168 | 
1169 | ### Patch Changes
1170 | 
1171 | - Updated dependencies [[`dd2cbfe9f30358b6b298901bb52fa378b0acdca3`](https://github.com/clerk/javascript/commit/dd2cbfe9f30358b6b298901bb52fa378b0acdca3), [`570d8386f6aa596bf7bb1659bdddb8dd4d992b1d`](https://github.com/clerk/javascript/commit/570d8386f6aa596bf7bb1659bdddb8dd4d992b1d)]:
1172 |   - @clerk/[email protected]
1173 | 
1174 | ## 2.21.0
1175 | 
1176 | ### Minor Changes
1177 | 
1178 | - Introduce unified environment variable handling across all supported platforms ([#4985](https://github.com/clerk/javascript/pull/4985)) by [@wobsoriano](https://github.com/wobsoriano)
1179 | 
1180 |   Usage:
1181 | 
1182 |   ```ts
1183 |   import { getEnvVariable } from '@clerk/shared/getEnvVariable';
1184 | 
1185 |   const publishableKey = getEnvVariable('CLERK_PUBLISHABLE_KEY');
1186 |   ```
1187 | 
1188 | ### Patch Changes
1189 | 
1190 | - Small JSDoc and type improvements ([#5099](https://github.com/clerk/javascript/pull/5099)) by [@LekoArts](https://github.com/LekoArts)
1191 | 
1192 | - Updated dependencies [[`767ac85fe6ce0ee0594c923e9af701bb05f40a0b`](https://github.com/clerk/javascript/commit/767ac85fe6ce0ee0594c923e9af701bb05f40a0b), [`225b38c7187d31fc755155ea99834ca03894d36b`](https://github.com/clerk/javascript/commit/225b38c7187d31fc755155ea99834ca03894d36b), [`429f1bfe5f7a554ab1fdf265475ba6c8b3f78472`](https://github.com/clerk/javascript/commit/429f1bfe5f7a554ab1fdf265475ba6c8b3f78472)]:
1193 |   - @clerk/[email protected]
1194 | 
1195 | ## 2.20.18
1196 | 
1197 | ### Patch Changes
1198 | 
1199 | - Updated dependencies [[`d3152be7f01fbb5ca26aeddc2437021f4b7ecc83`](https://github.com/clerk/javascript/commit/d3152be7f01fbb5ca26aeddc2437021f4b7ecc83), [`f976349243da2b75023e59e802460e6f3592ebbd`](https://github.com/clerk/javascript/commit/f976349243da2b75023e59e802460e6f3592ebbd)]:
1200 |   - @clerk/[email protected]
1201 | 
1202 | ## 2.20.17
1203 | 
1204 | ### Patch Changes
1205 | 
1206 | - Previously the `createPathMatcher()` function was re-implemented both in `@clerk/astro` and `@clerk/nextjs`, this PR moves this logic to `@clerk/shared`. ([#5043](https://github.com/clerk/javascript/pull/5043)) by [@wobsoriano](https://github.com/wobsoriano)
1207 | 
1208 |   You can use it like so:
1209 | 
1210 |   ```ts
1211 |   import { createPathMatcher } from '@clerk/shared/pathMatcher';
1212 |   ```
1213 | 
1214 | - Improve JSDoc comments to provide better IntelliSense in your IDE ([#5053](https://github.com/clerk/javascript/pull/5053)) by [@LekoArts](https://github.com/LekoArts)
1215 | 
1216 | - Updated dependencies [[`833693a6792b621e72162d70673e7bdfa84a69b6`](https://github.com/clerk/javascript/commit/833693a6792b621e72162d70673e7bdfa84a69b6)]:
1217 |   - @clerk/[email protected]
1218 | 
1219 | ## 2.20.16
1220 | 
1221 | ### Patch Changes
1222 | 
1223 | - Catching ATOB errors in isPublishableKey ([#5029](https://github.com/clerk/javascript/pull/5029)) by [@jacekradko](https://github.com/jacekradko)
1224 | 
1225 | - Updated dependencies [[`1345cb487970a7347351897e80dfb829d85c41ea`](https://github.com/clerk/javascript/commit/1345cb487970a7347351897e80dfb829d85c41ea)]:
1226 |   - @clerk/[email protected]
1227 | 
1228 | ## 2.20.15
1229 | 
1230 | ### Patch Changes
1231 | 
1232 | - Introduced searching for members list on `OrganizationProfile` ([#4942](https://github.com/clerk/javascript/pull/4942)) by [@LauraBeatris](https://github.com/LauraBeatris)
1233 | 
1234 | - Updated dependencies [[`57c983fdc2b8d883623a2294daae0ac6c02c48f6`](https://github.com/clerk/javascript/commit/57c983fdc2b8d883623a2294daae0ac6c02c48f6), [`a26cf0ff10c76244975c454fdf6c615475d4bcd5`](https://github.com/clerk/javascript/commit/a26cf0ff10c76244975c454fdf6c615475d4bcd5)]:
1235 |   - @clerk/[email protected]
1236 | 
1237 | ## 2.20.14
1238 | 
1239 | ### Patch Changes
1240 | 
1241 | - Updated dependencies [[`2179690c10a61b117e82fdd566b34939f4d28bc1`](https://github.com/clerk/javascript/commit/2179690c10a61b117e82fdd566b34939f4d28bc1), [`bdb537a9902c0f0ae58ca1d4b7590d929f28fedb`](https://github.com/clerk/javascript/commit/bdb537a9902c0f0ae58ca1d4b7590d929f28fedb)]:
1242 |   - @clerk/[email protected]
1243 | 
1244 | ## 2.20.13
1245 | 
1246 | ### Patch Changes
1247 | 
1248 | - Re-add `handleValueOrFn` to subpaths with a deprecation warning. ([#4972](https://github.com/clerk/javascript/pull/4972)) by [@tmilewski](https://github.com/tmilewski)
1249 | 
1250 | - Updates error handling check within isEmailLinkError to fix issue where email link errors were not properly returning true. ([#4963](https://github.com/clerk/javascript/pull/4963)) by [@alexcarpenter](https://github.com/alexcarpenter)
1251 | 
1252 | - Updated dependencies [[`6e096564a459db4eaf953e99e570905b10be6c84`](https://github.com/clerk/javascript/commit/6e096564a459db4eaf953e99e570905b10be6c84)]:
1253 |   - @clerk/[email protected]
1254 | 
1255 | ## 2.20.12
1256 | 
1257 | ### Patch Changes
1258 | 
1259 | - Updated dependencies [[`fe3e49f61acefe8d7f1992405f7cb415fea2e5c8`](https://github.com/clerk/javascript/commit/fe3e49f61acefe8d7f1992405f7cb415fea2e5c8), [`4427c4702f64d4f28f7564ce5889d41e260aa519`](https://github.com/clerk/javascript/commit/4427c4702f64d4f28f7564ce5889d41e260aa519)]:
1260 |   - @clerk/[email protected]
1261 | 
1262 | ## 2.20.11
1263 | 
1264 | ### Patch Changes
1265 | 
1266 | - Updated dependencies [[`418ec5c62c4eb600566faab07684c068a29007e3`](https://github.com/clerk/javascript/commit/418ec5c62c4eb600566faab07684c068a29007e3)]:
1267 |   - @clerk/[email protected]
1268 | 
1269 | ## 2.20.10
1270 | 
1271 | ### Patch Changes
1272 | 
1273 | - Standardizing ambient declaration files for all SDKs ([#4919](https://github.com/clerk/javascript/pull/4919)) by [@jacekradko](https://github.com/jacekradko)
1274 | 
1275 | ## 2.20.9
1276 | 
1277 | ### Patch Changes
1278 | 
1279 | - Updated dependencies [[`7ffc99b48977b9f6c74c0c71c500b60cb8aba65e`](https://github.com/clerk/javascript/commit/7ffc99b48977b9f6c74c0c71c500b60cb8aba65e)]:
1280 |   - @clerk/[email protected]
1281 | 
1282 | ## 2.20.8
1283 | 
1284 | ### Patch Changes
1285 | 
1286 | - Updated dependencies [[`4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d`](https://github.com/clerk/javascript/commit/4af35380f18d1d06c15ad1f5745c2d5a1ab1c37d), [`aa48b1f9e890b2402e9d05989a4820141076f7bf`](https://github.com/clerk/javascript/commit/aa48b1f9e890b2402e9d05989a4820141076f7bf), [`53bd34fff38b17498edf66cc4bc2d42d707f28dc`](https://github.com/clerk/javascript/commit/53bd34fff38b17498edf66cc4bc2d42d707f28dc)]:
1287 |   - @clerk/[email protected]
1288 | 
1289 | ## 2.20.7
1290 | 
1291 | ### Patch Changes
1292 | 
1293 | - Updated dependencies [[`fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6`](https://github.com/clerk/javascript/commit/fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6)]:
1294 |   - @clerk/[email protected]
1295 | 
1296 | ## 2.20.6
1297 | 
1298 | ### Patch Changes
1299 | 
1300 | - Updated dependencies [[`44cab6038af0a4d23869b3b292ece742fbbc4d85`](https://github.com/clerk/javascript/commit/44cab6038af0a4d23869b3b292ece742fbbc4d85)]:
1301 |   - @clerk/[email protected]
1302 | 
1303 | ## 2.20.5
1304 | 
1305 | ### Patch Changes
1306 | 
1307 | - Updated dependencies [[`80e1117631d35834705119a79cdcf9e0ed423fdd`](https://github.com/clerk/javascript/commit/80e1117631d35834705119a79cdcf9e0ed423fdd)]:
1308 |   - @clerk/[email protected]
1309 | 
1310 | ## 2.20.4
1311 | 
1312 | ### Patch Changes
1313 | 
1314 | - Updated dependencies [[`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
1315 |   - @clerk/[email protected]
1316 | 
1317 | ## 2.20.3
1318 | 
1319 | ### Patch Changes
1320 | 
1321 | - Improve error message when Publishable Key is missing when trying to parse it. ([#4785](https://github.com/clerk/javascript/pull/4785)) by [@anagstef](https://github.com/anagstef)
1322 | 
1323 | ## 2.20.2
1324 | 
1325 | ### Patch Changes
1326 | 
1327 | - Updated dependencies [[`aeafa7c5efd50c893d088ac99199d7eaecc04025`](https://github.com/clerk/javascript/commit/aeafa7c5efd50c893d088ac99199d7eaecc04025), [`acd9326ef2d6942b981b3ee59c4b20ddd303323d`](https://github.com/clerk/javascript/commit/acd9326ef2d6942b981b3ee59c4b20ddd303323d)]:
1328 |   - @clerk/[email protected]
1329 | 
1330 | ## 2.20.1
1331 | 
1332 | ### Patch Changes
1333 | 
1334 | - Using the same peerDependencies semver for react and react-dom ([#4758](https://github.com/clerk/javascript/pull/4758)) by [@jacekradko](https://github.com/jacekradko)
1335 | 
1336 | - Introduce the `errorToJSON` utility function. ([#4604](https://github.com/clerk/javascript/pull/4604)) by [@anagstef](https://github.com/anagstef)
1337 | 
1338 | - Updated dependencies [[`e1748582d0c89462f48a482a7805871b7065fa19`](https://github.com/clerk/javascript/commit/e1748582d0c89462f48a482a7805871b7065fa19), [`7f7edcaa8228c26d19e9081979100ada7e982095`](https://github.com/clerk/javascript/commit/7f7edcaa8228c26d19e9081979100ada7e982095), [`dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d`](https://github.com/clerk/javascript/commit/dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d)]:
1339 |   - @clerk/[email protected]
1340 | 
1341 | ## 2.20.0
1342 | 
1343 | ### Minor Changes
1344 | 
1345 | - Switching to use ^ for semver ranges of internal @clerk/ production dependencies. ([#4664](https://github.com/clerk/javascript/pull/4664)) by [@jacekradko](https://github.com/jacekradko)
1346 | 
1347 | ## 2.19.4
1348 | 
1349 | ### Patch Changes
1350 | 
1351 | - Updated dependencies [[`cd72a27a75863dfd94b0a00ed5b2d03231556bc0`](https://github.com/clerk/javascript/commit/cd72a27a75863dfd94b0a00ed5b2d03231556bc0)]:
1352 |   - @clerk/[email protected]
1353 | 
1354 | ## 2.19.3
1355 | 
1356 | ### Patch Changes
1357 | 
1358 | - Updated dependencies [[`1b86a1da34ce4bc309f69980ac13a691a0a633c2`](https://github.com/clerk/javascript/commit/1b86a1da34ce4bc309f69980ac13a691a0a633c2)]:
1359 |   - @clerk/[email protected]
1360 | 
1361 | ## 2.19.2
1362 | 
1363 | ### Patch Changes
1364 | 
1365 | - Improving error messaging from `useAssertWrappedByClerkProvider` to point out potential failure scenarios. ([#4719](https://github.com/clerk/javascript/pull/4719)) by [@jacekradko](https://github.com/jacekradko)
1366 | 
1367 | ## 2.19.1
1368 | 
1369 | ### Patch Changes
1370 | 
1371 | - Updated dependencies [[`550c7e9851329688e37be29b83ea0c3b12482af7`](https://github.com/clerk/javascript/commit/550c7e9851329688e37be29b83ea0c3b12482af7), [`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99)]:
1372 |   - @clerk/[email protected]
1373 | 
1374 | ## 2.19.0
1375 | 
1376 | ### Minor Changes
1377 | 
1378 | - Introduce new submodules: ([#4716](https://github.com/clerk/javascript/pull/4716)) by [@panteliselef](https://github.com/panteliselef)
1379 |   - Export `OAUTH_PROVIDERS` from `@clerk/shared/oauth`
1380 |   - Export `WEB3_PROVIDERS` from `@clerk/shared/web3`
1381 | 
1382 | ### Patch Changes
1383 | 
1384 | - Updated dependencies [[`0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3`](https://github.com/clerk/javascript/commit/0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3)]:
1385 |   - @clerk/[email protected]
1386 | 
1387 | ## 2.18.1
1388 | 
1389 | ### Patch Changes
1390 | 
1391 | - Updated dependencies [[`4e5e7f463c12893a21cb3b5f9317fc3f2945879b`](https://github.com/clerk/javascript/commit/4e5e7f463c12893a21cb3b5f9317fc3f2945879b)]:
1392 |   - @clerk/[email protected]
1393 | 
1394 | ## 2.18.0
1395 | 
1396 | ### Minor Changes
1397 | 
1398 | - Replace `session_step_up_verification_required` with `session_reverification_required` as the Clerk API error code used for reverification. ([#4699](https://github.com/clerk/javascript/pull/4699)) by [@panteliselef](https://github.com/panteliselef)
1399 | 
1400 | ### Patch Changes
1401 | 
1402 | - Updated dependencies [[`8ee5d84995fa17532491ff96efac5738c9bcd9ef`](https://github.com/clerk/javascript/commit/8ee5d84995fa17532491ff96efac5738c9bcd9ef), [`09fedd1df155d30cc055ce701b133aa6470e9b47`](https://github.com/clerk/javascript/commit/09fedd1df155d30cc055ce701b133aa6470e9b47)]:
1403 |   - @clerk/[email protected]
1404 | 
1405 | ## 2.17.1
1406 | 
1407 | ### Patch Changes
1408 | 
1409 | - Updated dependencies [[`8a28d1f403309f692d9332704f07effbf39d056d`](https://github.com/clerk/javascript/commit/8a28d1f403309f692d9332704f07effbf39d056d)]:
1410 |   - @clerk/[email protected]
1411 | 
1412 | ## 2.17.0
1413 | 
1414 | ### Minor Changes
1415 | 
1416 | - Introduce the `useReverification()` hook that handles the session reverification flow: ([#4536](https://github.com/clerk/javascript/pull/4536)) by [@panteliselef](https://github.com/panteliselef)
1417 |   - `__experimental_useReverification` -> `useReverification`
1418 |     Also replaces the following APIs:
1419 |   - `__experimental_reverificationError` -> `reverificationError`
1420 |   - `__experimental_reverificationErrorResponse` -> `reverificationErrorResponse`
1421 |   - `__experimental_isReverificationHint` -> `isReverificationHint`
1422 | 
1423 | ### Patch Changes
1424 | 
1425 | - Gracefully handle missing reverification error metadata ([#4636](https://github.com/clerk/javascript/pull/4636)) by [@panteliselef](https://github.com/panteliselef)
1426 | 
1427 | - Rename userVerification to reverification to align with the feature name. ([#4634](https://github.com/clerk/javascript/pull/4634)) by [@BRKalow](https://github.com/BRKalow)
1428 | 
1429 | - Updated dependencies [[`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`dce4f7ffca7248c0500f0ec9a978672b1f2fad69`](https://github.com/clerk/javascript/commit/dce4f7ffca7248c0500f0ec9a978672b1f2fad69)]:
1430 |   - @clerk/[email protected]
1431 | 
1432 | ## 2.16.1
1433 | 
1434 | ### Patch Changes
1435 | 
1436 | - Updated dependencies [[`c70994b5b6f92a6550dfe37547f01bbfa810c223`](https://github.com/clerk/javascript/commit/c70994b5b6f92a6550dfe37547f01bbfa810c223), [`7623a99594e7329200b6b374e483152d7679ce66`](https://github.com/clerk/javascript/commit/7623a99594e7329200b6b374e483152d7679ce66)]:
1437 |   - @clerk/[email protected]
1438 | 
1439 | ## 2.16.0
1440 | 
1441 | ### Minor Changes
1442 | 
1443 | - Change `useReverification` to handle error in a callback, but still allow an error to be thrown via options. ([#4564](https://github.com/clerk/javascript/pull/4564)) by [@panteliselef](https://github.com/panteliselef)
1444 | 
1445 | ### Patch Changes
1446 | 
1447 | - Share hook return types ([#4583](https://github.com/clerk/javascript/pull/4583)) by [@wobsoriano](https://github.com/wobsoriano)
1448 | 
1449 | - Updated dependencies [[`e47eb5882a7fd4a8dee25933c6644790d6ea3407`](https://github.com/clerk/javascript/commit/e47eb5882a7fd4a8dee25933c6644790d6ea3407), [`273d16cb0665d4d960838cb294dc356f41814745`](https://github.com/clerk/javascript/commit/273d16cb0665d4d960838cb294dc356f41814745)]:
1450 |   - @clerk/[email protected]
1451 | 
1452 | ## 2.15.0
1453 | 
1454 | ### Minor Changes
1455 | 
1456 | - Rename `reverificationMismatch` to `reverificationError`. ([#4582](https://github.com/clerk/javascript/pull/4582)) by [@panteliselef](https://github.com/panteliselef)
1457 | 
1458 | ### Patch Changes
1459 | 
1460 | - Improve formatting of ClerkRuntimeError message to include error code. ([#4574](https://github.com/clerk/javascript/pull/4574)) by [@panteliselef](https://github.com/panteliselef)
1461 | 
1462 | ## 2.14.0
1463 | 
1464 | ### Minor Changes
1465 | 
1466 | - Update reverification config values to snake_case. ([#4556](https://github.com/clerk/javascript/pull/4556)) by [@panteliselef](https://github.com/panteliselef)
1467 | 
1468 |   For `__experimental_ReverificationConfig`
1469 |   - `strictMfa` changes to `strict_mfa`
1470 | 
1471 |   For `__experimental_SessionVerificationLevel`
1472 |   - `firstFactor` changes to `first_factor`
1473 |   - - `secondFactor` changes to `second_factor`
1474 |   - - `multiFactor` changes to `multi_factor`
1475 | 
1476 | ### Patch Changes
1477 | 
1478 | - Protect /tokens requests by requiring a valid captcha token if the request fails with 401 ([#4559](https://github.com/clerk/javascript/pull/4559)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1479 | 
1480 | - Updated dependencies [[`46faeb6f59b19c963fb137c858347525b1cd9e19`](https://github.com/clerk/javascript/commit/46faeb6f59b19c963fb137c858347525b1cd9e19)]:
1481 |   - @clerk/[email protected]
1482 | 
1483 | ## 2.13.0
1484 | 
1485 | ### Minor Changes
1486 | 
1487 | - Replace `veryStrict` with `strictMfa` configuration for reverification. ([#4545](https://github.com/clerk/javascript/pull/4545)) by [@panteliselef](https://github.com/panteliselef)
1488 | 
1489 | ### Patch Changes
1490 | 
1491 | - Updated dependencies [[`1c0b5001f7f975a2f3f54ad692526ecf7257847e`](https://github.com/clerk/javascript/commit/1c0b5001f7f975a2f3f54ad692526ecf7257847e), [`6217a3f7c94311d49f873214bd406961e0b8d6f7`](https://github.com/clerk/javascript/commit/6217a3f7c94311d49f873214bd406961e0b8d6f7), [`1783025cdb94c447028704c2121fa0b8af785904`](https://github.com/clerk/javascript/commit/1783025cdb94c447028704c2121fa0b8af785904)]:
1492 |   - @clerk/[email protected]
1493 | 
1494 | ## 2.12.1
1495 | 
1496 | ### Patch Changes
1497 | 
1498 | - Updated dependencies [[`7dbad4c5abd226d7b10941a626ead5d85b1a3f24`](https://github.com/clerk/javascript/commit/7dbad4c5abd226d7b10941a626ead5d85b1a3f24)]:
1499 |   - @clerk/[email protected]
1500 | 
1501 | ## 2.12.0
1502 | 
1503 | ### Minor Changes
1504 | 
1505 | - Introduce experimental support for passkeys in Expo (iOS, Android, and Web). ([#4352](https://github.com/clerk/javascript/pull/4352)) by [@AlexNti](https://github.com/AlexNti)
1506 | 
1507 |   To use passkeys in Expo projects, pass the `__experimental_passkeys` object, which can be imported from `@clerk/clerk-expo/passkeys`, to the `ClerkProvider` component:
1508 | 
1509 |   ```tsx
1510 |   import { ClerkProvider } from '@clerk/clerk-expo';
1511 |   import { passkeys } from '@clerk/clerk-expo/passkeys';
1512 | 
1513 |   <ClerkProvider __experimental_passkeys={passkeys}>{/* Your app here */}</ClerkProvider>;
1514 |   ```
1515 | 
1516 |   The API for using passkeys in Expo projects is the same as the one used in web apps:
1517 | 
1518 |   ```tsx
1519 |   // passkey creation
1520 |   const { user } = useUser();
1521 | 
1522 |   const handleCreatePasskey = async () => {
1523 |     if (!user) return;
1524 |     try {
1525 |       return await user.createPasskey();
1526 |     } catch (e: any) {
1527 |       // handle error
1528 |     }
1529 |   };
1530 | 
1531 |   // passkey authentication
1532 |   const { signIn, setActive } = useSignIn();
1533 | 
1534 |   const handlePasskeySignIn = async () => {
1535 |     try {
1536 |       const signInResponse = await signIn.authenticateWithPasskey();
1537 |       await setActive({ session: signInResponse.createdSessionId });
1538 |     } catch (err: any) {
1539 |       //handle error
1540 |     }
1541 |   };
1542 |   ```
1543 | 
1544 | ### Patch Changes
1545 | 
1546 | - Adding missing dependencies to package.json ([#4522](https://github.com/clerk/javascript/pull/4522)) by [@jacekradko](https://github.com/jacekradko)
1547 | 
1548 | - Fixes issues in `ClerkRouter` that were causing inaccurate pathnames within Elements flows. Also fixes a dependency issue where `@clerk/elements` was pulling in the wrong version of `@clerk/shared`. ([#4513](https://github.com/clerk/javascript/pull/4513)) by [@alexcarpenter](https://github.com/alexcarpenter)
1549 | 
1550 | - Fixing the peerDependencies for react and react-dom ([#4494](https://github.com/clerk/javascript/pull/4494)) by [@jacekradko](https://github.com/jacekradko)
1551 | 
1552 | - Updated dependencies [[`f7472e22877f62fc7f3c8d3efe409ff2276fb4a3`](https://github.com/clerk/javascript/commit/f7472e22877f62fc7f3c8d3efe409ff2276fb4a3), [`e199037b8f484abdeeb9fc24455a1b4b8c31c8dd`](https://github.com/clerk/javascript/commit/e199037b8f484abdeeb9fc24455a1b4b8c31c8dd), [`0e443ad7c76643420b50e5b169193e03f6ef79f9`](https://github.com/clerk/javascript/commit/0e443ad7c76643420b50e5b169193e03f6ef79f9), [`cc24c8145f1eea7fb91550f2c3e0bac3993e4320`](https://github.com/clerk/javascript/commit/cc24c8145f1eea7fb91550f2c3e0bac3993e4320)]:
1553 |   - @clerk/[email protected]
1554 | 
1555 | ## 2.11.5
1556 | 
1557 | ### Patch Changes
1558 | 
1559 | - Use shared `deriveState` function ([#4490](https://github.com/clerk/javascript/pull/4490)) by [@wobsoriano](https://github.com/wobsoriano)
1560 | 
1561 | ## 2.11.4
1562 | 
1563 | ### Patch Changes
1564 | 
1565 | - Expose internal `__internal_getOption` method from Clerk. ([#4456](https://github.com/clerk/javascript/pull/4456)) by [@alexcarpenter](https://github.com/alexcarpenter)
1566 | 
1567 | - Correctly publish shim for `@clerk/shared/object` module as it is required by the metro bundler ([#4475](https://github.com/clerk/javascript/pull/4475)) by [@anagstef](https://github.com/anagstef)
1568 | 
1569 | - Updated dependencies [[`d74a6a7c0f291104c6bba722a8c432814d7b336e`](https://github.com/clerk/javascript/commit/d74a6a7c0f291104c6bba722a8c432814d7b336e), [`1a0c8fe665869e732d3c800bde0f5219fce54301`](https://github.com/clerk/javascript/commit/1a0c8fe665869e732d3c800bde0f5219fce54301)]:
1570 |   - @clerk/[email protected]
1571 | 
1572 | ## 2.11.3
1573 | 
1574 | ### Patch Changes
1575 | 
1576 | - Refactor imports from @clerk/shared to improve treeshaking support by [@nikosdouvlis](https://github.com/nikosdouvlis)
1577 | 
1578 | ## 2.11.0
1579 | 
1580 | ### Minor Changes
1581 | 
1582 | - Introduce experimental reverification error helpers. ([#4362](https://github.com/clerk/javascript/pull/4362)) by [@panteliselef](https://github.com/panteliselef)
1583 |   - `reverificationMismatch` returns the error as an object which can later be used as a return value from a React Server Action.
1584 |   - `reverificationMismatchResponse` returns a Response with the above object serialized. It can be used in any Backend Javascript frameworks that supports `Response`.
1585 | 
1586 | ### Patch Changes
1587 | 
1588 | - Updated dependencies [[`f875463da`](https://github.com/clerk/javascript/commit/f875463da9692f2d173b6d5388743cf720750ae3), [`5be7ca9fd`](https://github.com/clerk/javascript/commit/5be7ca9fd239c937cc88e20ce8f5bfc9f3b84f22), [`434b432f8`](https://github.com/clerk/javascript/commit/434b432f8c114825120eef0f2c278b8142ed1563)]:
1589 |   - @clerk/[email protected]
1590 | 
1591 | ## 2.10.1
1592 | 
1593 | ### Patch Changes
1594 | 
1595 | - Updated dependencies [[`3fdcdbf88`](https://github.com/clerk/javascript/commit/3fdcdbf88c38facf8b82563f634ec1b6604fd8e5)]:
1596 |   - @clerk/[email protected]
1597 | 
1598 | ## 2.10.0
1599 | 
1600 | ### Minor Changes
1601 | 
1602 | - Add experimental support for new UI components ([#4114](https://github.com/clerk/javascript/pull/4114)) by [@BRKalow](https://github.com/BRKalow)
1603 | 
1604 | ### Patch Changes
1605 | 
1606 | - Updated dependencies [[`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc), [`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc)]:
1607 |   - @clerk/[email protected]
1608 | 
1609 | ## 2.9.2
1610 | 
1611 | ### Patch Changes
1612 | 
1613 | - Retry with exponential backoff if loadScript fails to load the script ([#4349](https://github.com/clerk/javascript/pull/4349)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1614 | 
1615 | - Updated dependencies [[`e81d45b72`](https://github.com/clerk/javascript/commit/e81d45b72c81403c7c206dac5454de1fef6bec57), [`99cdf9b67`](https://github.com/clerk/javascript/commit/99cdf9b67d1e99e66cc73d8a5bfce1f1f8df1b83), [`ce40ff6f0`](https://github.com/clerk/javascript/commit/ce40ff6f0d3bc79e33375be6dd5e03f140a07000), [`2102052c0`](https://github.com/clerk/javascript/commit/2102052c017065ab511339870fcebaa6719f2702)]:
1616 |   - @clerk/[email protected]
1617 | 
1618 | ## 2.9.1
1619 | 
1620 | ### Patch Changes
1621 | 
1622 | - Only retry the OAuth flow if the captcha check failed. ([#4329](https://github.com/clerk/javascript/pull/4329)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1623 | 
1624 | - Updated dependencies [[`2ba2fd148`](https://github.com/clerk/javascript/commit/2ba2fd1483b7561d7df9a1952ead0ee15e422131)]:
1625 |   - @clerk/[email protected]
1626 | 
1627 | ## 2.9.0
1628 | 
1629 | ### Minor Changes
1630 | 
1631 | - Rename `__experimental_assurance` to `__experimental_reverification`. ([#4268](https://github.com/clerk/javascript/pull/4268)) by [@panteliselef](https://github.com/panteliselef)
1632 |   - Supported levels are now are `firstFactor`, `secondFactor`, `multiFactor`.
1633 |   - Support maxAge is now replaced by maxAgeMinutes and afterMinutes depending on usage.
1634 |   - Introduced `____experimental_SessionVerificationTypes` that abstracts away the level and maxAge
1635 |     - Allowed values 'veryStrict' | 'strict' | 'moderate' | 'lax'
1636 | 
1637 | ### Patch Changes
1638 | 
1639 | - Updated dependencies [[`fb932e5cf`](https://github.com/clerk/javascript/commit/fb932e5cf21315adf60bee0855b6bd5ee2ff9867)]:
1640 |   - @clerk/[email protected]
1641 | 
1642 | ## 2.8.5
1643 | 
1644 | ### Patch Changes
1645 | 
1646 | - Updated dependencies [[`f6fb8b53d`](https://github.com/clerk/javascript/commit/f6fb8b53d236863ad7eca576ee7a16cd33f3506b), [`4a8570590`](https://github.com/clerk/javascript/commit/4a857059059a02bb4f20893e08601e1e67babbed)]:
1647 |   - @clerk/[email protected]
1648 | 
1649 | ## 2.8.4
1650 | 
1651 | ### Patch Changes
1652 | 
1653 | - Updated dependencies [[`4749ed4c5`](https://github.com/clerk/javascript/commit/4749ed4c55a5ba5810451b8d436aad0d49829050), [`f1f17eaab`](https://github.com/clerk/javascript/commit/f1f17eaabed0dc4b7de405fb77d85503cf75ad33), [`2e35ac538`](https://github.com/clerk/javascript/commit/2e35ac53885f8008779940d41d1e804fa77ebfa9)]:
1654 |   - @clerk/[email protected]
1655 | 
1656 | ## 2.8.3
1657 | 
1658 | ### Patch Changes
1659 | 
1660 | - Updated dependencies [[`c9063853e`](https://github.com/clerk/javascript/commit/c9063853e538a4010f5d4e522a3da5abc80098a4), [`19d3808d4`](https://github.com/clerk/javascript/commit/19d3808d4672234944226d6709ec51214e8d6e1d), [`737bcbb0f`](https://github.com/clerk/javascript/commit/737bcbb0ffb5e2dcadbb02e8fc718fe8825c5842)]:
1661 |   - @clerk/[email protected]
1662 | 
1663 | ## 2.8.2
1664 | 
1665 | ### Patch Changes
1666 | 
1667 | - Exports `match` utility from the `path-to-regexp` lib. ([#4187](https://github.com/clerk/javascript/pull/4187)) by [@izaaklauer](https://github.com/izaaklauer)
1668 | 
1669 | - Fix issue where class-based routers were unable to access their private members during the `pathname` and `searchParams` methods. ([#4197](https://github.com/clerk/javascript/pull/4197)) by [@dstaley](https://github.com/dstaley)
1670 | 
1671 | - Internal change to move `iconImageUrl` util to `shared` package. ([#4188](https://github.com/clerk/javascript/pull/4188)) by [@alexcarpenter](https://github.com/alexcarpenter)
1672 | 
1673 | - Updated dependencies [[`2e5c550e4`](https://github.com/clerk/javascript/commit/2e5c550e4aec61150c2a17fdcd4a0e1273cb50e7)]:
1674 |   - @clerk/[email protected]
1675 | 
1676 | ## 2.8.1
1677 | 
1678 | ### Patch Changes
1679 | 
1680 | - Set correct "files" property in package.json ([#4172](https://github.com/clerk/javascript/pull/4172)) by [@LekoArts](https://github.com/LekoArts)
1681 | 
1682 | ## 2.8.0
1683 | 
1684 | ### Minor Changes
1685 | 
1686 | - Experimental support for `has()` with assurance. ([#4118](https://github.com/clerk/javascript/pull/4118)) by [@panteliselef](https://github.com/panteliselef)
1687 | 
1688 |   Example usage:
1689 | 
1690 |   ```ts
1691 |   has({
1692 |     __experimental_assurance: {
1693 |       level: 'L2.secondFactor',
1694 |       maxAge: 'A1.10min',
1695 |     },
1696 |   });
1697 |   ```
1698 | 
1699 |   Created a shared utility called `createCheckAuthorization` exported from `@clerk/shared`
1700 | 
1701 | ### Patch Changes
1702 | 
1703 | - Moves `fastDeepMerge` utils to `@clerk/shared` package. ([#4056](https://github.com/clerk/javascript/pull/4056)) by [@alexcarpenter](https://github.com/alexcarpenter)
1704 | 
1705 | - Updated dependencies [[`248142a6d`](https://github.com/clerk/javascript/commit/248142a6ded6ca937d0df7d628197f25228aadec), [`1189f71f8`](https://github.com/clerk/javascript/commit/1189f71f872f2683c12de5add5f154aeb953ca8d)]:
1706 |   - @clerk/[email protected]
1707 | 
1708 | ## 2.7.2
1709 | 
1710 | ### Patch Changes
1711 | 
1712 | - Vendor path-to-regexp ([#4145](https://github.com/clerk/javascript/pull/4145)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1713 | 
1714 | ## 2.7.1
1715 | 
1716 | ### Patch Changes
1717 | 
1718 | - Updated dependencies [[`8c6909d46`](https://github.com/clerk/javascript/commit/8c6909d46328c943f1d464a28f1a324a27d0f3f1)]:
1719 |   - @clerk/[email protected]
1720 | 
1721 | ## 2.7.0
1722 | 
1723 | ### Minor Changes
1724 | 
1725 | - Remove `@clerk/elements` reliance on `next` and `@clerk/clerk-react` directly. The host router is now provided by `@clerk/nextjs`. ([#4064](https://github.com/clerk/javascript/pull/4064)) by [@BRKalow](https://github.com/BRKalow)
1726 | 
1727 | ### Patch Changes
1728 | 
1729 | - Fixes issue where errors were incorrectly being returned as an `any` type. ([#4119](https://github.com/clerk/javascript/pull/4119)) by [@alexcarpenter](https://github.com/alexcarpenter)
1730 | 
1731 | - Updated dependencies [[`c63a5adf0`](https://github.com/clerk/javascript/commit/c63a5adf0ba4b99252146f168318f51b709bb5dd), [`8823c21a2`](https://github.com/clerk/javascript/commit/8823c21a26bc81cbc3ed007908b1a9ea474bd343), [`a0cb062fa`](https://github.com/clerk/javascript/commit/a0cb062faa4d23bef7a577e5cc486f4c5efe6bfa)]:
1732 |   - @clerk/[email protected]
1733 | 
1734 | ## 2.6.2
1735 | 
1736 | ### Patch Changes
1737 | 
1738 | - Updated dependencies [[`8a3b9f079`](https://github.com/clerk/javascript/commit/8a3b9f0793484b32dd609a5c80a194e62151d6ea), [`e95c28196`](https://github.com/clerk/javascript/commit/e95c2819675cea7963f2404e5f71f37ebed8d5e0)]:
1739 |   - @clerk/[email protected]
1740 | 
1741 | ## 2.6.1
1742 | 
1743 | ### Patch Changes
1744 | 
1745 | - Updated dependencies [[`82593173a`](https://github.com/clerk/javascript/commit/82593173aafbf6646e12c5779627cdcb138a1f27), [`afad9af89`](https://github.com/clerk/javascript/commit/afad9af893984a19d7284f0ad3b36e7891d0d733)]:
1746 |   - @clerk/[email protected]
1747 | 
1748 | ## 2.6.0
1749 | 
1750 | ### Minor Changes
1751 | 
1752 | - Moves the common `ClerkRouter` interface into `@clerk/shared/router`. Elements has been refactored internally to import the router from the shared package. ([#4045](https://github.com/clerk/javascript/pull/4045)) by [@BRKalow](https://github.com/BRKalow)
1753 | 
1754 | ### Patch Changes
1755 | 
1756 | - Updated dependencies [[`58e6754ad`](https://github.com/clerk/javascript/commit/58e6754ad9f9a1244b023ce1f5e5f2c1c4eb20e7), [`13693018f`](https://github.com/clerk/javascript/commit/13693018f4f7ac5d224698aa730e20960896f68c), [`3304dcc0b`](https://github.com/clerk/javascript/commit/3304dcc0bc93a92a7f729f585c60ff91d2ae04f6)]:
1757 |   - @clerk/[email protected]
1758 | 
1759 | ## 2.5.5
1760 | 
1761 | ### Patch Changes
1762 | 
1763 | - Updated dependencies [[`c1389492d`](https://github.com/clerk/javascript/commit/c1389492d8b6a9292ab04889bf776c0f45e66845)]:
1764 |   - @clerk/[email protected]
1765 | 
1766 | ## 2.5.4
1767 | 
1768 | ### Patch Changes
1769 | 
1770 | - Updated dependencies [[`0158c774a`](https://github.com/clerk/javascript/commit/0158c774af2243a2cd13b55c4d6fae877178c961), [`8be1a7abc`](https://github.com/clerk/javascript/commit/8be1a7abc8849d7d59552011bd6b25bc917d51f5)]:
1771 |   - @clerk/[email protected]
1772 | 
1773 | ## 2.5.3
1774 | 
1775 | ### Patch Changes
1776 | 
1777 | - Updated dependencies [[`247b3fd75`](https://github.com/clerk/javascript/commit/247b3fd75042365dc9f950db056b76f9fadfdcf6)]:
1778 |   - @clerk/[email protected]
1779 | 
1780 | ## 2.5.2
1781 | 
1782 | ### Patch Changes
1783 | 
1784 | - Updated dependencies [[`dc0e1c33d`](https://github.com/clerk/javascript/commit/dc0e1c33d6844b028cb1ee11c3359b886d609f3c)]:
1785 |   - @clerk/[email protected]
1786 | 
1787 | ## 2.5.1
1788 | 
1789 | ### Patch Changes
1790 | 
1791 | - Introduce functions that can be reused across front-end SDKs ([#3849](https://github.com/clerk/javascript/pull/3849)) by [@wobsoriano](https://github.com/wobsoriano)
1792 | 
1793 | - Updated dependencies [[`b6f0613dc`](https://github.com/clerk/javascript/commit/b6f0613dc9d8b0bab41cfabbaa8621b126e3bdf5)]:
1794 |   - @clerk/[email protected]
1795 | 
1796 | ## 2.5.0
1797 | 
1798 | ### Minor Changes
1799 | 
1800 | - Add a `nonce` to clerk-js' script loading options. Also adds a `nonce` prop to `ClerkProvider`. This can be used to thread a nonce value through to the clerk-js script load to support apps using a `strict-dynamic` content security policy. For next.js applications, the nonce will be automatically pulled from the CSP header and threaded through without needing any props so long as the provider is server-rendered. ([#3858](https://github.com/clerk/javascript/pull/3858)) by [@jescalan](https://github.com/jescalan)
1801 | 
1802 | ### Patch Changes
1803 | 
1804 | - Updated dependencies [[`4e6c94e3f`](https://github.com/clerk/javascript/commit/4e6c94e3f4cc92cbba8bddcd2b90fcc9cfb83763)]:
1805 |   - @clerk/[email protected]
1806 | 
1807 | ## 2.4.5
1808 | 
1809 | ### Patch Changes
1810 | 
1811 | - Updated dependencies [[`9b2aeacb3`](https://github.com/clerk/javascript/commit/9b2aeacb32fff7c300bda458636a1cc81a42ee7b)]:
1812 |   - @clerk/[email protected]
1813 | 
1814 | ## 2.4.4
1815 | 
1816 | ### Patch Changes
1817 | 
1818 | - Updated dependencies [[`7e94fcf0f`](https://github.com/clerk/javascript/commit/7e94fcf0fcbee8842a54f7931c45190370aa870d)]:
1819 |   - @clerk/[email protected]
1820 | 
1821 | ## 2.4.3
1822 | 
1823 | ### Patch Changes
1824 | 
1825 | - Updated dependencies [[`568186cad`](https://github.com/clerk/javascript/commit/568186cad29acaf0b084a9f86ccb9d29bd23fcf4), [`407195270`](https://github.com/clerk/javascript/commit/407195270ed8aab6eef18c64a4918e3870fef471)]:
1826 |   - @clerk/[email protected]
1827 | 
1828 | ## 2.4.2
1829 | 
1830 | ### Patch Changes
1831 | 
1832 | - Updated dependencies [[`aa06f3ba7`](https://github.com/clerk/javascript/commit/aa06f3ba7e725071c90d4a1d6840060236da3c23), [`80e647731`](https://github.com/clerk/javascript/commit/80e64773135865434cf0e6c220e287397aa07937)]:
1833 |   - @clerk/[email protected]
1834 | 
1835 | ## 2.4.1
1836 | 
1837 | ### Patch Changes
1838 | 
1839 | - Updated dependencies [[`b48689705`](https://github.com/clerk/javascript/commit/b48689705f9fc2251d2f24addec7a0d0b1da0fe1)]:
1840 |   - @clerk/[email protected]
1841 | 
1842 | ## 2.4.0
1843 | 
1844 | ### Minor Changes
1845 | 
1846 | - Support reading / writing / removing suffixed/un-suffixed cookies from `@clerk/clerk-js` and `@clerk/backend`. by [@dimkl](https://github.com/dimkl)
1847 | 
1848 |   The `__session`, `__clerk_db_jwt` and `__client_uat` cookies will now include a suffix derived from the instance's publishakeKey. The cookie name suffixes are used to prevent cookie collisions, effectively enabling support for multiple Clerk applications running on the same domain.
1849 | 
1850 | ### Patch Changes
1851 | 
1852 | - Updated dependencies [[`b2788f67b`](https://github.com/clerk/javascript/commit/b2788f67b75cce17af1a2f91a984bb826a5a42e1), [`86c75e50c`](https://github.com/clerk/javascript/commit/86c75e50cba9c4efb480672f1b8c6a6fff4ef477)]:
1853 |   - @clerk/[email protected]
1854 | 
1855 | ## 2.3.3
1856 | 
1857 | ### Patch Changes
1858 | 
1859 | - Updated dependencies [[`df7d856d5`](https://github.com/clerk/javascript/commit/df7d856d56bc3b1dcbdbf9155b4ef1b1ea5971f7)]:
1860 |   - @clerk/[email protected]
1861 | 
1862 | ## 2.3.2
1863 | 
1864 | ### Patch Changes
1865 | 
1866 | - Updated dependencies [[`d6b5006c4`](https://github.com/clerk/javascript/commit/d6b5006c4cc1b6f07bb3a6832b4ec6e65ea15814)]:
1867 |   - @clerk/[email protected]
1868 | 
1869 | ## 2.3.1
1870 | 
1871 | ### Patch Changes
1872 | 
1873 | - Updated dependencies [[`1273b04ec`](https://github.com/clerk/javascript/commit/1273b04ecf1866b59ef59a74abe31dbcc726da2c)]:
1874 |   - @clerk/[email protected]
1875 | 
1876 | ## 2.3.0
1877 | 
1878 | ### Minor Changes
1879 | 
1880 | - Move `isWebAuthnSupported`, `isWebAuthnAutofillSupported`, `isWebAuthnPlatformAuthenticatorSupported` to `@clerk/shared/webauthn`. ([#3472](https://github.com/clerk/javascript/pull/3472)) by [@panteliselef](https://github.com/panteliselef)
1881 | 
1882 | ## 2.2.2
1883 | 
1884 | ### Patch Changes
1885 | 
1886 | - Update `js-cookie` from `3.0.1` to `3.0.5`. Update `swr` from `2.2.0` to `2.2.5`. ([#3493](https://github.com/clerk/javascript/pull/3493)) by [@renovate](https://github.com/apps/renovate)
1887 | 
1888 | - Set `@clerk/types` as a dependency for packages that had it as a dev dependency. ([#3450](https://github.com/clerk/javascript/pull/3450)) by [@desiprisg](https://github.com/desiprisg)
1889 | 
1890 | - Updated dependencies [[`73e5d61e2`](https://github.com/clerk/javascript/commit/73e5d61e21ab3f77f3c8343bc63da0626466c7ac), [`b8e46328d`](https://github.com/clerk/javascript/commit/b8e46328da874859c4928f19f924219cd6520b11)]:
1891 |   - @clerk/[email protected]
1892 | 
1893 | ## 2.2.1
1894 | 
1895 | ### Patch Changes
1896 | 
1897 | - Add a custom logger to allow logging a message or warning to the console once per session, in order to avoid consecutive identical logs due to component rerenders. ([#3383](https://github.com/clerk/javascript/pull/3383)) by [@desiprisg](https://github.com/desiprisg)
1898 | 
1899 | - With the next major release, NextJS@15 will depend on `react` and `react-dom` v19, which is still in beta. We are updating our peer dependencies accordingly in order to accept `react` and `react-dom` @ `19.0.0-beta` ([#3428](https://github.com/clerk/javascript/pull/3428)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1900 | 
1901 | ## 2.2.0
1902 | 
1903 | ### Minor Changes
1904 | 
1905 | - Unpin the version of swr and allow any minor or patch version. ([#3399](https://github.com/clerk/javascript/pull/3399)) by [@panteliselef](https://github.com/panteliselef)
1906 | 
1907 | ## 2.1.1
1908 | 
1909 | ### Patch Changes
1910 | 
1911 | - Re-organize cookie codebase into a central place, fix TokenUpdate event to be triggered on sign-out and drop duplicate event on refreshing token. ([#3362](https://github.com/clerk/javascript/pull/3362)) by [@dimkl](https://github.com/dimkl)
1912 | 
1913 | ## 2.1.0
1914 | 
1915 | ### Minor Changes
1916 | 
1917 | - Introduce new `client_mismatch` verification status for email link sign-in and sign-up. This error (and its message) will be shown if a verification link was opened in another device/browser from which the user initiated the sign-in/sign-up attempt. This functionality needs to be enabled in the Clerk dashboard. ([#3367](https://github.com/clerk/javascript/pull/3367)) by [@mzhong9723](https://github.com/mzhong9723)
1918 | 
1919 | ## 2.0.2
1920 | 
1921 | ### Patch Changes
1922 | 
1923 | - The following are all internal changes and not relevant to any end-user: ([#3341](https://github.com/clerk/javascript/pull/3341)) by [@LauraBeatris](https://github.com/LauraBeatris)
1924 | 
1925 |   Add telemetry events for `useSignIn`, `useSignUp`, `useOrganizations` and `useOrganizationList`
1926 | 
1927 | - The following are all internal changes and not relevant to any end-user: ([#3329](https://github.com/clerk/javascript/pull/3329)) by [@LauraBeatris](https://github.com/LauraBeatris)
1928 | 
1929 |   Create type interface for `TelemetryCollector` on `@clerk/types`. This allows to assign `telemetry` on the main Clerk SDK object, while inheriting from the actual `TelemetryCollector` implementation.
1930 | 
1931 | - Fix detection of legacy publishable keys when determining the default Clerk API URL. Previously, legacy keys would be treated as local. ([#3333](https://github.com/clerk/javascript/pull/3333)) by [@BRKalow](https://github.com/BRKalow)
1932 | 
1933 | ## 2.0.1
1934 | 
1935 | ### Patch Changes
1936 | 
1937 | - Internal change to add client-side caching to Clerk's telemetry. This prevents event flooding in frequently executed code paths, such as for React hooks or components. Gracefully falls back to the old behavior if e.g. `localStorage` is not available. As such, no public API changes and user changes are required. ([#3287](https://github.com/clerk/javascript/pull/3287)) by [@LauraBeatris](https://github.com/LauraBeatris)
1938 | 
1939 | - The following are all internal changes and not relevant to any end-user: ([#3279](https://github.com/clerk/javascript/pull/3279)) by [@LekoArts](https://github.com/LekoArts)
1940 |   - Rename the existing `eventComponentMounted` function inside `/telemetry` to `eventPrebuiltComponentMounted`. This better reflects that its `props` argument will be filtered for a relevant list for Clerk's prebuilt/all-in-one components.
1941 |   - Reuse the now freed up `eventComponentMounted` name to create a new helper function that accepts a flat object for its `props` but doesn't filter any. This is useful for components that are not prebuilt.
1942 | 
1943 | ## 2.0.0
1944 | 
1945 | ### Major Changes
1946 | 
1947 | - c2a090513: Change the minimal Node.js version required by Clerk to `18.17.0`.
1948 | - 83e9d0846: Drop deprecations. Migration steps:
1949 |   - use `EmailLinkError` instead of `MagicLinkError`
1950 |   - use `isEmailLinkError` instead of `isMagicLinkError`
1951 |   - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
1952 |   - use `useEmailLink` instead of `useMagicLink`
1953 |   - use `buildRequestUrl` from `@clerk/backend` instead of `getRequestUrl` from `@clerk/shared`
1954 |   - use `OrganizationProvider` instead of `OrganizationContext`
1955 |   - use `userMemberships` instead of `organizationList` from `useOrganizationList`
1956 | - 7f833da9e: Drop deprecations. Migration steps:
1957 |   - use `publishableKey` instead of `frontendApi`
1958 |   - use `Clerk.handleEmailLinkVerification()` instead of `Clerk.handleMagicLinkVerification()`
1959 |   - use `isEmailLinkError` instead of `isMagicLinkError`
1960 |   - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
1961 |   - use `useEmailLink` instead of `useMagicLink`
1962 |   - drop `orgs` jwt claim from session token
1963 |   - use `ExternalAccount.imageUrl` instead of `ExternalAccount.avatarUrl`
1964 |   - use `Organization.imageUrl` instead of `Organization.logoUrl`
1965 |   - use `User.imageUrl` instead of `User.profileImageUrl`
1966 |   - use `OrganizationMembershipPublicUserData.imageUrl` instead of `OrganizationMembershipPublicUserData.profileImageUrl`
1967 |   - use `useOrganizationList` instead of `useOrganizations`
1968 |   - use `userProfileProps` instead of `userProfile` in `Appearance`
1969 |   - use `Clerk.setActive()` instead of `Clerk.setSession()`
1970 |   - drop `password` param in `User.update()`
1971 |   - use `afterSelectOrganizationUrl` instead of `afterSwitchOrganizationUrl` in `OrganizationSwitcher`
1972 |   - drop `Clerk.experimental_canUseCaptcha` / `Clerk.Clerk.experimental_captchaSiteKey` / `Clerk.experimental_captchaURL` (were meant for internal use)
1973 |   - use `User.getOrganizationMemberships()` instead of `Clerk.getOrganizationMemberships()`
1974 |   - drop `lastOrganizationInvitation` / `lastOrganizationMember` from Clerk emitted events
1975 |   - drop `Clerk.__unstable__invitationUpdate` / `Clerk.__unstable__membershipUpdate`
1976 |   - drop support for string param in `Organization.create()`
1977 |   - use `Organization.getInvitations()` instead of `Organization.getPendingInvitations()`
1978 |   - use `pageSize` instead of `limit` in `OrganizationMembership.retrieve()`
1979 |   - use `initialPage` instead of `offset` in `OrganizationMembership.retrieve()`
1980 |   - drop `lastOrganizationInvitation` / `lastOrganizationMember` from ClerkProvider
1981 |   - use `invitations` instead of `invitationList` in `useOrganization`
1982 |   - use `memberships` instead of `membershipList` in `useOrganization`
1983 |   - use `redirectUrl` instead of `redirect_url` in `User.createExternalAccount()`
1984 |   - use `signature` instead of `generatedSignature` in `Signup.attemptWeb3WalletVerification()`
1985 | - 71663c568: Internal update default apiUrl domain from clerk.dev to clerk.com
1986 | - 5f58a2274: Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters.
1987 | - 52ff8fe6b: Upgrade React version to >=18 and add react-dom as peer dependency
1988 |   to fix issues with vite & rollup building.
1989 | - 97407d8aa: Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is `18.18.0` now.
1990 | - 4bb57057e: Breaking Changes:
1991 |   - Drop `isLegacyFrontendApiKey` from `@clerk/shared`
1992 |   - Drop default exports from `@clerk/clerk-js`
1993 |     - on headless Clerk type
1994 |     - on ui and ui.retheme `Portal`
1995 |   - Use `isProductionFromSecretKey` instead of `isProductionFromApiKey`
1996 |   - Use `isDevelopmentFromSecretKey` instead of `isDevelopmentFromApiKey`
1997 | 
1998 |   Changes:
1999 |   - Rename `HeadlessBrowserClerkConstrutor` / `HeadlessBrowserClerkConstructor` (typo)
2000 |   - Use `isomorphicAtob` / `isomorhpicBtoa` to replace `base-64` in `@clerk/expo`
2001 |   - Refactor merging build-time and runtime props in `@clerk/backend` clerk client
2002 |   - Drop `node-fetch` dependency from `@clerk/backend`
2003 |   - Drop duplicate test in `@clerk/backend`
2004 | 
2005 | ### Minor Changes
2006 | 
2007 | - 743c4d204: Expose `revalidate` and `setData` for paginated lists of data in organization hooks.
2008 |   `const {userMemberships:{revalidate, setData}} = useOrganizationList({userMemberships:true})`
2009 | - 4b8bedc66: Move usage of internal useCoreX hooks to useX hooks
2010 | - fc3ffd880: Support for prompting a user to reset their password if it is found to be compromised during sign-in.
2011 | - 492b8a7b1: Increase the duration until data become stale for organization hooks.
2012 | - e5c989a03: Add `withoutTrailingSlash()`, `hasLeadingSlash()`, `withoutLeadingSlash()`, `withLeadingSlash()`, and `cleanDoubleSlashes()` to `@clerk/shared/url`.
2013 | - 97407d8aa: Introduce isomorphic `isomorphicBtoa` helper in `@clerk/shared`.
2014 | - 8cc45d2af: Allow dynamic values components props, even if these values change after the components are rendered. For example, a `SignIn` component with a `redirectUrl` prop passed in will always respect the latest value of `redirectUrl`.
2015 | - 8daf8451c: Add `error` for each paginated property return by `useOrganization` and `useOrganizationList` hooks.
2016 | - 0d1052ac2: Add a private \_\_navigateWithError util function to clerk for use in User Lockout scenarios
2017 | - 1fd2eff38: Allow manually passing a publishable/secret key pair to the `authMiddleware` and `clerkMiddleware` helpers.
2018 | - 5471c7e8d: Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: - `DEV_BROWSER_SSO_JWT_PARAMETER` - `DEV_BROWSER_JWT_MARKER` - `DEV_BROWSER_SSO_JWT_KEY` - `setDevBrowserJWTInURL` - `getDevBrowserJWTFromURL` - `getDevBrowserJWTFromResponse`
2019 | 
2020 | ### Patch Changes
2021 | 
2022 | - 1834a3ee4: fix(shared,clerk-js): Do not replace current URL if it does not contain a clerk token
2023 | - 896cb6104: Add `react-dom` to `peerDependenciesMeta` key inside `package.json`
2024 | - 64d3763ec: Fix incorrect pagination counters in data tables inside `<OrganizationProfile/>`.
2025 | - 8350109ab: Fix issue when clearing the hash DB JWT in Webkit
2026 | - 1dc28ab46: Do not display telemetry notice in CI
2027 | - 791c49807: Rename the @staging tag to @canary. Drop support for @next tag.
2028 | - ea4933655: Update TelemetryCollector to consider event-specific sampling rates.
2029 | - a68eb3083: Remove `"sideEffects": "false"` since the package has side-effects
2030 | - 2de442b24: Rename beta-v5 to beta
2031 | - db18787c4: Always drop **clerk_db_jwt and **dev_session params from the URL
2032 | - ef2325dcc: Introduce `isTruthy` helper to better cast environment variables to a boolean. Previously only the string `"true"` was checked, now `true`, `"true"`, `"1"`, and `1` will work.
2033 | - bab2e7e05: Support but warn when `afterSignInUrl` and `afterSignUpUrl` are used
2034 | - 7ecd6f6ab: Disable telemetry collection when window.navigator.webdriver is defined, indicating traffic from an automation tool.
2035 | - 12f3c5c55: Update the debBrowser handling logic to remove hash-based devBrowser JWTs from the URL. Even if v5 does not use the hash-based JWT at all, we still need to remove it from the URL in case clerk-js is initialised on a page after a redirect from an older clerk-js version, such as an AccountPortal using the v4 components
2036 | - c776f86fb: Add missing `telemetry` entry to `files` array in `package.json`
2037 | - d4ff346dd: Version bump to convert `@clerk/shared` from alpha to beta
2038 | - 7644b7472: Improve the default value for `CLERK_API_URL` by utilizing the publishable key to differentiate between local, staging and prod environments.
2039 | - 2ec9f6b09: Ensure that inside `isValidBrowser()` and `isBrowserOnline()` the existence of `window` is checked before trying to access `window.navigator`
2040 | - 75ea300bc: Add `useAssertWrappedByClerkProvider` to internal code. If you use hooks like `useAuth` outside of the `<ClerkProvider />` context an error will be thrown. For example:
2041 | 
2042 |   ```shell
2043 |   @clerk/clerk-react: useAuth can only be used within the <ClerkProvider /> component
2044 |   ```
2045 | 
2046 | - f5d55bb1f: Add clerkTraceId to ClerkBackendApiResponse and ClerkAPIResponseError to allow for better tracing and debugging API error responses.
2047 |   Uses `clerk_trace_id` when available in a response and defaults to [`cf-ray` identifier](https://developers.cloudflare.com/fundamentals/reference/cloudflare-ray-id/) if missing.
2048 | - d30ea1faa: Change the default behavior of `afterSignOutUrl`, `afterSignIn` and `afterSignUp` props to be redirected to `/` instead of the Account Portal defined URL.
2049 | - 38d8b3e8a: Fixes a bug where Invitations from `useOrganization` incorrectly depended on options for memberships.
2050 | - be991365e: Add `joinURL` helper to `@clerk/shared/url`
2051 | - 8350f73a6: Account for legacy frontendApi keys in buildPublishableKey
2052 | - e0e79b4fe: Use the errorThrower shared utility when throwing errors
2053 | - fb794ce7b: Support older iOS 13.3 and 13.4 mobile devices
2054 | - 40ac4b645: Introduces telemetry collection from Clerk's SDKs. Collected telemetry will be used to gain insights into product usage and help drive roadmap priority. For more information, see https://clerk.com/docs/telemetry.
2055 | - 6f755addd: Improve compatibility with Expo
2056 | - 6eab66050: Remove legacy \_\_dev_session from URL search params
2057 | 
2058 | ## 2.0.0-beta.23
2059 | 
2060 | ### Patch Changes
2061 | 
2062 | - Introduce forceRedirectUrl and fallbackRedirectUrl ([#3162](https://github.com/clerk/javascript/pull/3162)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2063 | 
2064 | ## 2.0.0-beta.22
2065 | 
2066 | ### Patch Changes
2067 | 
2068 | - Support older iOS 13.3 and 13.4 mobile devices ([#3188](https://github.com/clerk/javascript/pull/3188)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2069 | 
2070 | ## 2.0.0-beta.21
2071 | 
2072 | ### Minor Changes
2073 | 
2074 | - Support for prompting a user to reset their password if it is found to be compromised during sign-in. ([#3034](https://github.com/clerk/javascript/pull/3034)) by [@yourtallness](https://github.com/yourtallness)
2075 | 
2076 | - Allow manually passing a publishable/secret key pair to the `authMiddleware` and `clerkMiddleware` helpers. ([#3001](https://github.com/clerk/javascript/pull/3001)) by [@desiprisg](https://github.com/desiprisg)
2077 | 
2078 | ## 2.0.0-beta.20
2079 | 
2080 | ### Patch Changes
2081 | 
2082 | - Fix issue when clearing the hash DB JWT in Webkit ([#2998](https://github.com/clerk/javascript/pull/2998)) by [@anagstef](https://github.com/anagstef)
2083 | 
2084 | ## 2.0.0-beta.19
2085 | 
2086 | ### Patch Changes
2087 | 
2088 | - Account for legacy frontendApi keys in buildPublishableKey by [@nikosdouvlis](https://github.com/nikosdouvlis)
2089 | 
2090 | ## 2.0.0-beta.18
2091 | 
2092 | ### Minor Changes
2093 | 
2094 | - Add `withoutTrailingSlash()`, `hasLeadingSlash()`, `withoutLeadingSlash()`, `withLeadingSlash()`, and `cleanDoubleSlashes()` to `@clerk/shared/url`. ([#2896](https://github.com/clerk/javascript/pull/2896)) by [@LekoArts](https://github.com/LekoArts)
2095 | 
2096 | ### Patch Changes
2097 | 
2098 | - Ensure that inside `isValidBrowser()` and `isBrowserOnline()` the existence of `window` is checked before trying to access `window.navigator` ([#2913](https://github.com/clerk/javascript/pull/2913)) by [@mario-jerkovic](https://github.com/mario-jerkovic)
2099 | 
2100 | ## 2.0.0-beta.17
2101 | 
2102 | ### Patch Changes
2103 | 
2104 | - fix(shared,clerk-js): Do not replace current URL if it does not contain a clerk token ([#2879](https://github.com/clerk/javascript/pull/2879)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2105 | 
2106 | ## 2.0.0-beta.16
2107 | 
2108 | ### Patch Changes
2109 | 
2110 | - Always drop **clerk_db_jwt and **dev_session params from the URL by [@nikosdouvlis](https://github.com/nikosdouvlis)
2111 | 
2112 | ## 2.0.0-beta.15
2113 | 
2114 | ### Patch Changes
2115 | 
2116 | - Remove legacy \_\_dev_session from URL search params ([#2867](https://github.com/clerk/javascript/pull/2867)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2117 | 
2118 | ## 2.0.0-beta.14
2119 | 
2120 | ### Patch Changes
2121 | 
2122 | - Update the debBrowser handling logic to remove hash-based devBrowser JWTs from the URL. Even if v5 does not use the hash-based JWT at all, we still need to remove it from the URL in case clerk-js is initialised on a page after a redirect from an older clerk-js version, such as an AccountPortal using the v4 components ([#2858](https://github.com/clerk/javascript/pull/2858)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2123 | 
2124 | ## 2.0.0-beta.13
2125 | 
2126 | ### Patch Changes
2127 | 
2128 | - Rename beta-v5 to beta by [@nikosdouvlis](https://github.com/nikosdouvlis)
2129 | 
2130 | ## 2.0.0-beta-v5.12
2131 | 
2132 | ### Minor Changes
2133 | 
2134 | - Add `error` for each paginated property return by `useOrganization` and `useOrganizationList` hooks. ([#2743](https://github.com/clerk/javascript/pull/2743)) by [@panteliselef](https://github.com/panteliselef)
2135 | 
2136 | ### Patch Changes
2137 | 
2138 | - Add `joinURL` helper to `@clerk/shared/url` ([#2725](https://github.com/clerk/javascript/pull/2725)) by [@LekoArts](https://github.com/LekoArts)
2139 | 
2140 | ## 2.0.0-beta-v5.11
2141 | 
2142 | ### Patch Changes
2143 | 
2144 | - Version bump to convert `@clerk/shared` from alpha to beta ([#2638](https://github.com/clerk/javascript/pull/2638)) by [@dimkl](https://github.com/dimkl)
2145 | 
2146 | ## 2.0.0-alpha-v5.10
2147 | 
2148 | ### Minor Changes
2149 | 
2150 | - Allow dynamic values components props, even if these values change after the components are rendered. For example, a `SignIn` component with a `redirectUrl` prop passed in will always respect the latest value of `redirectUrl`. ([#2515](https://github.com/clerk/javascript/pull/2515)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2151 | 
2152 | ## 2.0.0-alpha-v5.9
2153 | 
2154 | ### Patch Changes
2155 | 
2156 | - Do not display telemetry notice in CI ([#2503](https://github.com/clerk/javascript/pull/2503)) by [@LekoArts](https://github.com/LekoArts)
2157 | 
2158 | - Update TelemetryCollector to consider event-specific sampling rates. ([#2487](https://github.com/clerk/javascript/pull/2487)) by [@BRKalow](https://github.com/BRKalow)
2159 | 
2160 | - Fixes a bug where Invitations from `useOrganization` incorrectly depended on options for memberships. ([#2472](https://github.com/clerk/javascript/pull/2472)) by [@panteliselef](https://github.com/panteliselef)
2161 | 
2162 | ## 2.0.0-alpha-v5.8
2163 | 
2164 | ### Patch Changes
2165 | 
2166 | - Disable telemetry collection when window.navigator.webdriver is defined, indicating traffic from an automation tool. ([#2448](https://github.com/clerk/javascript/pull/2448)) by [@BRKalow](https://github.com/BRKalow)
2167 | 
2168 | ## 2.0.0-alpha-v5.7
2169 | 
2170 | ### Major Changes
2171 | 
2172 | - Remove hashing and third-party cookie functionality related to development instance session syncing in favor of URL-based session syncing with query parameters. ([#2367](https://github.com/clerk/javascript/pull/2367)) by [@tmilewski](https://github.com/tmilewski)
2173 | 
2174 | ## 2.0.0-alpha-v5.6
2175 | 
2176 | ### Patch Changes
2177 | 
2178 | - Add `react-dom` to `peerDependenciesMeta` key inside `package.json` ([#2322](https://github.com/clerk/javascript/pull/2322)) by [@LekoArts](https://github.com/LekoArts)
2179 | 
2180 | - Add `useAssertWrappedByClerkProvider` to internal code. If you use hooks like `useAuth` outside of the `<ClerkProvider />` context an error will be thrown. For example: ([#2299](https://github.com/clerk/javascript/pull/2299)) by [@tmilewski](https://github.com/tmilewski)
2181 | 
2182 |   ```shell
2183 |   @clerk/clerk-react: useAuth can only be used within the <ClerkProvider /> component
2184 |   ```
2185 | 
2186 | ## 2.0.0-alpha-v5.5
2187 | 
2188 | ### Patch Changes
2189 | 
2190 | - Change the default behavior of `afterSignOutUrl`, `afterSignIn` and `afterSignUp` props to be redirected to `/` instead of the Account Portal defined URL. ([#2020](https://github.com/clerk/javascript/pull/2020)) by [@octoper](https://github.com/octoper)
2191 | 
2192 | ## 2.0.0-alpha-v5.4
2193 | 
2194 | ### Minor Changes
2195 | 
2196 | - Move usage of internal useCoreX hooks to useX hooks ([#2111](https://github.com/clerk/javascript/pull/2111)) by [@LekoArts](https://github.com/LekoArts)
2197 | 
2198 | ### Patch Changes
2199 | 
2200 | - Add missing `telemetry` entry to `files` array in `package.json` ([#2229](https://github.com/clerk/javascript/pull/2229)) by [@LekoArts](https://github.com/LekoArts)
2201 | 
2202 | ## 2.0.0-alpha-v5.3
2203 | 
2204 | ### Major Changes
2205 | 
2206 | - Upgrade React version to >=18 and add react-dom as peer dependency ([#2164](https://github.com/clerk/javascript/pull/2164)) by [@dimkl](https://github.com/dimkl)
2207 | 
2208 |   to fix issues with vite & rollup building.
2209 | 
2210 | - Breaking Changes: ([#2169](https://github.com/clerk/javascript/pull/2169)) by [@dimkl](https://github.com/dimkl)
2211 |   - Drop `isLegacyFrontendApiKey` from `@clerk/shared`
2212 |   - Drop default exports from `@clerk/clerk-js`
2213 |     - on headless Clerk type
2214 |     - on ui and ui.retheme `Portal`
2215 |   - Use `isProductionFromSecretKey` instead of `isProductionFromApiKey`
2216 |   - Use `isDevelopmentFromSecretKey` instead of `isDevelopmentFromApiKey`
2217 | 
2218 |   Changes:
2219 |   - Rename `HeadlessBrowserClerkConstrutor` / `HeadlessBrowserClerkConstructor` (typo)
2220 |   - Use `isomorphicAtob` / `isomorhpicBtoa` to replace `base-64` in `@clerk/expo`
2221 |   - Refactor merging build-time and runtime props in `@clerk/backend` clerk client
2222 |   - Drop `node-fetch` dependency from `@clerk/backend`
2223 |   - Drop duplicate test in `@clerk/backend`
2224 | 
2225 | ### Patch Changes
2226 | 
2227 | - Introduces telemetry collection from Clerk's SDKs. Collected telemetry will be used to gain insights into product usage and help drive roadmap priority. For more information, see https://clerk.com/docs/telemetry. ([#2154](https://github.com/clerk/javascript/pull/2154)) by [@BRKalow](https://github.com/BRKalow)
2228 | 
2229 | ## 2.0.0-alpha-v5.2
2230 | 
2231 | ### Major Changes
2232 | 
2233 | - Change the minimal Node.js version required by Clerk to `18.17.0`. ([#2162](https://github.com/clerk/javascript/pull/2162)) by [@dimkl](https://github.com/dimkl)
2234 | 
2235 | ## 2.0.0-alpha-v5.1
2236 | 
2237 | ### Major Changes
2238 | 
2239 | - Drop deprecations. Migration steps: ([#2102](https://github.com/clerk/javascript/pull/2102)) by [@dimkl](https://github.com/dimkl)
2240 |   - use `EmailLinkError` instead of `MagicLinkError`
2241 |   - use `isEmailLinkError` instead of `isMagicLinkError`
2242 |   - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
2243 |   - use `useEmailLink` instead of `useMagicLink`
2244 |   - use `buildRequestUrl` from `@clerk/backend` instead of `getRequestUrl` from `@clerk/shared`
2245 |   - use `OrganizationProvider` instead of `OrganizationContext`
2246 |   - use `userMemberships` instead of `organizationList` from `useOrganizationList`
2247 | 
2248 | - Drop deprecations. Migration steps: ([#2082](https://github.com/clerk/javascript/pull/2082)) by [@dimkl](https://github.com/dimkl)
2249 |   - use `publishableKey` instead of `frontendApi`
2250 |   - use `Clerk.handleEmailLinkVerification()` instead of `Clerk.handleMagicLinkVerification()`
2251 |   - use `isEmailLinkError` instead of `isMagicLinkError`
2252 |   - use `EmailLinkErrorCode` instead of `MagicLinkErrorCode`
2253 |   - use `useEmailLink` instead of `useMagicLink`
2254 |   - drop `orgs` jwt claim from session token
2255 |   - use `ExternalAccount.imageUrl` instead of `ExternalAccount.avatarUrl`
2256 |   - use `Organization.imageUrl` instead of `Organization.logoUrl`
2257 |   - use `User.imageUrl` instead of `User.profileImageUrl`
2258 |   - use `OrganizationMembershipPublicUserData.imageUrl` instead of `OrganizationMembershipPublicUserData.profileImageUrl`
2259 |   - use `useOrganizationList` instead of `useOrganizations`
2260 |   - use `userProfileProps` instead of `userProfile` in `Appearance`
2261 |   - use `Clerk.setActive()` instead of `Clerk.setSession()`
2262 |   - drop `password` param in `User.update()`
2263 |   - use `afterSelectOrganizationUrl` instead of `afterSwitchOrganizationUrl` in `OrganizationSwitcher`
2264 |   - drop `Clerk.experimental_canUseCaptcha` / `Clerk.Clerk.experimental_captchaSiteKey` / `Clerk.experimental_captchaURL` (were meant for internal use)
2265 |   - use `User.getOrganizationMemberships()` instead of `Clerk.getOrganizationMemberships()`
2266 |   - drop `lastOrganizationInvitation` / `lastOrganizationMember` from Clerk emitted events
2267 |   - drop `Clerk.__unstable__invitationUpdate` / `Clerk.__unstable__membershipUpdate`
2268 |   - drop support for string param in `Organization.create()`
2269 |   - use `Organization.getInvitations()` instead of `Organization.getPendingInvitations()`
2270 |   - use `pageSize` instead of `limit` in `OrganizationMembership.retrieve()`
2271 |   - use `initialPage` instead of `offset` in `OrganizationMembership.retrieve()`
2272 |   - drop `lastOrganizationInvitation` / `lastOrganizationMember` from ClerkProvider
2273 |   - use `invitations` instead of `invitationList` in `useOrganization`
2274 |   - use `memberships` instead of `membershipList` in `useOrganization`
2275 |   - use `redirectUrl` instead of `redirect_url` in `User.createExternalAccount()`
2276 |   - use `signature` instead of `generatedSignature` in `Signup.attemptWeb3WalletVerification()`
2277 | 
2278 | ### Minor Changes
2279 | 
2280 | - Increase the duration until data become stale for organization hooks. ([#2093](https://github.com/clerk/javascript/pull/2093)) by [@panteliselef](https://github.com/panteliselef)
2281 | 
2282 | - Add a private \_\_navigateWithError util function to clerk for use in User Lockout scenarios ([#2043](https://github.com/clerk/javascript/pull/2043)) by [@yourtallness](https://github.com/yourtallness)
2283 | 
2284 | - Move and export the following from @clerk/clerk-js and @clerk/nextjs to @clerk/shared: ([#2149](https://github.com/clerk/javascript/pull/2149)) by [@dimkl](https://github.com/dimkl)
2285 | 
2286 |       - `DEV_BROWSER_SSO_JWT_PARAMETER`
2287 |       - `DEV_BROWSER_JWT_MARKER`
2288 |       - `DEV_BROWSER_SSO_JWT_KEY`
2289 |       - `setDevBrowserJWTInURL`
2290 |       - `getDevBrowserJWTFromURL`
2291 |       - `getDevBrowserJWTFromResponse`
2292 | 
2293 | ### Patch Changes
2294 | 
2295 | - Fix incorrect pagination counters in data tables inside `<OrganizationProfile/>`. ([#2056](https://github.com/clerk/javascript/pull/2056)) by [@panteliselef](https://github.com/panteliselef)
2296 | 
2297 | - Use the errorThrower shared utility when throwing errors ([#1999](https://github.com/clerk/javascript/pull/1999)) by [@anagstef](https://github.com/anagstef)
2298 | 
2299 | ## 2.0.0-alpha-v5.0
2300 | 
2301 | ### Major Changes
2302 | 
2303 | - Internal update default apiUrl domain from clerk.dev to clerk.com ([#1878](https://github.com/clerk/javascript/pull/1878)) by [@dimkl](https://github.com/dimkl)
2304 | 
2305 | - Dropping support for Node 14 and 16 as they both reached EOL status. The minimal Node.js version required by Clerk is `18.18.0` now. ([#1864](https://github.com/clerk/javascript/pull/1864)) by [@dimkl](https://github.com/dimkl)
2306 | 
2307 | ### Minor Changes
2308 | 
2309 | - Expose `revalidate` and `setData` for paginated lists of data in organization hooks. ([#1745](https://github.com/clerk/javascript/pull/1745)) by [@panteliselef](https://github.com/panteliselef)
2310 | 
2311 |   `const {userMemberships:{revalidate, setData}} = useOrganizationList({userMemberships:true})`
2312 | 
2313 | - Introduce isomorphic `isomorphicBtoa` helper in `@clerk/shared`. ([#1864](https://github.com/clerk/javascript/pull/1864)) by [@dimkl](https://github.com/dimkl)
2314 | 
2315 | ### Patch Changes
2316 | 
2317 | - Rename the @staging tag to @canary. Drop support for @next tag. ([#2015](https://github.com/clerk/javascript/pull/2015)) by [@anagstef](https://github.com/anagstef)
2318 | 
2319 | - Remove `"sideEffects": "false"` since the package has side-effects ([#1974](https://github.com/clerk/javascript/pull/1974)) by [@LekoArts](https://github.com/LekoArts)
2320 | 
2321 | - Introduce `isTruthy` helper to better cast environment variables to a boolean. Previously only the string `"true"` was checked, now `true`, `"true"`, `"1"`, and `1` will work. ([#2002](https://github.com/clerk/javascript/pull/2002)) by [@LekoArts](https://github.com/LekoArts)
2322 | 
2323 | - Improve the default value for `CLERK_API_URL` by utilizing the publishable key to differentiate between local, staging and prod environments. ([#1955](https://github.com/clerk/javascript/pull/1955)) by [@desiprisg](https://github.com/desiprisg)
2324 | 
2325 | - Add clerkTraceId to ClerkBackendApiResponse and ClerkAPIResponseError to allow for better tracing and debugging API error responses. ([#1986](https://github.com/clerk/javascript/pull/1986)) by [@Nikpolik](https://github.com/Nikpolik)
2326 | 
2327 |   Uses `clerk_trace_id` when available in a response and defaults to [`cf-ray` identifier](https://developers.cloudflare.com/fundamentals/reference/cloudflare-ray-id/) if missing.
2328 | 
2329 | - Improve compatibility with Expo ([#1958](https://github.com/clerk/javascript/pull/1958)) by [@clerk-cookie](https://github.com/clerk-cookie)
2330 | 
2331 | ## 1.0.0
2332 | 
2333 | ### Major Changes
2334 | 
2335 | - The package was reworked to allow for better isomorphic use cases and ESM support, resulting in some breaking changes. It now allows for [subpath exports](https://nodejs.org/api/packages.html#subpath-exports) and restricts some imports to specific subpaths. ([#1898](https://github.com/clerk/javascript/pull/1898)) by [@LekoArts](https://github.com/LekoArts)
2336 | 
2337 |   Instead of importing from the root `@clerk/shared` import you can now use subpaths for most things:
2338 | 
2339 |   ```diff
2340 |   - import { deprecated, OrganizationProvider } from "@clerk/shared"
2341 |   + import { deprecated } from "@clerk/shared/deprecated"
2342 |   + import { OrganizationProvider } from "@clerk/shared/react"
2343 |   ```
2344 | 
2345 |   By using subpaths you can tell bundlers to only bundle specific parts, potentially helping with tree-shaking. It also mitigates issues where e.g. modules only relevant for React where picked up in Node.js-only environments.
2346 | 
2347 |   If you're not using `@clerk/shared` directly (only by proxy through e.g. `@clerk/clerk-react`) you don't need to do anything. If you are relying on `@clerk/shared`, please read through the breaking changes below and change your code accordingly. You can rely on your IDE to give you hints on which exports are available at `@clerk/shared` and `@clerk/shared/<name>` subpaths.
2348 | 
2349 |   **Breaking Changes**
2350 |   - `@clerk/shared` was and still is a dual CJS/ESM package. The ESM files provided by `@clerk/shared` now use `.mjs` file extensions and also define them in their import paths, following the ESM spec. Your bundler should handle this for you.
2351 |   - Some imports where moved from the root `@clerk/shared` import to isolated subpaths.
2352 |     - Helper utils for cookies and globs:
2353 | 
2354 |       ```diff
2355 |       - import { createCookieHandler, globs } from "@clerk/shared"
2356 |       + import { createCookieHandler } from "@clerk/shared/cookie"
2357 |       + import { globs } from "@clerk/shared/globs"
2358 |       ```
2359 | 
2360 |     - Everything related to React. Below is a small example and the full list of exports:
2361 | 
2362 |       ```diff
2363 |       - import { useSafeLayoutEffect, ClerkInstanceContext } from "@clerk/shared"
2364 |       + import { useSafeLayoutEffect, ClerkInstanceContext } from "@clerk/shared/react"
2365 |       ```
2366 | 
2367 |       Full list of exports moved to `@clerk/shared/react`:
2368 | 
2369 |       ```ts
2370 |       export {
2371 |         ClerkInstanceContext,
2372 |         ClientContext,
2373 |         OrganizationContext,
2374 |         OrganizationProvider,
2375 |         SessionContext,
2376 |         UserContext,
2377 |         assertContextExists,
2378 |         createContextAndHook,
2379 |         useClerkInstanceContext,
2380 |         useClientContext,
2381 |         useOrganization,
2382 |         useOrganizationContext,
2383 |         useOrganizationList,
2384 |         useOrganizations,
2385 |         useSafeLayoutEffect,
2386 |         useSessionContext,
2387 |         useUserContext,
2388 |       };
2389 |       ```
2390 | 
2391 |   If you run into an issues that might be a bug, please [open a bug report](https://github.com/clerk/javascript/issues/new?assignees=&labels=needs-triage&projects=&template=BUG_REPORT.yml) with a minimal reproduction.
2392 | 
2393 | ### Patch Changes
2394 | 
2395 | - Publish packages with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) enabled ([#1891](https://github.com/clerk/javascript/pull/1891)) by [@LekoArts](https://github.com/LekoArts)
2396 | 
2397 | - Improve internal test coverage and fix small bug inside `callWithRetry` ([#1925](https://github.com/clerk/javascript/pull/1925)) by [@LekoArts](https://github.com/LekoArts)
2398 | 
2399 | - Update imports of `@clerk/shared` to granular entrypoints. This addresses warnings during a Next.js build that are the result of unsupported APIs being included in the module graph of builds for the edge runtime. ([#1924](https://github.com/clerk/javascript/pull/1924)) by [@BRKalow](https://github.com/BRKalow)
2400 | 
2401 | ## 0.24.5
2402 | 
2403 | ### Patch Changes
2404 | 
2405 | - Add `Clerk - ` prefix to deprecation warnings ([#1890](https://github.com/clerk/javascript/pull/1890)) by [@dimkl](https://github.com/dimkl)
2406 | 
2407 | - Deprecate the `organization.__unstable__invitationUpdate` and `organization.__unstable__membershipUpdate` methods. ([#1879](https://github.com/clerk/javascript/pull/1879)) by [@panteliselef](https://github.com/panteliselef)
2408 | 
2409 | - Internal updates and improvements, with the only public change that npm should no longer complain about missing `react` peerDependency. ([#1868](https://github.com/clerk/javascript/pull/1868)) by [@LekoArts](https://github.com/LekoArts)
2410 | 
2411 |   Updates:
2412 |   - Remove `@clerk/shared/testUtils` export (which was only used for internal usage)
2413 |   - Add `peerDependenciesMeta` to make `react` peerDep optional
2414 | 
2415 | - In invite members screen of the <OrganizationProfile /> component, consume any invalid email addresses as they are returned in the API error and remove them from the input automatically. ([#1869](https://github.com/clerk/javascript/pull/1869)) by [@chanioxaris](https://github.com/chanioxaris)
2416 | 
2417 | ## 0.24.4
2418 | 
2419 | ### Patch Changes
2420 | 
2421 | - Warn about _MagicLink_ deprecations: ([#1836](https://github.com/clerk/javascript/pull/1836)) by [@dimkl](https://github.com/dimkl)
2422 |   - `MagicLinkError`
2423 |   - `isMagicLinkError`
2424 |   - `MagicLinkErrorCode`
2425 |   - `handleMagicLinkVerification`
2426 |   - `createMagicLinkFlow`
2427 |   - `useMagicLink`
2428 | 
2429 | - Introduce new `*EmailLink*` helpers that will replace the `*MagicLink*` helpers. ([#1833](https://github.com/clerk/javascript/pull/1833)) by [@dimkl](https://github.com/dimkl)
2430 | 
2431 |   Also marked all the `*MagicLink*` as deprecated using JSDocs.
2432 | 
2433 | ## 0.24.3
2434 | 
2435 | ### Patch Changes
2436 | 
2437 | - Make `types` the first key in all `exports` maps defined in our packages' `package.json`. The [TypeScript docs](https://www.typescriptlang.org/docs/handbook/esm-node.html#packagejson-exports-imports-and-self-referencing) recommends so, as the `exports` map is order-based. by [@nikosdouvlis](https://github.com/nikosdouvlis)
2438 | 
2439 | - Apply deprecation warnings for @clerk/types: ([#1823](https://github.com/clerk/javascript/pull/1823)) by [@dimkl](https://github.com/dimkl)
2440 |   - `orgs` jwt claims
2441 |   - `apiKey`
2442 |   - `frontendApi`
2443 |   - `redirect_url`
2444 |   - `password`
2445 |   - `generateSignature`
2446 |   - `afterSwitchOrganizationUrl`
2447 |   - `profileImageUrl`
2448 | 
2449 | - Revert the removal of the `clerkError` property from `ClerkAPIError` class. by [@nikosdouvlis](https://github.com/nikosdouvlis)
2450 | 
2451 | - Retry the implemented changes from [#1767](https://github.com/clerk/javascript/pull/1767) which were reverted in [#1806](https://github.com/clerk/javascript/pull/1806) due to RSC related errors (not all uses components had the `use client` directive). Restore the original PR and add additional `use client` directives to ensure it works correctly. by [@nikosdouvlis](https://github.com/nikosdouvlis)
2452 | 
2453 | ## 0.24.2
2454 | 
2455 | ### Patch Changes
2456 | 
2457 | - Introduce ClerkRuntimeError class for localizing error messages in ClerkJS components ([#1813](https://github.com/clerk/javascript/pull/1813)) by [@panteliselef](https://github.com/panteliselef)
2458 | 
2459 | - Pins the internal dependency versions. This ensures that users installing our main framework SDKs will get consistent versions across all @clerk/ packages. ([#1798](https://github.com/clerk/javascript/pull/1798)) by [@BRKalow](https://github.com/BRKalow)
2460 | 
2461 | ## 0.24.1
2462 | 
2463 | ### Patch Changes
2464 | 
2465 | - Temporarily revert internal change to resolve RSC-related errors ([#1806](https://github.com/clerk/javascript/pull/1806)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2466 | 
2467 | ## 0.24.0
2468 | 
2469 | ### Minor Changes
2470 | 
2471 | - Introduce `getClerkJsMajorVersionOrTag()`, `getScriptUrl()`, `callWithRetry()` ([#1769](https://github.com/clerk/javascript/pull/1769)) by [@dimkl](https://github.com/dimkl)
2472 | 
2473 | - Add the `use client` directive in `@clerk/shared` to make the package compatible with an RSC environment. ([#1767](https://github.com/clerk/javascript/pull/1767)) by [@dimkl](https://github.com/dimkl)
2474 | 
2475 |   Remove several helpers from `@clerk/nextjs` and import them from `@clerk/shared` instead.
2476 | 
2477 | ### Patch Changes
2478 | 
2479 | - Apply deprecation warnings for `@clerk/shared`: ([#1789](https://github.com/clerk/javascript/pull/1789)) by [@dimkl](https://github.com/dimkl)
2480 |   - `OrganizationContext`
2481 |   - `organizationList`
2482 |   - `useOrganizations`
2483 |   - `getRequestUrl`
2484 | 
2485 | - Removes the patch for disabling swr-devtools causing apps with swr and browsers with the devtools extention to break. ([#1794](https://github.com/clerk/javascript/pull/1794)) by [@panteliselef](https://github.com/panteliselef)
2486 | 
2487 | ## 0.23.1
2488 | 
2489 | ### Patch Changes
2490 | 
2491 | - Introduce `invitations` in useOrganization, which enables to fetch invitations as paginated lists. ([#1766](https://github.com/clerk/javascript/pull/1766)) by [@panteliselef](https://github.com/panteliselef)
2492 | 
2493 |   Deprecate `invitationList` in favor of the above introduction.
2494 | 
2495 | - Safer usage of `localStorage` by checking if `window` is available in current environment ([#1774](https://github.com/clerk/javascript/pull/1774)) by [@LekoArts](https://github.com/LekoArts)
2496 | 
2497 | - Fix SyntaxError on non-module imports by dropping support for import.meta (used in vite) ([#1782](https://github.com/clerk/javascript/pull/1782)) by [@dimkl](https://github.com/dimkl)
2498 | 
2499 | - `deprecated()` & `deprecatedProperty` warnings will be hidden in test/production ([#1784](https://github.com/clerk/javascript/pull/1784)) by [@dimkl](https://github.com/dimkl)
2500 | 
2501 |   environments and when there is no NODE_ENV environment variable defined.
2502 | 
2503 | ## 0.23.0
2504 | 
2505 | ### Minor Changes
2506 | 
2507 | - Introduce `deprecated()` and `deprecatedProperty()` helper methods to report deprecation warnings once on console ([#1743](https://github.com/clerk/javascript/pull/1743)) by [@dimkl](https://github.com/dimkl)
2508 | 
2509 | - Introduce `isDevelopmentEnvironment()` helper method ([#1752](https://github.com/clerk/javascript/pull/1752)) by [@dimkl](https://github.com/dimkl)
2510 | 
2511 | ## 0.22.1
2512 | 
2513 | ### Patch Changes
2514 | 
2515 | - Fix: swr devtools breaks applications with clerk ([#1694](https://github.com/clerk/javascript/pull/1694)) by [@panteliselef](https://github.com/panteliselef)
2516 |   - Force disable swr devtools for organization hooks
2517 |   - Let the swr devtool to pick the correct react version
2518 | 
2519 | - Deprecate `membershipList` in favor of `memberships` that supports paginated responses ([#1708](https://github.com/clerk/javascript/pull/1708)) by [@panteliselef](https://github.com/panteliselef)
2520 | 
2521 | ## 0.22.0
2522 | 
2523 | ### Minor Changes
2524 | 
2525 | - Introduces userInvitations from `useOrganizationList` ([#1520](https://github.com/clerk/javascript/pull/1520)) by [@panteliselef](https://github.com/panteliselef)
2526 | 
2527 |   `userInvitations` is a paginated list of data. It can be used to create Paginated tables or Infinite lists.
2528 | 
2529 | ### Patch Changes
2530 | 
2531 | - Introduces a new resource called OrganizationMembership ([#1572](https://github.com/clerk/javascript/pull/1572)) by [@panteliselef](https://github.com/panteliselef)
2532 |   - useOrganization has been updated in order to return a list of domain with the above type
2533 | 
2534 | - Introduces Membership Requests in <OrganizationProfile /> ([#1576](https://github.com/clerk/javascript/pull/1576)) by [@panteliselef](https://github.com/panteliselef)
2535 |   - This is a list of users that have requested to join the active organization
2536 | 
2537 | - Updates signature of OrganizationMembership.retrieve to support backwards compatibility while allowing using the new paginated responses. ([#1606](https://github.com/clerk/javascript/pull/1606)) by [@panteliselef](https://github.com/panteliselef)
2538 |   - userMemberships is now also part of the returned values of useOrganizationList
2539 | 
2540 | - Introduces a new resource called OrganizationDomain ([#1569](https://github.com/clerk/javascript/pull/1569)) by [@panteliselef](https://github.com/panteliselef)
2541 |   - useOrganization has been updated in order to return a list of domain with the above type
2542 | 
2543 | - Introduces list of suggestions within <OrganizationSwitcher/> ([#1577](https://github.com/clerk/javascript/pull/1577)) by [@panteliselef](https://github.com/panteliselef)
2544 |   - Users can request to join a suggested organization
2545 | 
2546 | ## 0.21.0
2547 | 
2548 | ### Minor Changes
2549 | 
2550 | - Handle the construction of zxcvbn errors with information from FAPI ([#1526](https://github.com/clerk/javascript/pull/1526)) by [@raptisj](https://github.com/raptisj)
2551 | 
2552 | ## 0.20.0
2553 | 
2554 | ### Minor Changes
2555 | 
2556 | - Deprecate the `useOrganizations` react hook. The hook can be replaced from useClerk, useOrganization, useOrganizationList ([#1466](https://github.com/clerk/javascript/pull/1466)) by [@panteliselef](https://github.com/panteliselef)
2557 | 
2558 | ## 0.19.1
2559 | 
2560 | ### Patch Changes
2561 | 
2562 | - Optimize all images displayed within the Clerk components, such as Avatars, static OAuth provider assets etc. All images are now resized and compressed. Additionally, all images are automatically converted into more efficient formats (`avif`, `webp`) if they are supported by the user's browser, otherwise all images fall back to `jpeg`. ([#1367](https://github.com/clerk/javascript/pull/1367)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
2563 | 
2564 | ## 0.19.0
2565 | 
2566 | ### Minor Changes
2567 | 
2568 | - Export error helpers from the shared package to the framework specific packages ([#1308](https://github.com/clerk/javascript/pull/1308)) by [@desiprisg](https://github.com/desiprisg)
2569 | 
2570 | ### Patch Changes
2571 | 
2572 | - Resolve all reported ESM build issues by [@nikosdouvlis](https://github.com/nikosdouvlis)
2573 | 
2574 | ## 0.18.0
2575 | 
2576 | ### Minor Changes
2577 | 
2578 | - ESM/CJS support for `@clerk/clerk-react` by [@nikosdouvlis](https://github.com/nikosdouvlis)
2579 | 
2580 |   Changes that should affect users and OS contributors:
2581 |   - Better source map support for `@clerk/clerk-react`, `@clerk/shared`. This affects anyone developing in our monorepo or anyone using a debugger with Clerk installed in their app.
2582 |   - Easier node_modules debugging as `@clerk/clerk-react`, `@clerk/shared` and `@clerk/nextjs` are no longer getting bundled as a single-file package. This also improves error logging in nextjs a lot, as nextjs usually logs the line that threw the error - a minified, single-file package, usually consists of a very long single-line module, so logging error in NextJS wasn't ideal.
2583 |   - Headless clerk-js bundle size reduced by ~10kb, normal clerk-ks by ~6kb
2584 |   - A new `clerkJSVersion` prop has been added on ClerkProvider allowing to fetch a specific clerk-js version.
2585 | 
2586 | ## [0.17.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-23)
2587 | 
2588 | **Note:** Version bump only for package @clerk/shared
2589 | 
2590 | ### [0.16.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-18)
2591 | 
2592 | **Note:** Version bump only for package @clerk/shared
2593 | 
2594 | ### [0.16.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-17)
2595 | 
2596 | **Note:** Version bump only for package @clerk/shared
2597 | 
2598 | ## [0.16.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-15)
2599 | 
2600 | **Note:** Version bump only for package @clerk/shared
2601 | 
2602 | ### [0.15.7](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-04)
2603 | 
2604 | **Note:** Version bump only for package @clerk/shared
2605 | 
2606 | ### [0.15.7-staging.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-04)
2607 | 
2608 | **Note:** Version bump only for package @clerk/shared
2609 | 
2610 | ### [0.15.7-staging.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-05-02)
2611 | 
2612 | **Note:** Version bump only for package @clerk/shared
2613 | 
2614 | ### [0.15.6](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-19)
2615 | 
2616 | **Note:** Version bump only for package @clerk/shared
2617 | 
2618 | ### [0.15.5](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-19)
2619 | 
2620 | **Note:** Version bump only for package @clerk/shared
2621 | 
2622 | ### [0.15.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-12)
2623 | 
2624 | **Note:** Version bump only for package @clerk/shared
2625 | 
2626 | ### [0.15.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-11)
2627 | 
2628 | **Note:** Version bump only for package @clerk/shared
2629 | 
2630 | ### [0.15.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-04-06)
2631 | 
2632 | **Note:** Version bump only for package @clerk/shared
2633 | 
2634 | ### [0.15.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-31)
2635 | 
2636 | **Note:** Version bump only for package @clerk/shared
2637 | 
2638 | ### [0.15.1-staging.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-31)
2639 | 
2640 | ### Bug Fixes
2641 | 
2642 | - **shared:** Check if in clientSide only via window ([bef819e](https://github.com/clerk/clerk_docker/commit/bef819e7596337a96f073bb130fbc14244975d8c))
2643 | 
2644 | ## [0.15.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-29)
2645 | 
2646 | **Note:** Version bump only for package @clerk/shared
2647 | 
2648 | ### [0.13.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-10)
2649 | 
2650 | **Note:** Version bump only for package @clerk/shared
2651 | 
2652 | ## [0.13.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-09)
2653 | 
2654 | **Note:** Version bump only for package @clerk/shared
2655 | 
2656 | ### [0.12.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-07)
2657 | 
2658 | **Note:** Version bump only for package @clerk/shared
2659 | 
2660 | ### [0.12.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-03)
2661 | 
2662 | **Note:** Version bump only for package @clerk/shared
2663 | 
2664 | ### [0.12.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-03-01)
2665 | 
2666 | **Note:** Version bump only for package @clerk/shared
2667 | 
2668 | ### [0.12.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-25)
2669 | 
2670 | **Note:** Version bump only for package @clerk/shared
2671 | 
2672 | ## [0.12.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-24)
2673 | 
2674 | **Note:** Version bump only for package @clerk/shared
2675 | 
2676 | ### [0.11.5-staging.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-22)
2677 | 
2678 | **Note:** Version bump only for package @clerk/shared
2679 | 
2680 | ### [0.11.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-17)
2681 | 
2682 | **Note:** Version bump only for package @clerk/shared
2683 | 
2684 | ### [0.11.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-15)
2685 | 
2686 | **Note:** Version bump only for package @clerk/shared
2687 | 
2688 | ### [0.11.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-10)
2689 | 
2690 | **Note:** Version bump only for package @clerk/shared
2691 | 
2692 | ### [0.11.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)
2693 | 
2694 | **Note:** Version bump only for package @clerk/shared
2695 | 
2696 | ### [0.11.1-staging.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)
2697 | 
2698 | **Note:** Version bump only for package @clerk/shared
2699 | 
2700 | ## [0.11.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-07)
2701 | 
2702 | **Note:** Version bump only for package @clerk/shared
2703 | 
2704 | ## [0.10.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-02-01)
2705 | 
2706 | **Note:** Version bump only for package @clerk/shared
2707 | 
2708 | ### [0.9.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-27)
2709 | 
2710 | **Note:** Version bump only for package @clerk/shared
2711 | 
2712 | ### [0.9.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-24)
2713 | 
2714 | ### Bug Fixes
2715 | 
2716 | - **backend,clerk-sdk-node,shared:** Drop support for NodeJS 12 ([d9169ab](https://github.com/clerk/clerk_docker/commit/d9169ab4873e1745d7250628f5bf8c8f7da49421))
2717 | 
2718 | ### [0.9.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-20)
2719 | 
2720 | **Note:** Version bump only for package @clerk/shared
2721 | 
2722 | ## [0.9.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2023-01-17)
2723 | 
2724 | ### Bug Fixes
2725 | 
2726 | - **backend,clerk-sdk-node,shared:** Support node12 runtimes ([fdcd6b3](https://github.com/clerk/clerk_docker/commit/fdcd6b3f7c61490297a5fdfa80228cbb7787b49b))
2727 | - **shared:** Replace atob with isomorphicAtob ([bfb1825](https://github.com/clerk/clerk_docker/commit/bfb1825e78cdf9970425dc79f3f9610e8a2699f7))
2728 | 
2729 | ### [0.8.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-19)
2730 | 
2731 | **Note:** Version bump only for package @clerk/shared
2732 | 
2733 | ### [0.8.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-13)
2734 | 
2735 | **Note:** Version bump only for package @clerk/shared
2736 | 
2737 | ### [0.8.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-12)
2738 | 
2739 | **Note:** Version bump only for package @clerk/shared
2740 | 
2741 | ## [0.8.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-09)
2742 | 
2743 | **Note:** Version bump only for package @clerk/shared
2744 | 
2745 | ### [0.7.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-08)
2746 | 
2747 | **Note:** Version bump only for package @clerk/shared
2748 | 
2749 | ### [0.7.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-08)
2750 | 
2751 | **Note:** Version bump only for package @clerk/shared
2752 | 
2753 | ## [0.7.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-12-02)
2754 | 
2755 | **Note:** Version bump only for package @clerk/shared
2756 | 
2757 | ## [0.6.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-30)
2758 | 
2759 | **Note:** Version bump only for package @clerk/shared
2760 | 
2761 | ## [0.6.0-staging.5](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-29)
2762 | 
2763 | **Note:** Version bump only for package @clerk/shared
2764 | 
2765 | ### [0.5.7](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-25)
2766 | 
2767 | **Note:** Version bump only for package @clerk/shared
2768 | 
2769 | ### [0.5.6](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-25)
2770 | 
2771 | **Note:** Version bump only for package @clerk/shared
2772 | 
2773 | ### [0.5.5](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-23)
2774 | 
2775 | **Note:** Version bump only for package @clerk/shared
2776 | 
2777 | ### [0.5.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-22)
2778 | 
2779 | **Note:** Version bump only for package @clerk/shared
2780 | 
2781 | ### [0.5.4-staging.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-21)
2782 | 
2783 | **Note:** Version bump only for package @clerk/shared
2784 | 
2785 | ### [0.5.4-staging.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-21)
2786 | 
2787 | ### Bug Fixes
2788 | 
2789 | - **shared:** Add optional locale param to `formatRelative` ([0582eb7](https://github.com/clerk/clerk_docker/commit/0582eb78de7c1807e1709d038cfda13cb6db589d))
2790 | - **shared:** Fix failing tests ([08bff82](https://github.com/clerk/clerk_docker/commit/08bff821466986d9698fd209eca2ae0872fe9147))
2791 | 
2792 | ### [0.5.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-18)
2793 | 
2794 | **Note:** Version bump only for package @clerk/shared
2795 | 
2796 | ### [0.5.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-15)
2797 | 
2798 | **Note:** Version bump only for package @clerk/shared
2799 | 
2800 | ### [0.5.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-10)
2801 | 
2802 | **Note:** Version bump only for package @clerk/shared
2803 | 
2804 | ## [0.5.0](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-05)
2805 | 
2806 | ### Features
2807 | 
2808 | - **clerk-js,shared:** Introduce private unstable\_\_mutate to force mutate swr state ([2a21dd8](https://github.com/clerk/clerk_docker/commit/2a21dd8ea3935f3889044c063fe7af4bfc03cbfd))
2809 | 
2810 | ### [0.4.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-03)
2811 | 
2812 | **Note:** Version bump only for package @clerk/shared
2813 | 
2814 | ### [0.4.2-staging.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)
2815 | 
2816 | **Note:** Version bump only for package @clerk/shared
2817 | 
2818 | ### [0.4.2-staging.3](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)
2819 | 
2820 | **Note:** Version bump only for package @clerk/shared
2821 | 
2822 | ### [0.4.2-staging.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)
2823 | 
2824 | **Note:** Version bump only for package @clerk/shared
2825 | 
2826 | ### [0.4.2-staging.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-11-02)
2827 | 
2828 | **Note:** Version bump only for package @clerk/shared
2829 | 
2830 | ### [0.4.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-24)
2831 | 
2832 | **Note:** Version bump only for package @clerk/shared
2833 | 
2834 | ### [0.0.6](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-24)
2835 | 
2836 | **Note:** Version bump only for package @clerk/shared
2837 | 
2838 | ### [0.0.5](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-14)
2839 | 
2840 | **Note:** Version bump only for package @clerk/shared
2841 | 
2842 | ### [0.0.4](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-14)
2843 | 
2844 | ### Bug Fixes
2845 | 
2846 | - **shared:** Version bump for shared ([c0cebb5](https://github.com/clerk/clerk_docker/commit/c0cebb50bc94fa44e37b96c5a645a8b18ba37df8))
2847 | 
2848 | ### [0.0.2](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-14)
2849 | 
2850 | **Note:** Version bump only for package @clerk/shared
2851 | 
2852 | ### [0.0.2-staging.1](https://github.com/clerk/clerk_docker/compare/@clerk/[email protected]...@clerk/[email protected]) (2022-10-13)
2853 | 
2854 | **Note:** Version bump only for package @clerk/shared
2855 | 
```
Page 3472/3479FirstPrevNextLast