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

# Directory Structure

```
├── .changeset
│   ├── bright-papayas-accept.md
│   ├── changelog.js
│   ├── config.json
│   ├── moody-parks-scream.md
│   ├── README.md
│   ├── ripe-ants-carry.md
│   ├── ripe-banks-pay.md
│   └── shaggy-numbers-attack.md
├── .coderabbit.yaml
├── .cursor
│   └── rules
│       ├── clerk-js-ui.mdc
│       ├── development.mdc
│       ├── global.mdc
│       ├── monorepo.mdc
│       ├── nextjs.mdc
│       ├── react.mdc
│       └── typescript.mdc
├── .dockerignore
├── .editorconfig
├── .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.retheme.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__
│   │   ├── __snapshots__
│   │   │   └── file-structure.test.ts.snap
│   │   └── file-structure.test.ts
│   ├── custom-plugin.mjs
│   ├── custom-router.mjs
│   ├── custom-theme.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
│   │   ├── elements.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
│   │   ├── 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
│   │   │   │   └── vite-env.d.ts
│   │   │   ├── tsconfig.app.json
│   │   │   ├── tsconfig.json
│   │   │   ├── tsconfig.node.json
│   │   │   └── vite.config.ts
│   │   ├── elements-next
│   │   │   ├── .gitignore
│   │   │   ├── next.config.js
│   │   │   ├── package.json
│   │   │   ├── postcss.config.js
│   │   │   ├── README.md
│   │   │   ├── src
│   │   │   │   ├── app
│   │   │   │   │   ├── favicon.ico
│   │   │   │   │   ├── globals.css
│   │   │   │   │   ├── layout.tsx
│   │   │   │   │   ├── otp
│   │   │   │   │   │   └── page.tsx
│   │   │   │   │   ├── page.tsx
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   └── [[...sign-in]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   └── [[...sign-up]]
│   │   │   │   │   │       └── page.tsx
│   │   │   │   │   └── validate-password
│   │   │   │   │       └── page.tsx
│   │   │   │   └── middleware.ts
│   │   │   ├── tailwind.config.js
│   │   │   └── tsconfig.json
│   │   ├── 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
│   │   │   │   │   ├── 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
│   │   ├── nuxt-node
│   │   │   ├── app
│   │   │   │   ├── app.vue
│   │   │   │   ├── middleware
│   │   │   │   │   └── auth.global.js
│   │   │   │   └── pages
│   │   │   │       ├── index.vue
│   │   │   │       ├── only-admin.vue
│   │   │   │       ├── pricing-table.vue
│   │   │   │       ├── sign-in.vue
│   │   │   │       └── user.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
│   │   ├── components.test.ts
│   │   ├── content-security-policy.test.ts
│   │   ├── custom-flows
│   │   │   ├── sign-in.test.ts
│   │   │   └── sign-up.test.ts
│   │   ├── custom-pages.test.ts
│   │   ├── db-jwt.test.ts
│   │   ├── dynamic-keys.test.ts
│   │   ├── elements
│   │   │   ├── next-sign-in.test.ts
│   │   │   ├── next-sign-up.test.ts
│   │   │   ├── otp.test.ts
│   │   │   └── validate-password.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
│   │   ├── middleware-placement.test.ts
│   │   ├── navigation.test.ts
│   │   ├── next-account-portal
│   │   │   ├── clerk-v4-ap-core-1.test.ts
│   │   │   ├── clerk-v4-ap-core-2.test.ts
│   │   │   ├── clerk-v5-ap-core-1.test.ts
│   │   │   ├── clerk-v5-ap-core-2.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
│   │   ├── oauth-flows.test.ts
│   │   ├── pricing-table.test.ts
│   │   ├── protect-jwt-v2.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.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
│   ├── 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
│   │   │   │   │   ├── Protect.astro
│   │   │   │   │   ├── ProtectCSR.astro
│   │   │   │   │   ├── ProtectSSR.astro
│   │   │   │   │   ├── SignedIn.astro
│   │   │   │   │   ├── SignedInCSR.astro
│   │   │   │   │   ├── SignedInSSR.astro
│   │   │   │   │   ├── SignedOut.astro
│   │   │   │   │   ├── SignedOutCSR.astro
│   │   │   │   │   └── SignedOutSSR.astro
│   │   │   │   ├── index.ts
│   │   │   │   ├── interactive
│   │   │   │   │   ├── 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__
│   │   │   │   │   ├── 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
│   │   │   │       ├── SamlAccount.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
│   │   │   └── template.html
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   └── headless.test.ts
│   │   │   ├── core
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── clerk.redirects.test.ts
│   │   │   │   │   ├── clerk.test.ts
│   │   │   │   │   ├── fapiClient.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
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── manager.test.ts
│   │   │   │   │   │   ├── instance.ts
│   │   │   │   │   │   └── manager.ts
│   │   │   │   │   └── debug
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   └── logger.test.ts
│   │   │   │   │       ├── index.ts
│   │   │   │   │       ├── logger.ts
│   │   │   │   │       ├── transports
│   │   │   │   │       │   ├── __tests__
│   │   │   │   │       │   │   └── telemetry.test.ts
│   │   │   │   │       │   ├── composite.ts
│   │   │   │   │       │   ├── console.ts
│   │   │   │   │       │   └── telemetry.ts
│   │   │   │   │       └── types.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
│   │   │   │   │   │   ├── 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
│   │   │   │   │   ├── PublicUserData.ts
│   │   │   │   │   ├── Role.ts
│   │   │   │   │   ├── SamlAccount.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
│   │   │   │   ├── sessionTasks.ts
│   │   │   │   ├── signals.ts
│   │   │   │   ├── state.ts
│   │   │   │   ├── tokenCache.ts
│   │   │   │   └── warnings.ts
│   │   │   ├── emotion.d.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
│   │   │   ├── ui
│   │   │   │   ├── baseTheme.ts
│   │   │   │   ├── common
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── redirects.test.ts
│   │   │   │   │   │   ├── verification.test.ts
│   │   │   │   │   │   └── withRedirect.test.tsx
│   │   │   │   │   ├── CalloutWithAction.tsx
│   │   │   │   │   ├── ChooseEnterpriseConnectionCard.tsx
│   │   │   │   │   ├── constants.ts
│   │   │   │   │   ├── 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
│   │   │   │   │   ├── 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
│   │   │   │   │   ├── GoogleOneTap
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   └── one-tap-start.tsx
│   │   │   │   │   ├── ImpersonationFab
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── KeylessPrompt
│   │   │   │   │   │   ├── ClerkLogoIcon.tsx
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── KeySlashIcon.tsx
│   │   │   │   │   │   └── use-revalidate-environment.ts
│   │   │   │   │   ├── 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
│   │   │   │   │   │       ├── TaskChooseOrganization
│   │   │   │   │   │       │   ├── __tests__
│   │   │   │   │   │       │   │   └── TaskChooseOrganization.test.tsx
│   │   │   │   │   │       │   ├── ChooseOrganizationScreen.tsx
│   │   │   │   │   │       │   ├── CreateOrganizationScreen.tsx
│   │   │   │   │   │       │   └── index.tsx
│   │   │   │   │   │       └── withTaskGuard.ts
│   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── SignInFactorOne.tsx
│   │   │   │   │   │   ├── SignInFactorOneAlternativeChannelCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorOneAlternativePhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorOneEmailCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneEmailLinkCard.tsx
│   │   │   │   │   │   ├── SignInFactorOneEnterpriseConnections.tsx
│   │   │   │   │   │   ├── SignInFactorOneForgotPasswordCard.tsx
│   │   │   │   │   │   ├── SignInFactorOnePasskey.tsx
│   │   │   │   │   │   ├── SignInFactorOnePasswordCard.tsx
│   │   │   │   │   │   ├── SignInFactorOnePhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwo.tsx
│   │   │   │   │   │   ├── SignInFactorTwoAlternativeMethods.tsx
│   │   │   │   │   │   ├── SignInFactorTwoBackupCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwoCodeForm.tsx
│   │   │   │   │   │   ├── SignInFactorTwoPhoneCodeCard.tsx
│   │   │   │   │   │   ├── SignInFactorTwoTOTPCard.tsx
│   │   │   │   │   │   ├── SignInSocialButtons.tsx
│   │   │   │   │   │   ├── SignInSSOCallback.tsx
│   │   │   │   │   │   ├── SignInStart.tsx
│   │   │   │   │   │   ├── useResetPasswordFactor.tsx
│   │   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── 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
│   │   │   │   │   ├── 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
│   │   │   │   │   ├── 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
│   │   │   │   │   │   └── 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
│   │   │   │   │   └── withAvatarShimmer.tsx
│   │   │   │   ├── 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
│   │   │   │   ├── 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
│   │   │   │   │   └── 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
│   │   │   │   ├── 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
│   │   │   │   ├── types.ts
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   ├── createCustomMenuItems.test.ts
│   │   │   │       │   ├── createCustomPages.test.ts
│   │   │   │       │   ├── cssSupports.test.ts
│   │   │   │       │   ├── cssVariables.test.ts
│   │   │   │       │   ├── factorSorting.test.ts
│   │   │   │       │   ├── formatSafeIdentifier.test.ts
│   │   │   │       │   ├── intl.test.ts
│   │   │   │       │   ├── originPrefersPopup.test.ts
│   │   │   │       │   ├── passwordUtils.test.tsx
│   │   │   │       │   ├── phoneUtils.test.ts
│   │   │   │       │   └── truncateTextWithEndVisible.test.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
│   │   │   │       ├── errorHandler.ts
│   │   │   │       ├── ExternalElementMounter.tsx
│   │   │   │       ├── factorSorting.ts
│   │   │   │       ├── formatDate.ts
│   │   │   │       ├── formatSafeIdentifier.ts
│   │   │   │       ├── fromEntries.ts
│   │   │   │       ├── getClosestProfileScrollBox.ts
│   │   │   │       ├── getRelativeToNowDateKey.ts
│   │   │   │       ├── getValidReactChildren.ts
│   │   │   │       ├── intl.ts
│   │   │   │       ├── isMobileDevice.ts
│   │   │   │       ├── mergeRefs.ts
│   │   │   │       ├── originPrefersPopup.ts
│   │   │   │       ├── passwordUtils.ts
│   │   │   │       ├── phoneUtils.ts
│   │   │   │       ├── range.ts
│   │   │   │       ├── readObjectPath.ts
│   │   │   │       ├── removeUndefinedProps.ts
│   │   │   │       ├── roleLocalizationKey.ts
│   │   │   │       ├── runtimeEnvironment.ts
│   │   │   │       ├── sanitizeCustomLinkURL.ts
│   │   │   │       ├── sleep.ts
│   │   │   │       ├── timeAgo.ts
│   │   │   │       ├── truncateTextWithEndVisible.ts
│   │   │   │       ├── useFormControl.ts
│   │   │   │       ├── usernameUtils.ts
│   │   │   │       └── web3CallbackErrorHandler.ts
│   │   │   └── utils
│   │   │       ├── __tests__
│   │   │       │   ├── appearance.test.ts
│   │   │       │   ├── captcha.test.ts
│   │   │       │   ├── completeSignUpFlow.test.ts
│   │   │       │   ├── date.test.ts
│   │   │       │   ├── dynamicParamParser.test.ts
│   │   │       │   ├── email.test.ts
│   │   │       │   ├── encoders.test.ts
│   │   │       │   ├── errors.test.ts
│   │   │       │   ├── filterUndefinedValues.test.ts
│   │   │       │   ├── getClerkQueryParam.test.ts
│   │   │       │   ├── ignoreEventValue.test.ts
│   │   │       │   ├── instance.test.ts
│   │   │       │   ├── jwt.test.ts
│   │   │       │   ├── locale.test.ts
│   │   │       │   ├── localStorage.test.ts
│   │   │       │   ├── memoizeStateListenerCallback.test.ts
│   │   │       │   ├── organization.test.ts
│   │   │       │   ├── passkeys.test.ts
│   │   │       │   ├── path.test.ts
│   │   │       │   ├── queryStateParams.test.ts
│   │   │       │   ├── querystring.test.ts
│   │   │       │   ├── redirectUrls.test.ts
│   │   │       │   ├── resourceParams.test.ts
│   │   │       │   ├── runAsyncResourceTask.test.ts
│   │   │       │   ├── tokenId.test.ts
│   │   │       │   └── url.test.ts
│   │   │       ├── appearance.ts
│   │   │       ├── assertNoLegacyProp.ts
│   │   │       ├── authenticateWithPopup.ts
│   │   │       ├── beforeUnloadTracker.ts
│   │   │       ├── billing.ts
│   │   │       ├── captcha
│   │   │       │   ├── CaptchaChallenge.ts
│   │   │       │   ├── constants.ts
│   │   │       │   ├── getCaptchaToken.ts
│   │   │       │   ├── retrieveCaptchaInfo.ts
│   │   │       │   ├── turnstile.ts
│   │   │       │   └── types.ts
│   │   │       ├── completeSignUpFlow.ts
│   │   │       ├── componentGuards.ts
│   │   │       ├── convertPageToOffsetSearchParams.ts
│   │   │       ├── date.ts
│   │   │       ├── debug.ts
│   │   │       ├── disambiguateRedirectOptions.ts
│   │   │       ├── dynamicParamParser.ts
│   │   │       ├── email.ts
│   │   │       ├── encoders.ts
│   │   │       ├── errors.ts
│   │   │       ├── errorThrower.ts
│   │   │       ├── filterUndefinedValues.ts
│   │   │       ├── getClerkQueryParam.ts
│   │   │       ├── hex.ts
│   │   │       ├── ignoreEventValue.ts
│   │   │       ├── image.ts
│   │   │       ├── index.ts
│   │   │       ├── injectedWeb3Providers.ts
│   │   │       ├── instance.ts
│   │   │       ├── jwt.ts
│   │   │       ├── locale.ts
│   │   │       ├── localStorage.ts
│   │   │       ├── memoizeStateListenerCallback.ts
│   │   │       ├── normalizeRoutingOptions.ts
│   │   │       ├── one-tap.ts
│   │   │       ├── organization.ts
│   │   │       ├── pageLifecycle.ts
│   │   │       ├── passkeys.ts
│   │   │       ├── passwords
│   │   │       │   ├── complexity.ts
│   │   │       │   ├── password.ts
│   │   │       │   └── strength.ts
│   │   │       ├── path.ts
│   │   │       ├── props.ts
│   │   │       ├── queryStateParams.ts
│   │   │       ├── querystring.ts
│   │   │       ├── redirectUrls.ts
│   │   │       ├── resourceParams.ts
│   │   │       ├── runAsyncResourceTask.ts
│   │   │       ├── runtime.ts
│   │   │       ├── setWebpackChunkPublicPath.ts
│   │   │       ├── tokenId.ts
│   │   │       ├── url.ts
│   │   │       ├── user.ts
│   │   │       ├── web3.ts
│   │   │       ├── windowNavigate.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
│   ├── elements
│   │   ├── .gitignore
│   │   ├── .npmignore
│   │   ├── CHANGELOG.md
│   │   ├── examples
│   │   │   └── nextjs
│   │   │       ├── .env.local.example
│   │   │       ├── .gitignore
│   │   │       ├── app
│   │   │       │   ├── example
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── favicon.ico
│   │   │       │   ├── globals.css
│   │   │       │   ├── layout.tsx
│   │   │       │   ├── modal
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── otp-playground
│   │   │       │   │   └── page.tsx
│   │   │       │   ├── page.tsx
│   │   │       │   ├── sign-in
│   │   │       │   │   └── [[...sign-in]]
│   │   │       │   │       └── page.tsx
│   │   │       │   └── sign-up
│   │   │       │       └── [[...sign-up]]
│   │   │       │           └── page.tsx
│   │   │       ├── components
│   │   │       │   ├── design.tsx
│   │   │       │   ├── form.tsx
│   │   │       │   ├── social-providers.tsx
│   │   │       │   └── spinner.tsx
│   │   │       ├── middleware.ts
│   │   │       ├── next.config.js
│   │   │       ├── package.json
│   │   │       ├── postcss.config.js
│   │   │       ├── public
│   │   │       │   ├── clerk.svg
│   │   │       │   ├── next.svg
│   │   │       │   └── vercel.svg
│   │   │       ├── README.md
│   │   │       ├── tailwind.config.ts
│   │   │       └── tsconfig.json
│   │   ├── jest.config.js
│   │   ├── jest.setup.js
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── index.ts
│   │   │   ├── internals
│   │   │   │   ├── constants
│   │   │   │   │   └── index.ts
│   │   │   │   ├── errors
│   │   │   │   │   └── index.ts
│   │   │   │   ├── machines
│   │   │   │   │   ├── form
│   │   │   │   │   │   ├── form.context.ts
│   │   │   │   │   │   ├── form.machine.ts
│   │   │   │   │   │   ├── form.types.ts
│   │   │   │   │   │   └── index.ts
│   │   │   │   │   ├── shared
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── shared.actions.test.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── shared.actions.ts
│   │   │   │   │   │   ├── shared.actors.ts
│   │   │   │   │   │   └── shared.types.ts
│   │   │   │   │   ├── sign-in
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── router.selectors.test.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── reset-password.machine.ts
│   │   │   │   │   │   ├── reset-password.types.ts
│   │   │   │   │   │   ├── router.machine.ts
│   │   │   │   │   │   ├── router.selectors.ts
│   │   │   │   │   │   ├── router.types.ts
│   │   │   │   │   │   ├── start.machine.ts
│   │   │   │   │   │   ├── start.types.ts
│   │   │   │   │   │   ├── utils
│   │   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   │   └── starting-factors.ts
│   │   │   │   │   │   ├── verification.machine.ts
│   │   │   │   │   │   └── verification.types.ts
│   │   │   │   │   ├── sign-up
│   │   │   │   │   │   ├── continue.machine.ts
│   │   │   │   │   │   ├── continue.types.ts
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.machine.ts
│   │   │   │   │   │   ├── router.types.ts
│   │   │   │   │   │   ├── start.machine.ts
│   │   │   │   │   │   ├── start.types.ts
│   │   │   │   │   │   ├── utils
│   │   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   │   └── fields-to-params.test.ts
│   │   │   │   │   │   │   ├── fields-to-params.ts
│   │   │   │   │   │   │   └── index.ts
│   │   │   │   │   │   ├── verification.machine.ts
│   │   │   │   │   │   └── verification.types.ts
│   │   │   │   │   ├── third-party
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── third-party.actors.ts
│   │   │   │   │   │   ├── third-party.machine.ts
│   │   │   │   │   │   └── third-party.types.ts
│   │   │   │   │   ├── types
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   └── router.types.ts
│   │   │   │   │   └── utils
│   │   │   │   │       ├── __tests__
│   │   │   │   │       │   ├── assert.test.ts
│   │   │   │   │       │   ├── formatters.test.ts
│   │   │   │   │       │   ├── next.test.ts
│   │   │   │   │       │   └── strategies.test.ts
│   │   │   │   │       ├── assert.ts
│   │   │   │   │       ├── clerkjs.ts
│   │   │   │   │       ├── formatters.ts
│   │   │   │   │       ├── next.ts
│   │   │   │   │       └── strategies.ts
│   │   │   │   └── utils
│   │   │   │       └── inspector
│   │   │   │           ├── browser
│   │   │   │           │   └── index.ts
│   │   │   │           ├── console
│   │   │   │           │   ├── console.ts
│   │   │   │           │   └── index.ts
│   │   │   │           └── index.ts
│   │   │   ├── react
│   │   │   │   ├── common
│   │   │   │   │   ├── connections.tsx
│   │   │   │   │   ├── form
│   │   │   │   │   │   ├── field-error.tsx
│   │   │   │   │   │   ├── field-state.tsx
│   │   │   │   │   │   ├── field.tsx
│   │   │   │   │   │   ├── form.tsx
│   │   │   │   │   │   ├── global-error.tsx
│   │   │   │   │   │   ├── hooks
│   │   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   │   ├── use-field-feedback.test.ts
│   │   │   │   │   │   │   │   ├── use-form.test.tsx
│   │   │   │   │   │   │   │   ├── use-global-errors.test.ts
│   │   │   │   │   │   │   │   └── use-previous.test.ts
│   │   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   │   ├── use-field-context.ts
│   │   │   │   │   │   │   ├── use-field-feedback.ts
│   │   │   │   │   │   │   ├── use-field-state.ts
│   │   │   │   │   │   │   ├── use-field.ts
│   │   │   │   │   │   │   ├── use-form.ts
│   │   │   │   │   │   │   ├── use-global-errors.ts
│   │   │   │   │   │   │   ├── use-input.tsx
│   │   │   │   │   │   │   ├── use-previous.ts
│   │   │   │   │   │   │   └── use-validity-state-context.ts
│   │   │   │   │   │   ├── index.tsx
│   │   │   │   │   │   ├── input.tsx
│   │   │   │   │   │   ├── label.tsx
│   │   │   │   │   │   ├── otp.tsx
│   │   │   │   │   │   ├── submit.tsx
│   │   │   │   │   │   ├── types.ts
│   │   │   │   │   │   └── utils
│   │   │   │   │   │       ├── __tests__
│   │   │   │   │   │       │   ├── determine-input-type-from-name.test.ts
│   │   │   │   │   │       │   └── enrich-field-state.test.ts
│   │   │   │   │   │       ├── determine-input-type-from-name.ts
│   │   │   │   │   │       ├── enrich-field-state.ts
│   │   │   │   │   │       └── index.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── link.tsx
│   │   │   │   │   └── loading.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── use-active-states.hook.test.ts
│   │   │   │   │   │   ├── use-active-tags.hook.test.ts
│   │   │   │   │   │   └── use-focus.hook.test.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── use-active-states.hook.ts
│   │   │   │   │   ├── use-active-tags.hook.ts
│   │   │   │   │   ├── use-focus.hook.ts
│   │   │   │   │   ├── use-loading.hook.ts
│   │   │   │   │   ├── use-password.hook.ts
│   │   │   │   │   └── use-third-party-provider.hook.ts
│   │   │   │   ├── router
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── next.ts
│   │   │   │   │   └── virtual.ts
│   │   │   │   ├── sign-in
│   │   │   │   │   ├── action
│   │   │   │   │   │   ├── action.tsx
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── navigate.tsx
│   │   │   │   │   │   ├── resend.tsx
│   │   │   │   │   │   └── set-active-session.tsx
│   │   │   │   │   ├── captcha.tsx
│   │   │   │   │   ├── choose-session
│   │   │   │   │   │   ├── __tests__
│   │   │   │   │   │   │   └── choose-session.test.tsx
│   │   │   │   │   │   ├── choose-session.hooks.ts
│   │   │   │   │   │   ├── choose-session.tsx
│   │   │   │   │   │   └── index.tsx
│   │   │   │   │   ├── choose-strategy.tsx
│   │   │   │   │   ├── context
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.context.ts
│   │   │   │   │   │   ├── sign-in-strategy.context.ts
│   │   │   │   │   │   └── strategies.context.ts
│   │   │   │   │   ├── identifiers.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── passkey.tsx
│   │   │   │   │   ├── reset-password.tsx
│   │   │   │   │   ├── root.tsx
│   │   │   │   │   ├── sso-callback.tsx
│   │   │   │   │   ├── start.tsx
│   │   │   │   │   ├── step.tsx
│   │   │   │   │   └── verifications.tsx
│   │   │   │   ├── sign-up
│   │   │   │   │   ├── action
│   │   │   │   │   │   ├── action.tsx
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── navigate.tsx
│   │   │   │   │   │   └── resend.tsx
│   │   │   │   │   ├── captcha.tsx
│   │   │   │   │   ├── context
│   │   │   │   │   │   ├── index.ts
│   │   │   │   │   │   ├── router.context.ts
│   │   │   │   │   │   └── strategies.context.ts
│   │   │   │   │   ├── continue.tsx
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── restricted.tsx
│   │   │   │   │   ├── root.tsx
│   │   │   │   │   ├── start.tsx
│   │   │   │   │   ├── step.tsx
│   │   │   │   │   └── verifications.tsx
│   │   │   │   └── utils
│   │   │   │       ├── __tests__
│   │   │   │       │   └── map-scope-to-strategy.test.ts
│   │   │   │       ├── create-context-for-dom-validation.ts
│   │   │   │       ├── create-context-from-actor-ref.ts
│   │   │   │       ├── generate-password-error-text.ts
│   │   │   │       ├── is-react-fragment.ts
│   │   │   │       ├── is-valid-component-type.ts
│   │   │   │       ├── map-scope-to-strategy.ts
│   │   │   │       └── path-inference
│   │   │   │           ├── __tests__
│   │   │   │           │   ├── next.test.ts
│   │   │   │           │   └── utils.test.ts
│   │   │   │           ├── next.tsx
│   │   │   │           └── utils.ts
│   │   │   ├── types
│   │   │   │   ├── clerk.d.ts
│   │   │   │   ├── common.d.ts
│   │   │   │   └── global.d.ts
│   │   │   └── utils
│   │   │       ├── clerk-js.ts
│   │   │       ├── is-absolute-url.ts
│   │   │       ├── safe-access.ts
│   │   │       ├── test-utils.ts
│   │   │       └── third-party-strategies.ts
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   └── turbo.json
│   ├── expo
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── local-credentials
│   │   │   └── package.json
│   │   ├── package.json
│   │   ├── passkeys
│   │   │   └── package.json
│   │   ├── README.md
│   │   ├── resource-cache
│   │   │   └── package.json
│   │   ├── secure-store
│   │   │   └── package.json
│   │   ├── 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
│   │   │   ├── hooks
│   │   │   │   ├── __tests__
│   │   │   │   │   └── useSignInWithApple.test.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useOAuth.ts
│   │   │   │   ├── useSignInWithApple.ios.ts
│   │   │   │   ├── useSignInWithApple.ts
│   │   │   │   └── useSSO.ts
│   │   │   ├── index.ts
│   │   │   ├── local-credentials
│   │   │   │   ├── index.tsx
│   │   │   │   └── useLocalCredentials
│   │   │   │       ├── index.tsx
│   │   │   │       ├── shared.ts
│   │   │   │       ├── useLocalCredentials.ts
│   │   │   │       └── useLocalCredentials.web.ts
│   │   │   ├── passkeys
│   │   │   │   └── index.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
│   │   ├── token-cache
│   │   │   └── package.json
│   │   ├── tsconfig.declarations.json
│   │   ├── tsconfig.json
│   │   ├── tsconfig.test.json
│   │   ├── tsup.config.ts
│   │   ├── vitest.config.mts
│   │   ├── vitest.setup.mts
│   │   └── web
│   │       └── package.json
│   ├── 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
│   │   ├── subpaths.mjs
│   │   ├── tsconfig.json
│   │   └── tsup.config.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
│   │   │   │   │   ├── 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
│   │   │   ├── 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-js-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
│   │   │   │   ├── sdk-versions.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
│   │   │       ├── composables
│   │   │       │   └── index.ts
│   │   │       ├── errors.ts
│   │   │       ├── plugin.ts
│   │   │       ├── server
│   │   │       │   ├── __tests__
│   │   │       │   │   ├── auth.test-d.ts
│   │   │       │   │   └── clerkMiddleware.test.ts
│   │   │       │   ├── clerkClient.ts
│   │   │       │   ├── clerkMiddleware.ts
│   │   │       │   ├── errors.ts
│   │   │       │   ├── getAuth.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
│   │   │   ├── use-auth.md
│   │   │   ├── use-sign-in.md
│   │   │   └── use-sign-up.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
│   │   │   │   ├── useAssertWrappedByClerkProvider.ts
│   │   │   │   ├── useAuth.ts
│   │   │   │   ├── useClerkSignal.ts
│   │   │   │   ├── useEmailLink.ts
│   │   │   │   ├── useRoutingProps.ts
│   │   │   │   ├── useSignIn.ts
│   │   │   │   ├── useSignUp.ts
│   │   │   │   └── utils.ts
│   │   │   ├── index.ts
│   │   │   ├── internal.ts
│   │   │   ├── isomorphicClerk.ts
│   │   │   ├── polyfills.ts
│   │   │   ├── stateProxy.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
│   │   ├── subpaths.mjs
│   │   ├── 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
│   │   │   ├── 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
│   ├── remix
│   │   ├── api.server
│   │   │   └── package.json
│   │   ├── CHANGELOG.md
│   │   ├── errors
│   │   │   └── package.json
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── __tests__
│   │   │   │   ├── __snapshots__
│   │   │   │   │   └── exports.test.ts.snap
│   │   │   │   └── exports.test.ts
│   │   │   ├── api
│   │   │   │   └── index.ts
│   │   │   ├── client
│   │   │   │   ├── ClerkApp.tsx
│   │   │   │   ├── index.ts
│   │   │   │   ├── RemixClerkProvider.tsx
│   │   │   │   ├── RemixOptionsContext.tsx
│   │   │   │   ├── types.ts
│   │   │   │   ├── uiComponents.tsx
│   │   │   │   ├── useAwaitableNavigate.tsx
│   │   │   │   └── usePathnameWithoutSplatRouteParams.tsx
│   │   │   ├── errors.ts
│   │   │   ├── errorThrower.ts
│   │   │   ├── global.d.ts
│   │   │   ├── globalPolyfill.ts
│   │   │   ├── index.ts
│   │   │   ├── ssr
│   │   │   │   ├── authenticateRequest.ts
│   │   │   │   ├── getAuth.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── loadOptions.ts
│   │   │   │   ├── rootAuthLoader.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── utils.ts
│   │   │   └── utils
│   │   │       ├── errors.ts
│   │   │       ├── index.ts
│   │   │       └── utils.ts
│   │   ├── ssr.server
│   │   │   └── package.json
│   │   ├── tsconfig.declarations.json
│   │   ├── 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
│   │   │   │   ├── 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
│   │   │   │   ├── parseError.ts
│   │   │   │   └── webAuthNError.ts
│   │   │   ├── eventBus.ts
│   │   │   ├── file.ts
│   │   │   ├── getEnvVariable.ts
│   │   │   ├── globs.ts
│   │   │   ├── handleValueOrFn.ts
│   │   │   ├── index.ts
│   │   │   ├── isomorphicAtob.ts
│   │   │   ├── isomorphicBtoa.ts
│   │   │   ├── jwtPayloadParser.ts
│   │   │   ├── keys.ts
│   │   │   ├── loadClerkJsScript.ts
│   │   │   ├── loadScript.ts
│   │   │   ├── localStorageBroadcastChannel.ts
│   │   │   ├── logger.ts
│   │   │   ├── netlifyCacheHandler.ts
│   │   │   ├── oauth.ts
│   │   │   ├── object.ts
│   │   │   ├── organization.ts
│   │   │   ├── pathMatcher.ts
│   │   │   ├── pathToRegexp.ts
│   │   │   ├── poller.ts
│   │   │   ├── proxy.ts
│   │   │   ├── react
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── commerce.test.tsx
│   │   │   │   │   └── useReverification.spec.ts
│   │   │   │   ├── clerk-rq
│   │   │   │   │   ├── queryOptions.ts
│   │   │   │   │   ├── types.ts
│   │   │   │   │   ├── use-clerk-query-client.ts
│   │   │   │   │   ├── useBaseQuery.ts
│   │   │   │   │   └── useQuery.ts
│   │   │   │   ├── clerk-swr.ts
│   │   │   │   ├── commerce.tsx
│   │   │   │   ├── contexts.tsx
│   │   │   │   ├── hooks
│   │   │   │   │   ├── __tests__
│   │   │   │   │   │   ├── createBillingPaginatedHook.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
│   │   │   │   │   ├── createContextAndHook.ts
│   │   │   │   │   ├── index.ts
│   │   │   │   │   ├── useAPIKeys.ts
│   │   │   │   │   ├── useCheckout.ts
│   │   │   │   │   ├── useClerk.ts
│   │   │   │   │   ├── useDeepEqualMemo.ts
│   │   │   │   │   ├── useOrganization.tsx
│   │   │   │   │   ├── useOrganizationList.tsx
│   │   │   │   │   ├── usePagesOrInfinite.ts
│   │   │   │   │   ├── usePaymentAttempts.tsx
│   │   │   │   │   ├── usePaymentMethods.tsx
│   │   │   │   │   ├── usePlans.tsx
│   │   │   │   │   ├── usePreviousValue.ts
│   │   │   │   │   ├── useReverification.ts
│   │   │   │   │   ├── useSafeLayoutEffect.tsx
│   │   │   │   │   ├── useSession.ts
│   │   │   │   │   ├── useSessionList.ts
│   │   │   │   │   ├── useStatements.tsx
│   │   │   │   │   ├── useSubscription.rq.tsx
│   │   │   │   │   ├── useSubscription.swr.tsx
│   │   │   │   │   ├── useSubscription.tsx
│   │   │   │   │   ├── useSubscription.types.ts
│   │   │   │   │   └── useUser.ts
│   │   │   │   ├── index.ts
│   │   │   │   ├── providers
│   │   │   │   │   ├── SWRConfigCompat.rq.tsx
│   │   │   │   │   ├── SWRConfigCompat.swr.tsx
│   │   │   │   │   └── SWRConfigCompat.tsx
│   │   │   │   ├── stripe-react
│   │   │   │   │   ├── index.tsx
│   │   │   │   │   └── utils.ts
│   │   │   │   └── types.ts
│   │   │   ├── retry.ts
│   │   │   ├── router
│   │   │   │   ├── __tests__
│   │   │   │   │   └── router.spec.ts
│   │   │   │   ├── react.tsx
│   │   │   │   └── router.ts
│   │   │   ├── router.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
│   │   │   │   ├── appearance.ts
│   │   │   │   ├── attributes.ts
│   │   │   │   ├── authConfig.ts
│   │   │   │   ├── authObject.ts
│   │   │   │   ├── backupCode.ts
│   │   │   │   ├── billing.ts
│   │   │   │   ├── clerk.ts
│   │   │   │   ├── client.ts
│   │   │   │   ├── commerceSettings.ts
│   │   │   │   ├── customMenuItems.ts
│   │   │   │   ├── customPages.ts
│   │   │   │   ├── deletedObject.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
│   │   │   │   ├── protect.ts
│   │   │   │   ├── redirects.ts
│   │   │   │   ├── resource.ts
│   │   │   │   ├── role.ts
│   │   │   │   ├── router.ts
│   │   │   │   ├── runtime-values.ts
│   │   │   │   ├── saml.ts
│   │   │   │   ├── samlAccount.ts
│   │   │   │   ├── samlConnection.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
│   │   │   ├── 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
│   │   │   │   └── runtimeEnvironment.ts
│   │   │   ├── versionSelector.ts
│   │   │   ├── web3.ts
│   │   │   ├── webauthn.ts
│   │   │   └── workerTimers
│   │   │       ├── createWorkerTimers.ts
│   │   │       ├── index.ts
│   │   │       ├── workerTimers.built.ts
│   │   │       ├── workerTimers.types.ts
│   │   │       └── workerTimers.worker.ts
│   │   ├── subpaths.mjs
│   │   ├── 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
│   │   │   ├── 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
│   ├── themes
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── createTheme.ts
│   │   │   ├── index.ts
│   │   │   └── themes
│   │   │       ├── dark.ts
│   │   │       ├── index.ts
│   │   │       ├── neobrutalism.ts
│   │   │       ├── shadcn.css
│   │   │       ├── shadcn.ts
│   │   │       ├── shadesOfPurple.ts
│   │   │       └── simple.ts
│   │   ├── tsconfig.json
│   │   └── tsup.config.ts
│   ├── types
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   └── src
│   │       ├── index.d.mts
│   │       ├── index.d.ts
│   │       ├── index.js
│   │       └── index.mjs
│   ├── upgrade
│   │   ├── .gitignore
│   │   ├── CHANGELOG.md
│   │   ├── LICENSE
│   │   ├── package.json
│   │   ├── README.md
│   │   ├── src
│   │   │   ├── app.js
│   │   │   ├── cli.js
│   │   │   ├── codemods
│   │   │   │   ├── __tests__
│   │   │   │   │   ├── __fixtures__
│   │   │   │   │   │   ├── transform-async-request.fixtures.js
│   │   │   │   │   │   └── transform-clerk-provider-dynamic.fixtures.js
│   │   │   │   │   ├── transform-async-request.test.js
│   │   │   │   │   └── transform-clerk-provider-dynamic.test.js
│   │   │   │   ├── index.js
│   │   │   │   ├── transform-async-request.cjs
│   │   │   │   └── transform-clerk-provider-dynamic.cjs
│   │   │   ├── components
│   │   │   │   ├── Codemod.js
│   │   │   │   ├── Command.js
│   │   │   │   ├── Header.js
│   │   │   │   ├── Scan.js
│   │   │   │   ├── SDKWorkflow.js
│   │   │   │   └── UpgradeSDK.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
│   │   │   ├── util
│   │   │   │   ├── all-titles.js
│   │   │   │   ├── expandable-list.js
│   │   │   │   ├── generate-changelog.js
│   │   │   │   ├── get-clerk-version.js
│   │   │   │   ├── guess-framework.js
│   │   │   │   └── load-change.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
│   │   ├── tsconfig.json
│   │   └── vitest.config.js
│   └── vue
│       ├── CHANGELOG.md
│       ├── LICENSE
│       ├── package.json
│       ├── README.md
│       ├── src
│       │   ├── components
│       │   │   ├── __tests__
│       │   │   │   ├── 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
│       │   │       ├── 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__
│       │   │   │   └── useClerkContext.test.ts
│       │   │   ├── index.ts
│       │   │   ├── useAuth.ts
│       │   │   ├── useClerk.ts
│       │   │   ├── useClerkContext.ts
│       │   │   ├── useOrganization.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
├── patches
│   └── [email protected]
├── 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
│   ├── remix-cf-pages
│   │   ├── .gitignore
│   │   ├── .node-version
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       ├── index.tsx
│   │   │       └── sign-in.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   ├── _headers
│   │   │   ├── _routes.json
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   ├── server.js
│   │   └── tsconfig.json
│   ├── remix-cf-worker
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       └── index.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   ├── server.js
│   │   ├── tsconfig.json
│   │   └── wrangler.toml
│   ├── remix-node
│   │   ├── .gitignore
│   │   ├── app
│   │   │   ├── entry.client.tsx
│   │   │   ├── entry.server.tsx
│   │   │   ├── root.tsx
│   │   │   └── routes
│   │   │       ├── _index.tsx
│   │   │       ├── protected.tsx
│   │   │       ├── sign-in.$.tsx
│   │   │       └── sign-up.$.tsx
│   │   ├── package.json
│   │   ├── public
│   │   │   └── favicon.ico
│   │   ├── README.md
│   │   ├── remix.config.js
│   │   ├── remix.env.d.ts
│   │   └── tsconfig.json
│   ├── 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.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
│   ├── search-for-rhc.mjs
│   ├── snapshot.mjs
│   ├── subpath-workaround.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/astro/CHANGELOG.md:
--------------------------------------------------------------------------------

```markdown
   1 | # @clerk/astro
   2 | 
   3 | ## 2.14.5
   4 | 
   5 | ### Patch Changes
   6 | 
   7 | - Updated dependencies [[`a474c59`](https://github.com/clerk/javascript/commit/a474c59e3017358186de15c5b1e5b83002e72527), [`b505755`](https://github.com/clerk/javascript/commit/b505755a8da834186922e2a5db8c82e530434d18), [`5536429`](https://github.com/clerk/javascript/commit/55364291e245ff05ca1e50e614e502d2081b87fb)]:
   8 |   - @clerk/[email protected]
   9 |   - @clerk/[email protected]
  10 |   - @clerk/[email protected]
  11 | 
  12 | ## 2.14.4
  13 | 
  14 | ### Patch Changes
  15 | 
  16 | - Updated dependencies [[`85b5acc`](https://github.com/clerk/javascript/commit/85b5acc5ba192a8247f072fa93d5bc7d42986293), [`ea65d39`](https://github.com/clerk/javascript/commit/ea65d390cd6d3b0fdd35202492e858f8c8370f73), [`b09b29e`](https://github.com/clerk/javascript/commit/b09b29e82323c8fc508c49ffe10c77a737ef0bec)]:
  17 |   - @clerk/[email protected]
  18 |   - @clerk/[email protected]
  19 |   - @clerk/[email protected]
  20 | 
  21 | ## 2.14.3
  22 | 
  23 | ### Patch Changes
  24 | 
  25 | - Deprecate `@clerk/types` in favor of `@clerk/shared/types` ([#7022](https://github.com/clerk/javascript/pull/7022)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
  26 | 
  27 |   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.
  28 | 
  29 |   **Backward Compatibility:**
  30 | 
  31 |   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.
  32 | 
  33 |   **Migration Steps:**
  34 | 
  35 |   Please update your imports from `@clerk/types` to `@clerk/shared/types`:
  36 | 
  37 |   ```typescript
  38 |   // Before
  39 |   import type { ClerkResource, UserResource } from '@clerk/types';
  40 | 
  41 |   // After
  42 |   import type { ClerkResource, UserResource } from '@clerk/shared/types';
  43 |   ```
  44 | 
  45 |   **What Changed:**
  46 | 
  47 |   All type definitions including:
  48 | 
  49 |   - Resource types (User, Organization, Session, etc.)
  50 |   - API response types
  51 |   - Configuration types
  52 |   - Authentication types
  53 |   - Error types
  54 |   - And all other shared types
  55 | 
  56 |   Have been moved from `packages/types/src` to `packages/shared/src/types` and are now exported via `@clerk/shared/types`.
  57 | 
  58 | - Updated dependencies [[`3e0ef92`](https://github.com/clerk/javascript/commit/3e0ef9281194714f56dcf656d0caf4f75dcf097c), [`2587aa6`](https://github.com/clerk/javascript/commit/2587aa671dac1ca66711889bf1cd1c2e2ac8d7c8)]:
  59 |   - @clerk/[email protected]
  60 |   - @clerk/[email protected]
  61 |   - @clerk/[email protected]
  62 | 
  63 | ## 2.14.2
  64 | 
  65 | ### Patch Changes
  66 | 
  67 | - Updated dependencies [[`791ff19`](https://github.com/clerk/javascript/commit/791ff19a55ecb39eac20e1533a7d578a30386388), [`439427e`](https://github.com/clerk/javascript/commit/439427e44adef4f43e5f0719adf5654ea58c33e7), [`7dfbf3a`](https://github.com/clerk/javascript/commit/7dfbf3aa1b5269aee2d3af628b02027be9767088), [`d33b7b5`](https://github.com/clerk/javascript/commit/d33b7b5538e9bcbbca1ac23c46793d0cddcef533), [`f2644c2`](https://github.com/clerk/javascript/commit/f2644c2e7ed32012275e8379153e53672475f29f)]:
  68 |   - @clerk/[email protected]
  69 |   - @clerk/[email protected]
  70 |   - @clerk/[email protected]
  71 | 
  72 | ## 2.14.1
  73 | 
  74 | ### Patch Changes
  75 | 
  76 | - Updated dependencies [[`4d46e4e`](https://github.com/clerk/javascript/commit/4d46e4e601a5f2a213f1718af3f9271db4db0911), [`a42a015`](https://github.com/clerk/javascript/commit/a42a0157d3142dca32713f7749ffce7b4e7bb3ac), [`8ebbf1e`](https://github.com/clerk/javascript/commit/8ebbf1e6e31251b7d0c3bb5d54249572adc96b7e)]:
  77 |   - @clerk/[email protected]
  78 |   - @clerk/[email protected]
  79 |   - @clerk/[email protected]
  80 | 
  81 | ## 2.14.0
  82 | 
  83 | ### Minor Changes
  84 | 
  85 | - Add UserAvatar component ([#7009](https://github.com/clerk/javascript/pull/7009)) by [@tmilewski](https://github.com/tmilewski)
  86 | 
  87 | ### Patch Changes
  88 | 
  89 | - Updated dependencies [[`a172d51`](https://github.com/clerk/javascript/commit/a172d51df2d7f2e450c983a15ae897624304a764), [`947d0f5`](https://github.com/clerk/javascript/commit/947d0f5480b0151a392966cad2e1a45423f66035)]:
  90 |   - @clerk/[email protected]
  91 |   - @clerk/[email protected]
  92 |   - @clerk/[email protected]
  93 | 
  94 | ## 2.13.9
  95 | 
  96 | ### Patch Changes
  97 | 
  98 | - Updated dependencies [[`d8147fb`](https://github.com/clerk/javascript/commit/d8147fb58bfd6caf9a4f0a36fdc48c630d00387f)]:
  99 |   - @clerk/[email protected]
 100 |   - @clerk/[email protected]
 101 | 
 102 | ## 2.13.8
 103 | 
 104 | ### Patch Changes
 105 | 
 106 | - Updated dependencies [[`305f4ee`](https://github.com/clerk/javascript/commit/305f4eeb825086d55d1b0df198a0c43da8d94993), [`53214f9`](https://github.com/clerk/javascript/commit/53214f9a600074affc84d616bbbe7a6b625e7d33), [`1441e68`](https://github.com/clerk/javascript/commit/1441e6851102e9eed5697ad78c695f75b4a20db2), [`1236c74`](https://github.com/clerk/javascript/commit/1236c745fd58020e0972938ca0a9ae697a24af02), [`29201b2`](https://github.com/clerk/javascript/commit/29201b24847b6cdb35a96cb971fa1de958b0410a)]:
 107 |   - @clerk/[email protected]
 108 |   - @clerk/[email protected]
 109 |   - @clerk/[email protected]
 110 | 
 111 | ## 2.13.7
 112 | 
 113 | ### Patch Changes
 114 | 
 115 | - Removes `console.log` from CheckoutButton. ([#6976](https://github.com/clerk/javascript/pull/6976)) by [@panteliselef](https://github.com/panteliselef)
 116 | 
 117 | - Added internal helper type for `auth` and `getAuth()` functions that don't require a request or context parameter ([#6910](https://github.com/clerk/javascript/pull/6910)) by [@wobsoriano](https://github.com/wobsoriano)
 118 | 
 119 | - Updated dependencies [[`65b7cc7`](https://github.com/clerk/javascript/commit/65b7cc787a5f02a302b665b6eaf4d4b9a1cae4b0), [`20c2e29`](https://github.com/clerk/javascript/commit/20c2e291fe32f6038ab9e95aec268e3d98c449f1), [`6e09786`](https://github.com/clerk/javascript/commit/6e09786adeb0f481ca8b6d060ae8754b556a3f9a), [`aa7210c`](https://github.com/clerk/javascript/commit/aa7210c7fff34f6c6e2d4ca3cb736bbd35439cb6), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`56a81aa`](https://github.com/clerk/javascript/commit/56a81aaa59e95ee25f8eb49bee78975ee377e1c7), [`1a2eee6`](https://github.com/clerk/javascript/commit/1a2eee6b8b6ead2d0481e93104fcaed6452bd1b9), [`22b8e49`](https://github.com/clerk/javascript/commit/22b8e49f9fb65d55ab737d11f1f57a25bf947511), [`2cd53cd`](https://github.com/clerk/javascript/commit/2cd53cd8c713dfa7f2e802fe08986411587095fa), [`348021d`](https://github.com/clerk/javascript/commit/348021d837ba66fd3f510148213f374ae2e969a8), [`1a2430a`](https://github.com/clerk/javascript/commit/1a2430a166fb1df5fbca76437c63423b18a49ced), [`31a04fc`](https://github.com/clerk/javascript/commit/31a04fc2b783f01cd4848c1e681af3b30e57bb2f), [`9766c4a`](https://github.com/clerk/javascript/commit/9766c4afd26f2841d6f79dbdec2584ef8becd22f), [`fe873dc`](https://github.com/clerk/javascript/commit/fe873dc94c2614e8cc670e3add13e170bcf85338), [`22b8e49`](https://github.com/clerk/javascript/commit/22b8e49f9fb65d55ab737d11f1f57a25bf947511), [`a66357e`](https://github.com/clerk/javascript/commit/a66357e8a5928199aebde408ec7cfaac152c2c42), [`dacc1af`](https://github.com/clerk/javascript/commit/dacc1af22e1d1af0940b2d626b8a47d376c19342)]:
 120 |   - @clerk/[email protected]
 121 |   - @clerk/[email protected]
 122 |   - @clerk/[email protected]
 123 | 
 124 | ## 2.13.6
 125 | 
 126 | ### Patch Changes
 127 | 
 128 | - Updated dependencies [[`fba4781`](https://github.com/clerk/javascript/commit/fba4781ff2a2d16f8934029fa6fb77d70953f2be), [`a1f6714`](https://github.com/clerk/javascript/commit/a1f671480cda6f978db059ba0640d4ed8b08f112)]:
 129 |   - @clerk/[email protected]
 130 |   - @clerk/[email protected]
 131 |   - @clerk/[email protected]
 132 | 
 133 | ## 2.13.5
 134 | 
 135 | ### Patch Changes
 136 | 
 137 | - Updated dependencies [[`04cba7d`](https://github.com/clerk/javascript/commit/04cba7d34f91dc28f9c957bba8231c6942f657e3), [`f737d26`](https://github.com/clerk/javascript/commit/f737d268aa167889a4f3f7aba2658c2ba1fd909a), [`8777f35`](https://github.com/clerk/javascript/commit/8777f350f5fb51413609a53d9de05b2e5d1d7cfe), [`2c0128b`](https://github.com/clerk/javascript/commit/2c0128b05ecf48748f27f10f0b0215a279ba6cc1)]:
 138 |   - @clerk/[email protected]
 139 |   - @clerk/[email protected]
 140 |   - @clerk/[email protected]
 141 | 
 142 | ## 2.13.4
 143 | 
 144 | ### Patch Changes
 145 | 
 146 | - Updated dependencies [[`ea2bc26`](https://github.com/clerk/javascript/commit/ea2bc260fadac8fd7480cd476046f5a06c0d917d), [`37028ca`](https://github.com/clerk/javascript/commit/37028caad59cb0081ac74e70a44e4a419082a999)]:
 147 |   - @clerk/[email protected]
 148 |   - @clerk/[email protected]
 149 |   - @clerk/[email protected]
 150 | 
 151 | ## 2.13.3
 152 | 
 153 | ### Patch Changes
 154 | 
 155 | - Updated dependencies [[`e3e77eb`](https://github.com/clerk/javascript/commit/e3e77eb277c6b36847265db7b863c418e3708ab6), [`9cf89cd`](https://github.com/clerk/javascript/commit/9cf89cd3402c278e8d5bfcd8277cee292bc45333), [`090ca74`](https://github.com/clerk/javascript/commit/090ca742c590bc4f369cf3e1ca2ec9917410ffe4), [`b8fbadd`](https://github.com/clerk/javascript/commit/b8fbadd95652b08ecea23fdbc7e352e3e7297b2d), [`5546352`](https://github.com/clerk/javascript/commit/55463527df9a710ef3215c353bab1ef423d1de62)]:
 156 |   - @clerk/[email protected]
 157 |   - @clerk/[email protected]
 158 |   - @clerk/[email protected]
 159 | 
 160 | ## 2.13.2
 161 | 
 162 | ### Patch Changes
 163 | 
 164 | - Updated dependencies [[`8d1514a`](https://github.com/clerk/javascript/commit/8d1514a99743ec64d2a05de7f01dd9081e02bd0d), [`a8ba926`](https://github.com/clerk/javascript/commit/a8ba926109704e31b097f3545e61910abc76d99a), [`41e0a41`](https://github.com/clerk/javascript/commit/41e0a4190b33dd2c4bdc0d536bbe83fcf99af9b0), [`1aa9e9f`](https://github.com/clerk/javascript/commit/1aa9e9f10c051319e9ff4b1a0ecd71507bd6a6aa), [`1ad3b92`](https://github.com/clerk/javascript/commit/1ad3b92019361bc3350e429a840aa0dd4d0be089), [`a88ee58`](https://github.com/clerk/javascript/commit/a88ee5827adee0cc8a62246d03a3034d8566fe21), [`d6c7bbb`](https://github.com/clerk/javascript/commit/d6c7bbba23f38c0b3ca7edebb53028a05c7b38e6)]:
 165 |   - @clerk/[email protected]
 166 |   - @clerk/[email protected]
 167 |   - @clerk/[email protected]
 168 | 
 169 | ## 2.13.1
 170 | 
 171 | ### Patch Changes
 172 | 
 173 | - Updated dependencies [[`bcf24f2`](https://github.com/clerk/javascript/commit/bcf24f2f91913fa0dd3fbf02b3bbef345c4e1ea9), [`0006c82`](https://github.com/clerk/javascript/commit/0006c82fb023f4fc39e49350b5440940dcf6deba), [`7c976b4`](https://github.com/clerk/javascript/commit/7c976b4da2dc621e872846097723291dab09476f), [`1ceedad`](https://github.com/clerk/javascript/commit/1ceedad4bc5bc3d5f01c95185f82ff0f43983cf5), [`de90ede`](https://github.com/clerk/javascript/commit/de90ede82664b58bef9e294498384cf2c99a331e), [`9d4a95c`](https://github.com/clerk/javascript/commit/9d4a95c766396a0bc327fbf0560228bedb4828eb), [`428cd57`](https://github.com/clerk/javascript/commit/428cd57a8581a58a6a42325ec50eb98000068e97)]:
 174 |   - @clerk/[email protected]
 175 |   - @clerk/[email protected]
 176 |   - @clerk/[email protected]
 177 | 
 178 | ## 2.13.0
 179 | 
 180 | ### Minor Changes
 181 | 
 182 | - Expose billing buttons as experimental ([#6583](https://github.com/clerk/javascript/pull/6583)) by [@panteliselef](https://github.com/panteliselef)
 183 | 
 184 | - [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)
 185 | 
 186 | ### Patch Changes
 187 | 
 188 | - Updated dependencies [[`b598581`](https://github.com/clerk/javascript/commit/b598581ae673ca42fac713ee9e1a0f04b56cb8de), [`19f18f8`](https://github.com/clerk/javascript/commit/19f18f818d7c69eb2ecd27b727c403e9b00f4401), [`23948dc`](https://github.com/clerk/javascript/commit/23948dc777ec6a17bafbae59c253a93143b0e105), [`7382e13`](https://github.com/clerk/javascript/commit/7382e1384a67a2648e077d9ce677eb5424987322), [`24d0742`](https://github.com/clerk/javascript/commit/24d0742ec8453ab7ca01e81e7b4b15eed014ab81), [`82b84fe`](https://github.com/clerk/javascript/commit/82b84fed5f207673071ba7354a17f4a76e101201), [`54b4b5a`](https://github.com/clerk/javascript/commit/54b4b5a5f811f612fadf5c47ffda94a750c57a5e), [`50a8622`](https://github.com/clerk/javascript/commit/50a8622c3579306f15e5d40e5ea72b4fe4384ef7), [`939df73`](https://github.com/clerk/javascript/commit/939df73f393eefcf930481ee6f5c7f913e2e26b3), [`23948dc`](https://github.com/clerk/javascript/commit/23948dc777ec6a17bafbae59c253a93143b0e105)]:
 189 |   - @clerk/[email protected]
 190 |   - @clerk/[email protected]
 191 |   - @clerk/[email protected]
 192 | 
 193 | ## 2.12.0
 194 | 
 195 | ### Minor Changes
 196 | 
 197 | - Introduces machine authentication, supporting four token types: `api_key`, `oauth_token`, `m2m_token`, and `session_token`. For backwards compatibility, `session_token` remains the default when no token type is specified. This enables machine-to-machine authentication and use cases such as API keys and OAuth integrations. Existing applications continue to work without modification. ([#6671](https://github.com/clerk/javascript/pull/6671)) by [@wobsoriano](https://github.com/wobsoriano)
 198 | 
 199 |   You can specify which token types are allowed by using the `acceptsToken` option in the `auth()` local. This option can be set to a specific type, an array of types, or `'any'` to accept all supported tokens.
 200 | 
 201 |   Example usage in endpoints:
 202 | 
 203 |   ```ts
 204 |   export const GET: APIRoute = ({ locals }) => {
 205 |     const authObject = locals.auth({ acceptsToken: 'any' });
 206 | 
 207 |     if (authObject.tokenType === 'session_token') {
 208 |       console.log('this is session token from a user');
 209 |     } else {
 210 |       console.log('this is some other type of machine token (api_key | oauth_token | m2m_token)');
 211 |       console.log('more specifically, a ' + authObject.tokenType);
 212 |     }
 213 | 
 214 |     return new Response(JSON.stringify({}));
 215 |   };
 216 |   ```
 217 | 
 218 |   In middleware:
 219 | 
 220 |   ```ts
 221 |   import { clerkMiddleware, createRouteMatcher } from '@clerk/astro/server';
 222 | 
 223 |   const isProtectedRoute = createRouteMatcher(['/api(.*)']);
 224 | 
 225 |   export const onRequest = clerkMiddleware((auth, context) => {
 226 |     const { userId } = auth({ acceptsToken: 'api_key' });
 227 | 
 228 |     if (!userId && isProtectedRoute(context.request)) {
 229 |       return new Response('Unauthorized', { status: 401 });
 230 |     }
 231 |   });
 232 |   ```
 233 | 
 234 | ### Patch Changes
 235 | 
 236 | - Updated dependencies [[`55490c3`](https://github.com/clerk/javascript/commit/55490c31fadc82bdca6cd5f2b22e5e158aaba0cb), [`e8d21de`](https://github.com/clerk/javascript/commit/e8d21de39b591973dad48fc1d1851c4d28b162fe), [`63fa204`](https://github.com/clerk/javascript/commit/63fa2042b821096d4f962832ff3c10ad1b7ddf0e), [`637f2e8`](https://github.com/clerk/javascript/commit/637f2e8768b76aaf756062b6b5b44bf651f66789)]:
 237 |   - @clerk/[email protected]
 238 |   - @clerk/[email protected]
 239 |   - @clerk/[email protected]
 240 | 
 241 | ## 2.11.11
 242 | 
 243 | ### Patch Changes
 244 | 
 245 | - Updated dependencies [[`fced4fc`](https://github.com/clerk/javascript/commit/fced4fc869bb21c77826dfaf281b6640e0f0c006), [`e6e19d2`](https://github.com/clerk/javascript/commit/e6e19d2d2f3b2c4617b25f53830216a1d550e616), [`1b1e8b1`](https://github.com/clerk/javascript/commit/1b1e8b1fd33b787f956b17b193e5fd0a4cdc6cec)]:
 246 |   - @clerk/[email protected]
 247 |   - @clerk/[email protected]
 248 |   - @clerk/[email protected]
 249 | 
 250 | ## 2.11.10
 251 | 
 252 | ### Patch Changes
 253 | 
 254 | - Updated dependencies [[`c1049f0`](https://github.com/clerk/javascript/commit/c1049f0956b9821a1a177c4be64c748122b0f084), [`5e94f0a`](https://github.com/clerk/javascript/commit/5e94f0a87cfcfb6407b916bd72f15a2d7dcc2406)]:
 255 |   - @clerk/[email protected]
 256 | 
 257 | ## 2.11.9
 258 | 
 259 | ### Patch Changes
 260 | 
 261 | - 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), [`c19f936`](https://github.com/clerk/javascript/commit/c19f93603d6c52c5f62fe4a36fe53845424fd0ad)]:
 262 |   - @clerk/[email protected]
 263 |   - @clerk/[email protected]
 264 |   - @clerk/[email protected]
 265 | 
 266 | ## 2.11.8
 267 | 
 268 | ### Patch Changes
 269 | 
 270 | - Updated dependencies [[`600c648`](https://github.com/clerk/javascript/commit/600c648d4087a823341041c90018797fbc0033f0)]:
 271 |   - @clerk/[email protected]
 272 |   - @clerk/[email protected]
 273 |   - @clerk/[email protected]
 274 | 
 275 | ## 2.11.7
 276 | 
 277 | ### Patch Changes
 278 | 
 279 | - Updated dependencies [[`f49ec31`](https://github.com/clerk/javascript/commit/f49ec3167df8e85344963c1f952d9b886946f127), [`d52714e`](https://github.com/clerk/javascript/commit/d52714e4cb7f369c74826cd4341c58eb1900abe4), [`822e4a1`](https://github.com/clerk/javascript/commit/822e4a19c1ad29309cf6bf91ca1fbbac4464a62b), [`ce49740`](https://github.com/clerk/javascript/commit/ce49740d474d6dd9da5096982ea4e9f14cf68f09), [`ba7f3fd`](https://github.com/clerk/javascript/commit/ba7f3fd71a0a925dfe0fb3b30648df666714d6b8), [`9036427`](https://github.com/clerk/javascript/commit/903642793ae205c5e5d9e9d22ff3e95665641871), [`2ed539c`](https://github.com/clerk/javascript/commit/2ed539cc7f08ed4d70c33621563ad386ea8becc5), [`deaafe4`](https://github.com/clerk/javascript/commit/deaafe449773632d690aa2f8cafaf959392622b9), [`a26ecae`](https://github.com/clerk/javascript/commit/a26ecae09fd06cd34f094262f038a8eefbb23f7d), [`c16a7a5`](https://github.com/clerk/javascript/commit/c16a7a5837fc15e0e044baf9c809b8da6fbac795), [`05b6d65`](https://github.com/clerk/javascript/commit/05b6d65c0bc5736443325a5defee4c263ef196af), [`453cf86`](https://github.com/clerk/javascript/commit/453cf86381c5df6684b37b003984a6fafc443fb4)]:
 280 |   - @clerk/[email protected]
 281 |   - @clerk/[email protected]
 282 |   - @clerk/[email protected]
 283 | 
 284 | ## 2.11.6
 285 | 
 286 | ### Patch Changes
 287 | 
 288 | - Updated dependencies [[`e52bf8e`](https://github.com/clerk/javascript/commit/e52bf8ebef74a9e123c69b69acde1340c01d32d7), [`c043c19`](https://github.com/clerk/javascript/commit/c043c1919854aaa5b9cf7f6df5bb517f5617f7a1), [`7bb644a`](https://github.com/clerk/javascript/commit/7bb644ad8a7bf28c6010aad6ae0c36f587529fcc), [`c28d29c`](https://github.com/clerk/javascript/commit/c28d29c79bb4f144d782313ca72df7db91a77340), [`172e054`](https://github.com/clerk/javascript/commit/172e054a3511be12d16ba19037db320c2d9838bf)]:
 289 |   - @clerk/[email protected]
 290 |   - @clerk/[email protected]
 291 |   - @clerk/[email protected]
 292 | 
 293 | ## 2.11.5
 294 | 
 295 | ### Patch Changes
 296 | 
 297 | - 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)]:
 298 |   - @clerk/[email protected]
 299 |   - @clerk/[email protected]
 300 |   - @clerk/[email protected]
 301 | 
 302 | ## 2.11.4
 303 | 
 304 | ### Patch Changes
 305 | 
 306 | - Updated dependencies [[`413468c`](https://github.com/clerk/javascript/commit/413468c9b9c8fb7576f8e4cbdccff98784e33fef), [`7b7eb1f`](https://github.com/clerk/javascript/commit/7b7eb1fc0235249c5c179239078294118f2947cd)]:
 307 |   - @clerk/[email protected]
 308 |   - @clerk/[email protected]
 309 |   - @clerk/[email protected]
 310 | 
 311 | ## 2.11.3
 312 | 
 313 | ### Patch Changes
 314 | 
 315 | - Updated dependencies [[`5b24129`](https://github.com/clerk/javascript/commit/5b24129ddcfc2f7dc6eb79d8c818b4ff97c68e9a)]:
 316 |   - @clerk/[email protected]
 317 |   - @clerk/[email protected]
 318 |   - @clerk/[email protected]
 319 | 
 320 | ## 2.11.2
 321 | 
 322 | ### Patch Changes
 323 | 
 324 | - Updated dependencies [[`4db1e58`](https://github.com/clerk/javascript/commit/4db1e58d70b60e1e236709b507666715d571e925), [`d400782`](https://github.com/clerk/javascript/commit/d400782b7016c1232c0aa1e3399c61b61e4f0709), [`69498df`](https://github.com/clerk/javascript/commit/69498dfca3e6bb388eb8c94313eac06347dd5a27), [`307dc3f`](https://github.com/clerk/javascript/commit/307dc3f05ba1bd3b30b491b198d9e65eebcc95f9), [`2db7431`](https://github.com/clerk/javascript/commit/2db743147827fb69fb8fe73a1e26545aeb7be7aa), [`59f1559`](https://github.com/clerk/javascript/commit/59f15593bab708b9e13eebfff6780c2d52b31b0a)]:
 325 |   - @clerk/[email protected]
 326 |   - @clerk/[email protected]
 327 |   - @clerk/[email protected]
 328 | 
 329 | ## 2.11.1
 330 | 
 331 | ### Patch Changes
 332 | 
 333 | - Updated dependencies [[`15fe106`](https://github.com/clerk/javascript/commit/15fe1060f730a6a4391f3d2451d23edd3218e1ae), [`df63e76`](https://github.com/clerk/javascript/commit/df63e76f2382c601d9a3b52a3a6dfaba26c4f36f), [`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)]:
 334 |   - @clerk/[email protected]
 335 |   - @clerk/[email protected]
 336 |   - @clerk/[email protected]
 337 | 
 338 | ## 2.11.0
 339 | 
 340 | ### Minor Changes
 341 | 
 342 | - Remove `treatPendingAsSignedOut` from Clerk options ([#6497](https://github.com/clerk/javascript/pull/6497)) by [@LauraBeatris](https://github.com/LauraBeatris)
 343 | 
 344 | ### Patch Changes
 345 | 
 346 | - 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), [`0ff648a`](https://github.com/clerk/javascript/commit/0ff648aeac0e2f5481596a98c8046d9d58a7bf75), [`9084759`](https://github.com/clerk/javascript/commit/90847593300be605e1ee1c06dac147ce68b25dc7)]:
 347 |   - @clerk/[email protected]
 348 |   - @clerk/[email protected]
 349 |   - @clerk/[email protected]
 350 | 
 351 | ## 2.10.15
 352 | 
 353 | ### Patch Changes
 354 | 
 355 | - Add ability to define a machine secret key to Clerk BAPI client function ([#6479](https://github.com/clerk/javascript/pull/6479)) by [@wobsoriano](https://github.com/wobsoriano)
 356 | 
 357 |   ```ts
 358 |   const clerkClient = createClerkClient({ machineSecretKey: 'ak_xxxxx' })
 359 | 
 360 |   clerkClient.m2mTokens.create({...})
 361 |   ```
 362 | 
 363 | - Updated dependencies [[`1ad16da`](https://github.com/clerk/javascript/commit/1ad16daa49795a861ae277001831230580b6b9f4), [`4edef81`](https://github.com/clerk/javascript/commit/4edef81dd423a0471e3f579dd6b36094aa8546aa), [`6ff416f`](https://github.com/clerk/javascript/commit/6ff416f4b35fc01ba7dca61abe4698d7d1460dee), [`e82f177`](https://github.com/clerk/javascript/commit/e82f1775de889eb9cac444cb26b69fb5de1e2d05), [`696f8e1`](https://github.com/clerk/javascript/commit/696f8e11a3e5391e6b5a97d98e929b8973575b9a), [`f318d22`](https://github.com/clerk/javascript/commit/f318d22cf83caaef272bcf532561a03ca72575e7), [`0d27281`](https://github.com/clerk/javascript/commit/0d272815b216f7a7538b5633cb397d6cd2695b73), [`1cc66ab`](https://github.com/clerk/javascript/commit/1cc66aba1c0adac24323876e4cc3d96be888b07b)]:
 364 |   - @clerk/[email protected]
 365 |   - @clerk/[email protected]
 366 |   - @clerk/[email protected]
 367 | 
 368 | ## 2.10.14
 369 | 
 370 | ### Patch Changes
 371 | 
 372 | - Updated dependencies [[`9368daf`](https://github.com/clerk/javascript/commit/9368dafb119b5a8ec6a9d6d82270e72bab6d8f1e), [`f93965f`](https://github.com/clerk/javascript/commit/f93965f64c81030f9fcf9d1cc4e4984d30cd12ec), [`7b6dcee`](https://github.com/clerk/javascript/commit/7b6dceea5bfd7f1cc1bf24126aa715307e24ae7f), [`ef87617`](https://github.com/clerk/javascript/commit/ef87617ae1fd125c806a33bfcfdf09c885319fa8)]:
 373 |   - @clerk/[email protected]
 374 |   - @clerk/[email protected]
 375 |   - @clerk/[email protected]
 376 | 
 377 | ## 2.10.13
 378 | 
 379 | ### Patch Changes
 380 | 
 381 | - Fix `async_hooks` import for better Cloudflare compatibility. ([#6287](https://github.com/clerk/javascript/pull/6287)) by [@mlafeldt](https://github.com/mlafeldt)
 382 | 
 383 | - Updated dependencies [[`7a46679`](https://github.com/clerk/javascript/commit/7a46679a004739a7f712097c5779e9f5c068722e), [`05cc5ec`](https://github.com/clerk/javascript/commit/05cc5ecd82ecdbcc9922d3286224737a81813be0), [`22c35ef`](https://github.com/clerk/javascript/commit/22c35efb59226df2efaa2891fa4775c13312f4c6), [`8c7e5bb`](https://github.com/clerk/javascript/commit/8c7e5bb887e95e38a186a18609dd6fc93b6a3cda), [`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)]:
 384 |   - @clerk/[email protected]
 385 |   - @clerk/[email protected]
 386 |   - @clerk/[email protected]
 387 | 
 388 | ## 2.10.12
 389 | 
 390 | ### Patch Changes
 391 | 
 392 | - Updated dependencies [[`e404456`](https://github.com/clerk/javascript/commit/e4044566bca81f63c8e9c630fdec0f498ad6fc08), [`2803133`](https://github.com/clerk/javascript/commit/28031330a9810946feb44b93be10c067fb3b63ba), [`f1d9d34`](https://github.com/clerk/javascript/commit/f1d9d3482a796dd5f7796ede14159850e022cba2), [`0bdd0df`](https://github.com/clerk/javascript/commit/0bdd0dfdae49e2548081e68767addf9065b2b8f9), [`d58b959`](https://github.com/clerk/javascript/commit/d58b9594cf65158e87dbaa90d632c45f543373e1), [`232d7d3`](https://github.com/clerk/javascript/commit/232d7d37cd1bc2a4e106f1972dc395373502168d), [`822ba1f`](https://github.com/clerk/javascript/commit/822ba1fd5e7daf665120cf183e4600a227098d53), [`af615b8`](https://github.com/clerk/javascript/commit/af615b89838e46bd441d41da6a6dde29e3edf595), [`d4d2612`](https://github.com/clerk/javascript/commit/d4d2612483baf356c389ef0ba5084059025481f2)]:
 393 |   - @clerk/[email protected]
 394 |   - @clerk/[email protected]
 395 |   - @clerk/[email protected]
 396 | 
 397 | ## 2.10.11
 398 | 
 399 | ### Patch Changes
 400 | 
 401 | - Updated dependencies [[`2bbeaf3`](https://github.com/clerk/javascript/commit/2bbeaf30faa0f961b766c87c17e424ba9ecc4517), [`b0fdc9e`](https://github.com/clerk/javascript/commit/b0fdc9eaf764ca0c17cbe0810b7d240f6d9db0b6)]:
 402 |   - @clerk/[email protected]
 403 |   - @clerk/[email protected]
 404 |   - @clerk/[email protected]
 405 | 
 406 | ## 2.10.10
 407 | 
 408 | ### Patch Changes
 409 | 
 410 | - Updated dependencies [[`cd59c0e`](https://github.com/clerk/javascript/commit/cd59c0e5512a341dd8fb420aca583333c8243aa5), [`cd59c0e`](https://github.com/clerk/javascript/commit/cd59c0e5512a341dd8fb420aca583333c8243aa5)]:
 411 |   - @clerk/[email protected]
 412 |   - @clerk/[email protected]
 413 |   - @clerk/[email protected]
 414 | 
 415 | ## 2.10.9
 416 | 
 417 | ### Patch Changes
 418 | 
 419 | - Updated dependencies [[`fecc99d`](https://github.com/clerk/javascript/commit/fecc99d43cb7db5b99863829acb234cbce0da264), [`959d63d`](https://github.com/clerk/javascript/commit/959d63de27e5bfe27b46699b441dfd4e48616bf8), [`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)]:
 420 |   - @clerk/[email protected]
 421 |   - @clerk/[email protected]
 422 |   - @clerk/[email protected]
 423 | 
 424 | ## 2.10.8
 425 | 
 426 | ### Patch Changes
 427 | 
 428 | - Ensure proper typing for `SignUpButton` and only allow `unsafeMetadata={...}` when `mode="modal"` ([#6340](https://github.com/clerk/javascript/pull/6340)) by [@tmilewski](https://github.com/tmilewski)
 429 | 
 430 | - Updated dependencies [[`d2f6f9e`](https://github.com/clerk/javascript/commit/d2f6f9e02036a4288916fcce14f24be5d56561c4), [`a329836`](https://github.com/clerk/javascript/commit/a329836a6c64f0a551a277ccae07043456a70523), [`5fbf8df`](https://github.com/clerk/javascript/commit/5fbf8df84b6d47082a76047451274790b8579b2d), [`6041c39`](https://github.com/clerk/javascript/commit/6041c39a31e787a6065dbc3f21e1c569982a06de), [`3f1270d`](https://github.com/clerk/javascript/commit/3f1270db86a21ead0ed6f0bd4f9986485203e973), [`1d9c409`](https://github.com/clerk/javascript/commit/1d9c409d10cc88667e354664d66c5f74b8bf4ca7), [`df49349`](https://github.com/clerk/javascript/commit/df4934983ee60246cd9df217afd7384aad556387)]:
 431 |   - @clerk/[email protected]
 432 |   - @clerk/[email protected]
 433 |   - @clerk/[email protected]
 434 | 
 435 | ## 2.10.7
 436 | 
 437 | ### Patch Changes
 438 | 
 439 | - Updated dependencies [[`2a90b68`](https://github.com/clerk/javascript/commit/2a90b689550ae960496c9292ca23e0225e3425cd), [`af50905`](https://github.com/clerk/javascript/commit/af50905ea497ed3286c8c4c374498e06ca6ee82b)]:
 440 |   - @clerk/[email protected]
 441 |   - @clerk/[email protected]
 442 |   - @clerk/[email protected]
 443 | 
 444 | ## 2.10.6
 445 | 
 446 | ### Patch Changes
 447 | 
 448 | - Updated dependencies [[`8ee859c`](https://github.com/clerk/javascript/commit/8ee859ce00d1d5747c14a80fe7166303e64a4f1f)]:
 449 |   - @clerk/[email protected]
 450 |   - @clerk/[email protected]
 451 |   - @clerk/[email protected]
 452 | 
 453 | ## 2.10.5
 454 | 
 455 | ### Patch Changes
 456 | 
 457 | - 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)]:
 458 |   - @clerk/[email protected]
 459 |   - @clerk/[email protected]
 460 |   - @clerk/[email protected]
 461 | 
 462 | ## 2.10.4
 463 | 
 464 | ### Patch Changes
 465 | 
 466 | - Updated dependencies [[`2be6a53`](https://github.com/clerk/javascript/commit/2be6a53959cb8a3127c2eb5d1aeb4248872d2c24), [`f6a1c35`](https://github.com/clerk/javascript/commit/f6a1c35bd5fb4bd2a3cd45bdaf9defe6be59d4a9), [`6826d0b`](https://github.com/clerk/javascript/commit/6826d0bbd03e844d49224565878a4326684f06b4), [`f6a1c35`](https://github.com/clerk/javascript/commit/f6a1c35bd5fb4bd2a3cd45bdaf9defe6be59d4a9), [`8fdb209`](https://github.com/clerk/javascript/commit/8fdb20913b0b0f88244099f6c6a7b979e0f79327), [`97a07f7`](https://github.com/clerk/javascript/commit/97a07f78b4b0c3dc701a2610097ec7d6232f79e7), [`e3da9f4`](https://github.com/clerk/javascript/commit/e3da9f4a17a2a5f71d7e02a81b86d6002c93cc59)]:
 467 |   - @clerk/[email protected]
 468 |   - @clerk/[email protected]
 469 |   - @clerk/[email protected]
 470 | 
 471 | ## 2.10.3
 472 | 
 473 | ### Patch Changes
 474 | 
 475 | - Updated dependencies [[`f42c4fe`](https://github.com/clerk/javascript/commit/f42c4fedfdab873129b876eba38b3677f190b460), [`ec207dc`](https://github.com/clerk/javascript/commit/ec207dcd2a13340cfa4e3b80d3d52d1b4e7d5f23), [`ec207dc`](https://github.com/clerk/javascript/commit/ec207dcd2a13340cfa4e3b80d3d52d1b4e7d5f23), [`0e0cc1f`](https://github.com/clerk/javascript/commit/0e0cc1fa85347d727a4fd3718fe45b0f0244ddd9)]:
 476 |   - @clerk/[email protected]
 477 |   - @clerk/[email protected]
 478 |   - @clerk/[email protected]
 479 | 
 480 | ## 2.10.2
 481 | 
 482 | ### Patch Changes
 483 | 
 484 | - Updated dependencies [[`c2f24da`](https://github.com/clerk/javascript/commit/c2f24dab96c052b2748a210eef45540f788654aa), [`abd8446`](https://github.com/clerk/javascript/commit/abd844609dad263d974da7fbf5e3575afce73abe), [`8387a39`](https://github.com/clerk/javascript/commit/8387a392a04906f0f10d84c61cfee36f23942f85), [`feba23c`](https://github.com/clerk/javascript/commit/feba23c85d1ff94930de61f3b6961e2ebb2f65ce), [`f2a6641`](https://github.com/clerk/javascript/commit/f2a66419b1813abc86ea98fde7475861995a1486), [`de9c01a`](https://github.com/clerk/javascript/commit/de9c01ac683f52c1919e1584faba087f92a0ca22), [`a8638b0`](https://github.com/clerk/javascript/commit/a8638b02f0daff780f3aef038983714db21db558), [`3b4b3cb`](https://github.com/clerk/javascript/commit/3b4b3cb941a1a503ce51e086e7bdd663c2a1ddc2)]:
 485 |   - @clerk/[email protected]
 486 |   - @clerk/[email protected]
 487 |   - @clerk/[email protected]
 488 | 
 489 | ## 2.10.1
 490 | 
 491 | ### Patch Changes
 492 | 
 493 | - Extract internal `ProtectProps` type to shared types to eliminate duplication across SDKs ([#6197](https://github.com/clerk/javascript/pull/6197)) by [@wobsoriano](https://github.com/wobsoriano)
 494 | 
 495 | - Updated dependencies [[`02a1f42`](https://github.com/clerk/javascript/commit/02a1f42dfdb28ea956d6cbd3fbabe10093d2fad8), [`edc0bfd`](https://github.com/clerk/javascript/commit/edc0bfdae929dad78a99dfd6275aad947d9ddd73)]:
 496 |   - @clerk/[email protected]
 497 |   - @clerk/[email protected]
 498 |   - @clerk/[email protected]
 499 | 
 500 | ## 2.10.0
 501 | 
 502 | ### Minor Changes
 503 | 
 504 | - Introduce feature or plan based authorization ([#6188](https://github.com/clerk/javascript/pull/6188)) by [@wobsoriano](https://github.com/wobsoriano)
 505 | 
 506 |   ## `<Protect />`
 507 | 
 508 |   ### Plan
 509 | 
 510 |   ```html
 511 |   <Protect plan="my-plan" />
 512 |   ```
 513 | 
 514 |   ### Feature
 515 | 
 516 |   ```html
 517 |   <Protect feature="my-feature" />
 518 |   ```
 519 | 
 520 |   ### Scoped per user or per org
 521 | 
 522 |   ```html
 523 |   <Protect feature="org:my-feature" />
 524 |   <Protect feature="user:my-feature" />
 525 |   <Protect plan="org:my-plan" />
 526 |   <Protect plan="user:my-plan" />
 527 |   ```
 528 | 
 529 |   ## `useAuth()` in React
 530 | 
 531 |   ### Plan
 532 | 
 533 |   ```ts
 534 |   const { has } = useAuth();
 535 |   has({ plan: 'my-plan' });
 536 |   ```
 537 | 
 538 |   ### Feature
 539 | 
 540 |   ```ts
 541 |   const { has } = useAuth();
 542 |   has({ feature: 'my-feature' });
 543 |   ```
 544 | 
 545 |   ### Scoped per user or per org
 546 | 
 547 |   ```ts
 548 |   const { has } = useAuth();
 549 | 
 550 |   has({ feature: 'org:my-feature' });
 551 |   has({ feature: 'user:my-feature' });
 552 |   has({ plan: 'user:my-plan' });
 553 |   has({ plan: 'org:my-plan' });
 554 |   ```
 555 | 
 556 | ### Patch Changes
 557 | 
 558 | - Updated dependencies [[`f1be1fe`](https://github.com/clerk/javascript/commit/f1be1fe3d575c11acd04fc7aadcdec8f89829894), [`8bfdf94`](https://github.com/clerk/javascript/commit/8bfdf94646c54a5e13fcb81ebcb9df0209dbc6a1), [`bffb42a`](https://github.com/clerk/javascript/commit/bffb42aaf266a188b9ae7d16ace3024d468a3bd4), [`084e7cc`](https://github.com/clerk/javascript/commit/084e7cc5f6f6d101059bc8a6d60dc73f3262ef2f)]:
 559 |   - @clerk/[email protected]
 560 |   - @clerk/[email protected]
 561 |   - @clerk/[email protected]
 562 | 
 563 | ## 2.9.2
 564 | 
 565 | ### Patch Changes
 566 | 
 567 | - Updated dependencies [[`b495279`](https://github.com/clerk/javascript/commit/b4952796e3c7dee4ab4726de63a17b7f4265ce37), [`c3fa15d`](https://github.com/clerk/javascript/commit/c3fa15d60642b4fcbcf26e21caaca0fc60975795), [`628583a`](https://github.com/clerk/javascript/commit/628583a27ffd72521475e06f91e6f592ee87ba47), [`52d5e57`](https://github.com/clerk/javascript/commit/52d5e5768d54725b4d20d028135746493e05d44c), [`15a945c`](https://github.com/clerk/javascript/commit/15a945c02a9f6bc8d2f7d1e3534217100bf45936), [`10f3dda`](https://github.com/clerk/javascript/commit/10f3dda2beff0ce71a52c2f15c07094110078be2), [`72629b0`](https://github.com/clerk/javascript/commit/72629b06fb1fe720fa2a61462306a786a913e9a8), [`2692124`](https://github.com/clerk/javascript/commit/2692124a79369a9289ee18009667231d7e27b9ed)]:
 568 |   - @clerk/[email protected]
 569 |   - @clerk/[email protected]
 570 |   - @clerk/[email protected]
 571 | 
 572 | ## 2.9.1
 573 | 
 574 | ### Patch Changes
 575 | 
 576 | - Updated dependencies [[`19e9e11`](https://github.com/clerk/javascript/commit/19e9e11af04f13fd12975fbf7016fe0583202056), [`18bcb64`](https://github.com/clerk/javascript/commit/18bcb64a3e8b6d352d7933ed094d68214e6e80fb), [`2148166`](https://github.com/clerk/javascript/commit/214816654850272297056eebad3d846b7f8125c9), [`4319257`](https://github.com/clerk/javascript/commit/4319257dc424f121231a26bef2068cef1e78afd4), [`607d333`](https://github.com/clerk/javascript/commit/607d3331f893bc98d1a8894f57b1cb9021e71b86), [`138f733`](https://github.com/clerk/javascript/commit/138f733f13121487268a4f96e6eb2cffedc6e238), [`4118ed7`](https://github.com/clerk/javascript/commit/4118ed7c8fb13ca602401f8d663e7bcd6f6abee4), [`d832d91`](https://github.com/clerk/javascript/commit/d832d9179ff615f2799c832ec5fd9f3d79c6a940), [`6842ff1`](https://github.com/clerk/javascript/commit/6842ff1c903eaa0db161f533365a2e680995ce83), [`48be55b`](https://github.com/clerk/javascript/commit/48be55b61a86e014dd407414764d24bb43fd26f3), [`183e382`](https://github.com/clerk/javascript/commit/183e3823e4ff70e856b00a347369c38a4264105a), [`2c6f805`](https://github.com/clerk/javascript/commit/2c6f805a9e6e4685990f9a8abc740b2d0859a453), [`97749d5`](https://github.com/clerk/javascript/commit/97749d570bc687c7e05cd800a50e0ae4180a371d)]:
 577 |   - @clerk/[email protected]
 578 |   - @clerk/[email protected]
 579 |   - @clerk/[email protected]
 580 | 
 581 | ## 2.9.0
 582 | 
 583 | ### Minor Changes
 584 | 
 585 | - Machine authentication is now supported for advanced use cases via the backend SDK. You can use `clerkClient.authenticateRequest` to validate machine tokens (such as API keys, OAuth tokens, and machine-to-machine tokens). No new helpers are included in these packages yet. ([#5689](https://github.com/clerk/javascript/pull/5689)) by [@wobsoriano](https://github.com/wobsoriano)
 586 | 
 587 |   Example (Astro):
 588 | 
 589 |   ```ts
 590 |   import { clerkClient } from '@clerk/astro/server';
 591 | 
 592 |   export const GET: APIRoute = ({ request }) => {
 593 |     const requestState = await clerkClient.authenticateRequest(request, {
 594 |       acceptsToken: 'api_key',
 595 |     });
 596 | 
 597 |     if (!requestState.isAuthenticated) {
 598 |       return new Response(401, { message: 'Unauthorized' });
 599 |     }
 600 | 
 601 |     return new Response(JSON.stringify(requestState.toAuth()));
 602 |   };
 603 |   ```
 604 | 
 605 | - The `svix` dependency is no longer needed when using the `verifyWebhook()` function. `verifyWebhook()` was refactored to not rely on `svix` anymore while keeping the same functionality and behavior. ([#6059](https://github.com/clerk/javascript/pull/6059)) by [@royanger](https://github.com/royanger)
 606 | 
 607 |   If you previously installed `svix` to use `verifyWebhook()` you can uninstall it now:
 608 | 
 609 |   ```shell
 610 |   npm uninstall svix
 611 |   ```
 612 | 
 613 | ### Patch Changes
 614 | 
 615 | - Introduce `getAuthObjectFromJwt` as internal utility function that centralizes the logic for generating auth objects from session JWTs. ([#6053](https://github.com/clerk/javascript/pull/6053)) by [@LauraBeatris](https://github.com/LauraBeatris)
 616 | 
 617 | - Updated dependencies [[`ea622ba`](https://github.com/clerk/javascript/commit/ea622bae90e18ae2ea8dbc6c94cad857557539c9), [`d8fa5d9`](https://github.com/clerk/javascript/commit/d8fa5d9d3d8dc575260d8d2b7c7eeeb0052d0b0d), [`be2e89c`](https://github.com/clerk/javascript/commit/be2e89ca11aa43d48f74c57a5a34e20d85b4003c), [`c656270`](https://github.com/clerk/javascript/commit/c656270f9e05fd1f44fc4c81851be0b1111cb933), [`5644d94`](https://github.com/clerk/javascript/commit/5644d94f711a0733e4970c3f15c24d56cafc8743), [`b578225`](https://github.com/clerk/javascript/commit/b5782258242474c9b0987a3f8349836cd763f24b), [`918e2e0`](https://github.com/clerk/javascript/commit/918e2e085bf88c3cfaa5fcb0f1ae8c31b3f7053e), [`795d09a`](https://github.com/clerk/javascript/commit/795d09a652f791e1e409406e335e0860aceda110), [`4f93634`](https://github.com/clerk/javascript/commit/4f93634ed6bcd45f21bddcb39a33434b1cb560fe), [`8838120`](https://github.com/clerk/javascript/commit/8838120596830b88fec1c6c853371dabfec74a0d)]:
 618 |   - @clerk/[email protected]
 619 |   - @clerk/[email protected]
 620 |   - @clerk/[email protected]
 621 | 
 622 | ## 2.8.2
 623 | 
 624 | ### Patch Changes
 625 | 
 626 | - Updated dependencies [[`5421421`](https://github.com/clerk/javascript/commit/5421421644b5c017d58ee6583c12d6c253e29c33), [`f897773`](https://github.com/clerk/javascript/commit/f89777379da63cf45039c1570b51ba10a400817c), [`1c97fd0`](https://github.com/clerk/javascript/commit/1c97fd06b28db9fde6c14dbeb0935e13696be539), [`2c6a0cc`](https://github.com/clerk/javascript/commit/2c6a0cca6e824bafc6b0d0501784517a5b1f75ea), [`71e6a1f`](https://github.com/clerk/javascript/commit/71e6a1f1024d65b7a09cdc8fa81ce0164e0a34cb)]:
 627 |   - @clerk/[email protected]
 628 |   - @clerk/[email protected]
 629 |   - @clerk/[email protected]
 630 | 
 631 | ## 2.8.1
 632 | 
 633 | ### Patch Changes
 634 | 
 635 | - Updated dependencies [[`6ed3dfc`](https://github.com/clerk/javascript/commit/6ed3dfc1bc742ac9d9a2307fe8e4733411cbc0d7), [`22c3363`](https://github.com/clerk/javascript/commit/22c33631f7f54b4f2179bf16f548fee1a237976e), [`ac6b231`](https://github.com/clerk/javascript/commit/ac6b23147e5e0aa21690cc20a109ed9a8c8f6e5b)]:
 636 |   - @clerk/[email protected]
 637 |   - @clerk/[email protected]
 638 |   - @clerk/[email protected]
 639 | 
 640 | ## 2.8.0
 641 | 
 642 | ### Minor Changes
 643 | 
 644 | - Introduce `treatPendingAsSignedOut` option to `getAuth` and `auth` from `clerkMiddleware` ([#5757](https://github.com/clerk/javascript/pull/5757)) by [@LauraBeatris](https://github.com/LauraBeatris)
 645 | 
 646 |   By default, `treatPendingAsSignedOut` is set to `true`, which means pending sessions are treated as signed-out. You can set this option to `false` to treat pending sessions as authenticated.
 647 | 
 648 |   ```ts
 649 |   // `pending` sessions will be treated as signed-out by default
 650 |   const { userId } = getAuth(req, locals);
 651 |   ```
 652 | 
 653 |   ```ts
 654 |   // Both `active` and `pending` sessions will be treated as authenticated when `treatPendingAsSignedOut` is false
 655 |   const { userId } = getAuth(req, locals, { treatPendingAsSignedOut: false });
 656 |   ```
 657 | 
 658 |   ```ts
 659 |   clerkMiddleware((auth, context) => {
 660 |     const { redirectToSignIn, userId } = auth({ treatPendingAsSignedOut: false });
 661 | 
 662 |     // Both `active` and `pending` sessions will be treated as authenticated when `treatPendingAsSignedOut` is false
 663 |     if (!userId && isProtectedRoute(context.request)) {
 664 |       return redirectToSignIn();
 665 |     }
 666 |   });
 667 |   ```
 668 | 
 669 | ### Patch Changes
 670 | 
 671 | - Updated dependencies [[`ced8912`](https://github.com/clerk/javascript/commit/ced8912e8c9fb7eb7846de6ca9a872e794d9e15d), [`f237d76`](https://github.com/clerk/javascript/commit/f237d7617e5398ca0ba981e4336cac2191505b00), [`5f1375b`](https://github.com/clerk/javascript/commit/5f1375ba7cc50cccb11d5aee03bfd4c3d1bf462f)]:
 672 |   - @clerk/[email protected]
 673 |   - @clerk/[email protected]
 674 | 
 675 | ## 2.7.5
 676 | 
 677 | ### Patch Changes
 678 | 
 679 | - Updated dependencies [[`c305b31`](https://github.com/clerk/javascript/commit/c305b310e351e9ce2012f805b35e464c3e43e310), [`b813cbe`](https://github.com/clerk/javascript/commit/b813cbe29252ab9710f355cecd4511172aea3548), [`6bb480e`](https://github.com/clerk/javascript/commit/6bb480ef663a6dfa219bc9546aca087d5d9624d0)]:
 680 |   - @clerk/[email protected]
 681 |   - @clerk/[email protected]
 682 |   - @clerk/[email protected]
 683 | 
 684 | ## 2.7.4
 685 | 
 686 | ### Patch Changes
 687 | 
 688 | - 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)]:
 689 |   - @clerk/[email protected]
 690 |   - @clerk/[email protected]
 691 |   - @clerk/[email protected]
 692 | 
 693 | ## 2.7.3
 694 | 
 695 | ### Patch Changes
 696 | 
 697 | - Updated dependencies [[`1ff6d6e`](https://github.com/clerk/javascript/commit/1ff6d6efbe838b3f7f6977b2b5215c2cafd715f6), [`fbf3cf4`](https://github.com/clerk/javascript/commit/fbf3cf4916469c4e118870bf12efca2d0f77d9d8)]:
 698 |   - @clerk/[email protected]
 699 |   - @clerk/[email protected]
 700 |   - @clerk/[email protected]
 701 | 
 702 | ## 2.7.2
 703 | 
 704 | ### Patch Changes
 705 | 
 706 | - Export `<CreateOrganization />` Astro component ([#5876](https://github.com/clerk/javascript/pull/5876)) by [@wobsoriano](https://github.com/wobsoriano)
 707 | 
 708 |   Usage:
 709 | 
 710 |   ```astro
 711 |   ---
 712 |   import { CreateOrganization } from '@clerk/astro/components';
 713 |   ---
 714 | 
 715 |   <CreateOrganization />
 716 |   ```
 717 | 
 718 | - Updated dependencies [[`0769a9b`](https://github.com/clerk/javascript/commit/0769a9b4a44ec7046a3b99a3d58bddd173970990), [`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)]:
 719 |   - @clerk/[email protected]
 720 |   - @clerk/[email protected]
 721 |   - @clerk/[email protected]
 722 | 
 723 | ## 2.7.1
 724 | 
 725 | ### Patch Changes
 726 | 
 727 | - 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)]:
 728 |   - @clerk/[email protected]
 729 |   - @clerk/[email protected]
 730 |   - @clerk/[email protected]
 731 | 
 732 | ## 2.7.0
 733 | 
 734 | ### Minor Changes
 735 | 
 736 | - Add `<PricingTable />` component to the SDK. Learn more about it in the [Clerk Billing guide](https://clerk.com/docs/billing/overview). ([#5774](https://github.com/clerk/javascript/pull/5774)) by [@octoper](https://github.com/octoper)
 737 | 
 738 | ### Patch Changes
 739 | 
 740 | - 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), [`ed10566`](https://github.com/clerk/javascript/commit/ed1056637624eec5bfd50333407c1e63e34c193b), [`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)]:
 741 |   - @clerk/[email protected]
 742 |   - @clerk/[email protected]
 743 |   - @clerk/[email protected]
 744 | 
 745 | ## 2.6.13
 746 | 
 747 | ### Patch Changes
 748 | 
 749 | - Updated dependencies [[`9ec0a73`](https://github.com/clerk/javascript/commit/9ec0a7353e9f6ea661c3d7b9542423b6eb1d29e9), [`d9222fc`](https://github.com/clerk/javascript/commit/d9222fc3c21da2bcae30b06f0b1897f526935582)]:
 750 |   - @clerk/[email protected]
 751 |   - @clerk/[email protected]
 752 |   - @clerk/[email protected]
 753 | 
 754 | ## 2.6.12
 755 | 
 756 | ### Patch Changes
 757 | 
 758 | - Updated dependencies [[`225b9ca`](https://github.com/clerk/javascript/commit/225b9ca21aba44930872a85d6b112ee2a1b606b9)]:
 759 |   - @clerk/[email protected]
 760 |   - @clerk/[email protected]
 761 |   - @clerk/[email protected]
 762 | 
 763 | ## 2.6.11
 764 | 
 765 | ### Patch Changes
 766 | 
 767 | - Updated dependencies [[`be1c5d6`](https://github.com/clerk/javascript/commit/be1c5d67b27852303dc8148e3be514473ce3e190), [`a122121`](https://github.com/clerk/javascript/commit/a122121e4fe55148963ed85b99ff24ba02a2d170)]:
 768 |   - @clerk/[email protected]
 769 | 
 770 | ## 2.6.10
 771 | 
 772 | ### Patch Changes
 773 | 
 774 | - 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)
 775 | 
 776 | - Updated dependencies [[`387bf62`](https://github.com/clerk/javascript/commit/387bf623406306e0c5c08da937f4930a7ec5e4a5), [`2716622`](https://github.com/clerk/javascript/commit/27166224e12af582298460d438bd7f83ea8e04bf), [`294da82`](https://github.com/clerk/javascript/commit/294da82336e7a345900d7ef9b28f56a7c8864c52), [`4a8fe40`](https://github.com/clerk/javascript/commit/4a8fe40dc7c6335d4cf90e2532ceda2c7ad66a3b)]:
 777 |   - @clerk/[email protected]
 778 |   - @clerk/[email protected]
 779 |   - @clerk/[email protected]
 780 | 
 781 | ## 2.6.9
 782 | 
 783 | ### Patch Changes
 784 | 
 785 | - 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)]:
 786 |   - @clerk/[email protected]
 787 |   - @clerk/[email protected]
 788 |   - @clerk/[email protected]
 789 | 
 790 | ## 2.6.8
 791 | 
 792 | ### Patch Changes
 793 | 
 794 | - Updated dependencies [[`ba19465`](https://github.com/clerk/javascript/commit/ba194654b15d326bf0ab1b2bf0cab608042d20ec), [`8b25035`](https://github.com/clerk/javascript/commit/8b25035aa49382fe1cd1c6f30ec80e86bcf9d66e)]:
 795 |   - @clerk/[email protected]
 796 |   - @clerk/[email protected]
 797 |   - @clerk/[email protected]
 798 | 
 799 | ## 2.6.7
 800 | 
 801 | ### Patch Changes
 802 | 
 803 | - 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)]:
 804 |   - @clerk/[email protected]
 805 |   - @clerk/[email protected]
 806 |   - @clerk/[email protected]
 807 | 
 808 | ## 2.6.6
 809 | 
 810 | ### Patch Changes
 811 | 
 812 | - 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)]:
 813 |   - @clerk/[email protected]
 814 |   - @clerk/[email protected]
 815 |   - @clerk/[email protected]
 816 | 
 817 | ## 2.6.5
 818 | 
 819 | ### Patch Changes
 820 | 
 821 | - Improve JSDoc comments ([#5630](https://github.com/clerk/javascript/pull/5630)) by [@LekoArts](https://github.com/LekoArts)
 822 | 
 823 | - 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), [`00f16e4`](https://github.com/clerk/javascript/commit/00f16e4c62fc9e965c352a4fd199c7fad8704f79), [`bb35660`](https://github.com/clerk/javascript/commit/bb35660884d04c8a426790ed439592e33434c87f), [`efb5d8c`](https://github.com/clerk/javascript/commit/efb5d8c03b14f6c2b5ecaed55a09869abe76ebbc), [`c2712e7`](https://github.com/clerk/javascript/commit/c2712e7f288271c022b5586b8b4718f57c9b6007), [`aa93f7f`](https://github.com/clerk/javascript/commit/aa93f7f94b5e146eb7166244f7e667213fa210ca), [`a7f3ebc`](https://github.com/clerk/javascript/commit/a7f3ebc63adbab274497ca24279862d2788423c7), [`d3fa403`](https://github.com/clerk/javascript/commit/d3fa4036b7768134131c008c087a90a841f225e5), [`f6ef841`](https://github.com/clerk/javascript/commit/f6ef841125ff21ca8cae731d1f47f3a101d887e1), [`6cba4e2`](https://github.com/clerk/javascript/commit/6cba4e28e904779dd448a7c29d761fcf53465dbf), [`fb6aa20`](https://github.com/clerk/javascript/commit/fb6aa20abe1c0c8579ba8f07343474f915bc22c6), [`e634830`](https://github.com/clerk/javascript/commit/e6348301ab56a7868f24c1b9a4dd9e1d60f6027b), [`f8887b2`](https://github.com/clerk/javascript/commit/f8887b2cbd145e8e49bec890e8b6e02e34178d6a)]:
 824 |   - @clerk/[email protected]
 825 |   - @clerk/[email protected]
 826 |   - @clerk/[email protected]
 827 | 
 828 | ## 2.6.4
 829 | 
 830 | ### Patch Changes
 831 | 
 832 | - Updated dependencies [[`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`950ffed`](https://github.com/clerk/javascript/commit/950ffedd5ce93678274c721400fc7464bb1e2f99), [`d3e6c32`](https://github.com/clerk/javascript/commit/d3e6c32864487bb9c4dec361866ec2cd427b7cd0), [`e4d04ae`](https://github.com/clerk/javascript/commit/e4d04aea490ab67e3431729398d3f4c46fc3e7e7), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`93068ea`](https://github.com/clerk/javascript/commit/93068ea9eb19d8c8b9c7ade35d0cd860e08049fc), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`431a821`](https://github.com/clerk/javascript/commit/431a821b590835bcf6193a4cbdd234c5e763e08c), [`103bc03`](https://github.com/clerk/javascript/commit/103bc03571c8845df205f4c6fd0c871c3368d1d0), [`a0cc247`](https://github.com/clerk/javascript/commit/a0cc24764cc2229abae97f7c9183b413609febc7), [`85ed003`](https://github.com/clerk/javascript/commit/85ed003e65802ac02d69d7b671848938c9816c45), [`48438b4`](https://github.com/clerk/javascript/commit/48438b409036088701bda7e1e732d6a51bee8cdc), [`e60e3aa`](https://github.com/clerk/javascript/commit/e60e3aa41630b987b6a481643caf67d70584f2e1), [`65712dc`](https://github.com/clerk/javascript/commit/65712dccb3f3f2bc6028e53406e3f7f31622e961), [`9ee0531`](https://github.com/clerk/javascript/commit/9ee0531c81d1bb260ec0f87130d8394d7825b6d4), [`78d22d4`](https://github.com/clerk/javascript/commit/78d22d443446ac1c0d30b1b93aaf5cddde75a9a3), [`196dcb4`](https://github.com/clerk/javascript/commit/196dcb47928bd22a3382197f8594a590f688faee)]:
 833 |   - @clerk/[email protected]
 834 |   - @clerk/[email protected]
 835 |   - @clerk/[email protected]
 836 | 
 837 | ## 2.6.3
 838 | 
 839 | ### Patch Changes
 840 | 
 841 | - Updated dependencies [[`70c9db9`](https://github.com/clerk/javascript/commit/70c9db9f3b51ba034f76e0cc4cf338e7b406d9b1), [`554242e`](https://github.com/clerk/javascript/commit/554242e16e50c92a6afb6ed74c681b04b9f113b5), [`cc1f9a0`](https://github.com/clerk/javascript/commit/cc1f9a0adb7771b615b0f2994a5ac571b59889dd), [`8186cb5`](https://github.com/clerk/javascript/commit/8186cb564575ac3ce97079ec203865bf5deb05ee)]:
 842 |   - @clerk/[email protected]
 843 |   - @clerk/[email protected]
 844 |   - @clerk/[email protected]
 845 | 
 846 | ## 2.6.2
 847 | 
 848 | ### Patch Changes
 849 | 
 850 | - Fixes issue with `useAuth()` erroring due to missing auth context on static output. ([#5567](https://github.com/clerk/javascript/pull/5567)) by [@panteliselef](https://github.com/panteliselef)
 851 | 
 852 | - Updated dependencies [[`3ad3bc8`](https://github.com/clerk/javascript/commit/3ad3bc8380b354b0cd952eb58eb6c07650efa0f2), [`3ad3bc8`](https://github.com/clerk/javascript/commit/3ad3bc8380b354b0cd952eb58eb6c07650efa0f2), [`cfa94b8`](https://github.com/clerk/javascript/commit/cfa94b88476608edf8c2486e8ec0d3f3f82e0bfb), [`2033919`](https://github.com/clerk/javascript/commit/203391964857b98dae11944799d1e6328439e838), [`1b34bcb`](https://github.com/clerk/javascript/commit/1b34bcb17e1a7f22644c0ea073857c528a8f81b7), [`5f3cc46`](https://github.com/clerk/javascript/commit/5f3cc460b6b775b5a74746758b8cff11649a877a)]:
 853 |   - @clerk/[email protected]
 854 |   - @clerk/[email protected]
 855 |   - @clerk/[email protected]
 856 | 
 857 | ## 2.6.1
 858 | 
 859 | ### Patch Changes
 860 | 
 861 | - Updated dependencies [[`f6f275d`](https://github.com/clerk/javascript/commit/f6f275dac5ae83ac0c2016a85a6a0cee9513f224)]:
 862 |   - @clerk/[email protected]
 863 |   - @clerk/[email protected]
 864 |   - @clerk/[email protected]
 865 | 
 866 | ## 2.6.0
 867 | 
 868 | ### Minor Changes
 869 | 
 870 | - Update `useAuth` to handle pending sessions as signed-out by default, with opt-out via `useAuth({ treatPendingAsSignedOut: false })` or `clerk({ treatPendingAsSignedOut: false })` ([#5507](https://github.com/clerk/javascript/pull/5507)) by [@LauraBeatris](https://github.com/LauraBeatris)
 871 | 
 872 | ### Patch Changes
 873 | 
 874 | - Introduce `treatPendingAsSignedOut` prop to client control components ([#5512](https://github.com/clerk/javascript/pull/5512)) by [@LauraBeatris](https://github.com/LauraBeatris)
 875 | 
 876 |   ```tsx
 877 |   // Children node only mounts when session is active
 878 |   // Example: Organization selection must be completed if enforced
 879 |   <SignedIn>
 880 |     <p>You have selected an organization!</p>
 881 |   </SignedIn>
 882 |   ```
 883 | 
 884 |   ```tsx
 885 |   // Children node mounts for both active and pending session
 886 |   <SignedIn treatPendingAsSignedOut={false}>
 887 |     <p>You might not have an organization selected</p>
 888 |   </SignedIn>
 889 |   ```
 890 | 
 891 |   ```tsx
 892 |   // Children node only mounts when session is active
 893 |   // Example: Organization selection must be completed if enforced
 894 |   <Protect>
 895 |     <p>You have selected an organization!</p>
 896 |   </Protect>
 897 |   ```
 898 | 
 899 |   ```tsx
 900 |   // Children node mounts for both active and pending session
 901 |   <Protect treatPendingAsSignedOut={false}>
 902 |     <p>You might not have an organization selected</p>
 903 |   </Protect>
 904 |   ```
 905 | 
 906 | - 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), [`6112420`](https://github.com/clerk/javascript/commit/6112420889f1577fb16d7bfa706aaffe1090093d), [`2cceeba`](https://github.com/clerk/javascript/commit/2cceeba177ecf5a28138da308cbba18015e3a646), [`9b25e31`](https://github.com/clerk/javascript/commit/9b25e311cf5e15f896c7948faa42ace45df364c5)]:
 907 |   - @clerk/[email protected]
 908 |   - @clerk/[email protected]
 909 |   - @clerk/[email protected]
 910 | 
 911 | ## 2.5.0
 912 | 
 913 | ### Minor Changes
 914 | 
 915 | - Introduce a `verifyWebhook()` function to verify incoming Clerk webhook requests and process the payload. This function handles webhook signature verification using `Svix` and is now available across all backend and fullstack SDKs. ([#5468](https://github.com/clerk/javascript/pull/5468)) by [@wobsoriano](https://github.com/wobsoriano)
 916 | 
 917 |   To get started, install [`svix`](https://www.npmjs.com/package/svix), which Clerk uses to verify its webhooks:
 918 | 
 919 |   ```shell
 920 |   npm install svix
 921 |   ```
 922 | 
 923 |   Then in your webhook route handler, import `verifyWebhook()` from the Astro SDK:
 924 | 
 925 |   ```ts
 926 |   // pages/api/webhooks.ts
 927 |   import { verifyWebhook } from '@clerk/astro/webhooks';
 928 | 
 929 |   export const POST = ({ request }) => {
 930 |     try {
 931 |       const evt = await verifyWebhook(request);
 932 | 
 933 |       // Do something with payload
 934 |       const { id } = evt.data;
 935 |       const eventType = evt.type;
 936 |       console.log(`Received webhook with ID ${id} and event type of ${eventType}`);
 937 |       console.log('Webhook payload:', body);
 938 | 
 939 |       return new Response('Webhook received', { status: 200 });
 940 |     } catch (err) {
 941 |       console.error('Error: Could not verify webhook:', err);
 942 |       return new Response('Error: Verification error', {
 943 |         status: 400,
 944 |       });
 945 |     }
 946 |   };
 947 |   ```
 948 | 
 949 |   For more information on how to sync Clerk data to your app with webhooks, [see our guide](https://clerk.com/docs/webhooks/sync-data).
 950 | 
 951 | - Redirect to tasks on `auth.protect` and `auth.redirectToSignIn` ([#5440](https://github.com/clerk/javascript/pull/5440)) by [@LauraBeatris](https://github.com/LauraBeatris)
 952 | 
 953 | ### Patch Changes
 954 | 
 955 | - Remove telemtry event from `clerkMiddleware()`. ([#5501](https://github.com/clerk/javascript/pull/5501)) by [@brkalow](https://github.com/brkalow)
 956 | 
 957 | - Updated dependencies [[`60a9a51`](https://github.com/clerk/javascript/commit/60a9a51dff7d59e7397536586cf1cfe029bc021b), [`e984494`](https://github.com/clerk/javascript/commit/e984494416dda9a6f04acaaba61f8c2683090961), [`cd6ee92`](https://github.com/clerk/javascript/commit/cd6ee92d5b427ca548216f429ca4e31c6acd263c), [`ec4521b`](https://github.com/clerk/javascript/commit/ec4521b4fe56602f524a0c6d1b09d21aef5d8bd0), [`38828ae`](https://github.com/clerk/javascript/commit/38828ae58d6d4e8e3c60945284930179b2b6bb40), [`f30fa75`](https://github.com/clerk/javascript/commit/f30fa750754f19030f932a666d2bdbdf0d86743d), [`9c68678`](https://github.com/clerk/javascript/commit/9c68678e87047e6312b708b775ebfb23a3e22f8a), [`fe065a9`](https://github.com/clerk/javascript/commit/fe065a934c583174ad4c140e04dedbe6d88fc3a0), [`619cde8`](https://github.com/clerk/javascript/commit/619cde8c532d635d910ebbc08ad6abcc025694b4)]:
 958 |   - @clerk/[email protected]
 959 |   - @clerk/[email protected]
 960 |   - @clerk/[email protected]
 961 | 
 962 | ## 2.4.5
 963 | 
 964 | ### Patch Changes
 965 | 
 966 | - Updated dependencies [[`e20fb6b`](https://github.com/clerk/javascript/commit/e20fb6b397fb69c9d5af4e321267b82f12a5f127), [`77e6462`](https://github.com/clerk/javascript/commit/77e64628560cab688af214edb5922e67cd68a951)]:
 967 |   - @clerk/[email protected]
 968 |   - @clerk/[email protected]
 969 |   - @clerk/[email protected]
 970 | 
 971 | ## 2.4.4
 972 | 
 973 | ### Patch Changes
 974 | 
 975 | - Updated dependencies [[`1da28a2`](https://github.com/clerk/javascript/commit/1da28a28bf602069b433c15b92df21f682779294), [`a9b618d`](https://github.com/clerk/javascript/commit/a9b618dfa97a0dacc462186c8b2588ad5ddb6902), [`f20dc15`](https://github.com/clerk/javascript/commit/f20dc159f542449e7f5b437b70d3eb3ba04d6975), [`4d9f1ee`](https://github.com/clerk/javascript/commit/4d9f1ee8c22fe1e4a166ff054d0af4d37b829f0a)]:
 976 |   - @clerk/[email protected]
 977 |   - @clerk/[email protected]
 978 |   - @clerk/[email protected]
 979 | 
 980 | ## 2.4.3
 981 | 
 982 | ### Patch Changes
 983 | 
 984 | - Updated dependencies [[`27d66a5`](https://github.com/clerk/javascript/commit/27d66a5b252afd18a3491b2746ef2f2f05632f2a), [`466ed13`](https://github.com/clerk/javascript/commit/466ed136af73b59b267d92ad3296039d1c3a4fcc)]:
 985 |   - @clerk/[email protected]
 986 |   - @clerk/[email protected]
 987 |   - @clerk/[email protected]
 988 | 
 989 | ## 2.4.2
 990 | 
 991 | ### Patch Changes
 992 | 
 993 | - Updated dependencies [[`892bc0e`](https://github.com/clerk/javascript/commit/892bc0eee9e0bb04d327eb84b44201fa34806483), [`892bc0e`](https://github.com/clerk/javascript/commit/892bc0eee9e0bb04d327eb84b44201fa34806483)]:
 994 |   - @clerk/[email protected]
 995 |   - @clerk/[email protected]
 996 | 
 997 | ## 2.4.1
 998 | 
 999 | ### Patch Changes
1000 | 
1001 | - Updated dependencies [[`facefaf`](https://github.com/clerk/javascript/commit/facefafdaf6d602de0acee9218c66c61a0a9ba24), [`3910ebe`](https://github.com/clerk/javascript/commit/3910ebea85817273f18fd2f3f142dd1c728e2220), [`e513333`](https://github.com/clerk/javascript/commit/e5133330a196c5c3742634cc9c3d3233ff488b0d)]:
1002 |   - @clerk/[email protected]
1003 |   - @clerk/[email protected]
1004 |   - @clerk/[email protected]
1005 | 
1006 | ## 2.4.0
1007 | 
1008 | ### Minor Changes
1009 | 
1010 | - Deprecate out of date jwt types in favour of existing that are up-to-date. ([#5354](https://github.com/clerk/javascript/pull/5354)) by [@panteliselef](https://github.com/panteliselef)
1011 | 
1012 | ### Patch Changes
1013 | 
1014 | - Updated dependencies [[`725918d`](https://github.com/clerk/javascript/commit/725918df2e74cea15e9b748aaf103a52df8e8500), [`10247ba`](https://github.com/clerk/javascript/commit/10247ba2d08d98d6c440b254a4b786f4f1e8967a), [`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), [`5601a15`](https://github.com/clerk/javascript/commit/5601a15e69a7d5e2496dcd82541ca3e6d73b0a3f), [`0b18bb1`](https://github.com/clerk/javascript/commit/0b18bb1fe6fa3ded97547bb6b4d2c73030aad329), [`021bc5f`](https://github.com/clerk/javascript/commit/021bc5f40044d34e49956ce3c9b61d833d815b42), [`1a61390`](https://github.com/clerk/javascript/commit/1a61390d3482bd4af58508b972ad89dea56fa224)]:
1015 |   - @clerk/[email protected]
1016 |   - @clerk/[email protected]
1017 |   - @clerk/[email protected]
1018 | 
1019 | ## 2.3.3
1020 | 
1021 | ### Patch Changes
1022 | 
1023 | - Updated dependencies [[`8182f6711e25cc4a78baa95b023a4158280b31e8`](https://github.com/clerk/javascript/commit/8182f6711e25cc4a78baa95b023a4158280b31e8), [`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)]:
1024 |   - @clerk/[email protected]
1025 |   - @clerk/[email protected]
1026 |   - @clerk/[email protected]
1027 | 
1028 | ## 2.3.2
1029 | 
1030 | ### Patch Changes
1031 | 
1032 | - Updated dependencies [[`67f1743aa1e0705d89ee6b532007f2686929240b`](https://github.com/clerk/javascript/commit/67f1743aa1e0705d89ee6b532007f2686929240b)]:
1033 |   - @clerk/[email protected]
1034 | 
1035 | ## 2.3.1
1036 | 
1037 | ### Patch Changes
1038 | 
1039 | - Updated dependencies [[`4fa5e27e33d229492c77e06ca4b26d552ff3d92f`](https://github.com/clerk/javascript/commit/4fa5e27e33d229492c77e06ca4b26d552ff3d92f), [`29a44b0e5c551e52915f284545699010a87e1a48`](https://github.com/clerk/javascript/commit/29a44b0e5c551e52915f284545699010a87e1a48), [`4d7761a24af5390489653923165e55cbf69a8a6d`](https://github.com/clerk/javascript/commit/4d7761a24af5390489653923165e55cbf69a8a6d)]:
1040 |   - @clerk/[email protected]
1041 | 
1042 | ## 2.3.0
1043 | 
1044 | ### Minor Changes
1045 | 
1046 | - Introduce `protect-fallback` slot to avoid naming conflicts with Astro's server islands [`fallback` slot](https://docs.astro.build/en/guides/server-islands/#server-island-fallback-content). ([#5196](https://github.com/clerk/javascript/pull/5196)) by [@wobsoriano](https://github.com/wobsoriano)
1047 | 
1048 |   When using Clerk's `<Protect>` component with `server:defer`, you can now use both slots:
1049 | 
1050 |   - `fallback`: Default loading content
1051 |   - `protect-fallback`: Shows when a user doesn't have the `role` or `permission` to access the protected content
1052 | 
1053 |   Regular usage without server islands:
1054 | 
1055 |   ```astro
1056 |   <Protect role='admin'>
1057 |     <p slot='fallback'>Not an admin</p>
1058 |     <p>You're an admin</p>
1059 |   </Protect>
1060 |   ```
1061 | 
1062 |   Example with server islands:
1063 | 
1064 |   ```astro
1065 |   <Protect
1066 |     server:defer
1067 |     role='admin'
1068 |   >
1069 |     <p slot='fallback'>Loading...</p>
1070 |     <p slot='protect-fallback'>Not an admin</p>
1071 |     <p>You're an admin</p>
1072 |   </Protect>
1073 |   ```
1074 | 
1075 | - Surface new `pending` session as a signed-in state ([#5136](https://github.com/clerk/javascript/pull/5136)) by [@LauraBeatris](https://github.com/LauraBeatris)
1076 | 
1077 | ### Patch Changes
1078 | 
1079 | - The [`exports` map](https://nodejs.org/api/packages.html#conditional-exports) inside `package.json` has been slightly adjusted to allow for [`require(esm)`](https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/) to work correctly. The `"import"` conditions have been changed to `"default"`. ([#5188](https://github.com/clerk/javascript/pull/5188)) by [@LekoArts](https://github.com/LekoArts)
1080 | 
1081 |   You shouldn't see any change in behavior/functionality on your end.
1082 | 
1083 | - Updated dependencies [[`28179323d9891bd13625e32c5682a3276e73cdae`](https://github.com/clerk/javascript/commit/28179323d9891bd13625e32c5682a3276e73cdae), [`7ae77b74326e378bf161e29886ee82e1556d9840`](https://github.com/clerk/javascript/commit/7ae77b74326e378bf161e29886ee82e1556d9840), [`c5c246ce91c01db9f1eaccbd354f646bcd24ec0a`](https://github.com/clerk/javascript/commit/c5c246ce91c01db9f1eaccbd354f646bcd24ec0a), [`bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a`](https://github.com/clerk/javascript/commit/bcbe5f6382ebcc70ef4fddb950d052bf6b7d693a), [`382c30240f563e58bc4d4832557c6825da40ce7f`](https://github.com/clerk/javascript/commit/382c30240f563e58bc4d4832557c6825da40ce7f)]:
1084 |   - @clerk/[email protected]
1085 |   - @clerk/[email protected]
1086 |   - @clerk/[email protected]
1087 | 
1088 | ## 2.2.1
1089 | 
1090 | ### Patch Changes
1091 | 
1092 | - Updated dependencies [[`d76c4699990b8477745c2584b1b98d5c92f9ace6`](https://github.com/clerk/javascript/commit/d76c4699990b8477745c2584b1b98d5c92f9ace6), [`a9b0087fca3f427f65907b358d9b5bc0c95921d8`](https://github.com/clerk/javascript/commit/a9b0087fca3f427f65907b358d9b5bc0c95921d8), [`92d17d7c087470b262fa5407cb6720fe6b17d333`](https://github.com/clerk/javascript/commit/92d17d7c087470b262fa5407cb6720fe6b17d333)]:
1093 |   - @clerk/[email protected]
1094 |   - @clerk/[email protected]
1095 |   - @clerk/[email protected]
1096 | 
1097 | ## 2.2.0
1098 | 
1099 | ### Minor Changes
1100 | 
1101 | - Add support for type-safe environment variables using the [`astro:env` API](https://docs.astro.build/en/reference/configuration-reference/#env). ([#5104](https://github.com/clerk/javascript/pull/5104)) by [@wobsoriano](https://github.com/wobsoriano)
1102 | 
1103 |   The integration now provides a type-safe schema for all Clerk environment variables by default. You can use the environment variables like so:
1104 | 
1105 |   ```js
1106 |   import { PUBLIC_CLERK_PUBLISHABLE_KEY } from 'astro:env/client';
1107 |   import { CLERK_SECRET_KEY } from 'astro:env/server';
1108 |   ```
1109 | 
1110 |   To override this behavior, you can disable the feature by setting `enableEnvSchema` to `false`:
1111 | 
1112 |   ```js
1113 |   export default defineConfig({
1114 |     integrations: [clerk({ enableEnvSchema: false })],
1115 |   });
1116 |   ```
1117 | 
1118 | ### Patch Changes
1119 | 
1120 | - Add the ability to specify an appearance for modal component usages. ([#5125](https://github.com/clerk/javascript/pull/5125)) by [@alexcarpenter](https://github.com/alexcarpenter)
1121 | 
1122 | - Updated dependencies [[`dd2cbfe9f30358b6b298901bb52fa378b0acdca3`](https://github.com/clerk/javascript/commit/dd2cbfe9f30358b6b298901bb52fa378b0acdca3), [`570d8386f6aa596bf7bb1659bdddb8dd4d992b1d`](https://github.com/clerk/javascript/commit/570d8386f6aa596bf7bb1659bdddb8dd4d992b1d), [`128fd8909ae083c0d274dee7c6810e8574e1ce33`](https://github.com/clerk/javascript/commit/128fd8909ae083c0d274dee7c6810e8574e1ce33)]:
1123 |   - @clerk/[email protected]
1124 |   - @clerk/[email protected]
1125 |   - @clerk/[email protected]
1126 | 
1127 | ## 2.1.20
1128 | 
1129 | ### Patch Changes
1130 | 
1131 | - Adds types for organization domain webhook events ([#4819](https://github.com/clerk/javascript/pull/4819)) by [@ijxy](https://github.com/ijxy)
1132 | 
1133 | - Updated dependencies [[`ce44176efd4f2132001c49b815cbee409463bbea`](https://github.com/clerk/javascript/commit/ce44176efd4f2132001c49b815cbee409463bbea), [`f41081c563ddd2afc05b837358e0de087ae0c895`](https://github.com/clerk/javascript/commit/f41081c563ddd2afc05b837358e0de087ae0c895), [`767ac85fe6ce0ee0594c923e9af701bb05f40a0b`](https://github.com/clerk/javascript/commit/767ac85fe6ce0ee0594c923e9af701bb05f40a0b), [`225b38c7187d31fc755155ea99834ca03894d36b`](https://github.com/clerk/javascript/commit/225b38c7187d31fc755155ea99834ca03894d36b), [`c0f2daebe15642cd0cef16aafa1df1ece8ef771d`](https://github.com/clerk/javascript/commit/c0f2daebe15642cd0cef16aafa1df1ece8ef771d), [`429f1bfe5f7a554ab1fdf265475ba6c8b3f78472`](https://github.com/clerk/javascript/commit/429f1bfe5f7a554ab1fdf265475ba6c8b3f78472), [`5faa60e805ef14d9496a6caf9ff4dd8ec500c7e2`](https://github.com/clerk/javascript/commit/5faa60e805ef14d9496a6caf9ff4dd8ec500c7e2)]:
1134 |   - @clerk/[email protected]
1135 |   - @clerk/[email protected]
1136 |   - @clerk/[email protected]
1137 | 
1138 | ## 2.1.19
1139 | 
1140 | ### Patch Changes
1141 | 
1142 | - Updated dependencies [[`d3152be7f01fbb5ca26aeddc2437021f4b7ecc83`](https://github.com/clerk/javascript/commit/d3152be7f01fbb5ca26aeddc2437021f4b7ecc83), [`f976349243da2b75023e59e802460e6f3592ebbd`](https://github.com/clerk/javascript/commit/f976349243da2b75023e59e802460e6f3592ebbd)]:
1143 |   - @clerk/[email protected]
1144 |   - @clerk/[email protected]
1145 |   - @clerk/[email protected]
1146 | 
1147 | ## 2.1.18
1148 | 
1149 | ### Patch Changes
1150 | 
1151 | - 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)
1152 | 
1153 |   You can use it like so:
1154 | 
1155 |   ```ts
1156 |   import { createPathMatcher } from '@clerk/shared/pathMatcher';
1157 |   ```
1158 | 
1159 | - Updated dependencies [[`26225f2c31a22560f7ece2e02f1d0080b5b89520`](https://github.com/clerk/javascript/commit/26225f2c31a22560f7ece2e02f1d0080b5b89520), [`833693a6792b621e72162d70673e7bdfa84a69b6`](https://github.com/clerk/javascript/commit/833693a6792b621e72162d70673e7bdfa84a69b6)]:
1160 |   - @clerk/[email protected]
1161 |   - @clerk/[email protected]
1162 |   - @clerk/[email protected]
1163 | 
1164 | ## 2.1.17
1165 | 
1166 | ### Patch Changes
1167 | 
1168 | - Updated dependencies [[`a309be354275b91a7b17d5a67e8ef6aa230a9935`](https://github.com/clerk/javascript/commit/a309be354275b91a7b17d5a67e8ef6aa230a9935), [`4773d0ad4ed27928fa53357906c0f3a349b9f871`](https://github.com/clerk/javascript/commit/4773d0ad4ed27928fa53357906c0f3a349b9f871), [`1345cb487970a7347351897e80dfb829d85c41ea`](https://github.com/clerk/javascript/commit/1345cb487970a7347351897e80dfb829d85c41ea)]:
1169 |   - @clerk/[email protected]
1170 |   - @clerk/[email protected]
1171 |   - @clerk/[email protected]
1172 | 
1173 | ## 2.1.16
1174 | 
1175 | ### Patch Changes
1176 | 
1177 | - Updated dependencies [[`57c983fdc2b8d883623a2294daae0ac6c02c48f6`](https://github.com/clerk/javascript/commit/57c983fdc2b8d883623a2294daae0ac6c02c48f6), [`a26cf0ff10c76244975c454fdf6c615475d4bcd5`](https://github.com/clerk/javascript/commit/a26cf0ff10c76244975c454fdf6c615475d4bcd5), [`dd58c2507f8a7af4ebfc1241e2672a5678a83eaa`](https://github.com/clerk/javascript/commit/dd58c2507f8a7af4ebfc1241e2672a5678a83eaa)]:
1178 |   - @clerk/[email protected]
1179 |   - @clerk/[email protected]
1180 |   - @clerk/[email protected]
1181 | 
1182 | ## 2.1.15
1183 | 
1184 | ### Patch Changes
1185 | 
1186 | - Updated dependencies [[`2179690c10a61b117e82fdd566b34939f4d28bc1`](https://github.com/clerk/javascript/commit/2179690c10a61b117e82fdd566b34939f4d28bc1), [`bdb537a9902c0f0ae58ca1d4b7590d929f28fedb`](https://github.com/clerk/javascript/commit/bdb537a9902c0f0ae58ca1d4b7590d929f28fedb)]:
1187 |   - @clerk/[email protected]
1188 |   - @clerk/[email protected]
1189 |   - @clerk/[email protected]
1190 | 
1191 | ## 2.1.14
1192 | 
1193 | ### Patch Changes
1194 | 
1195 | - Updated dependencies [[`f87ede848265d75ea1e880a3ab80c53a250f42cf`](https://github.com/clerk/javascript/commit/f87ede848265d75ea1e880a3ab80c53a250f42cf), [`e0cea9a9bf8b90858067154cba9c149d1634dc91`](https://github.com/clerk/javascript/commit/e0cea9a9bf8b90858067154cba9c149d1634dc91), [`6126cc98281bca96797fd8a55b6ec6aeda397e46`](https://github.com/clerk/javascript/commit/6126cc98281bca96797fd8a55b6ec6aeda397e46), [`6e096564a459db4eaf953e99e570905b10be6c84`](https://github.com/clerk/javascript/commit/6e096564a459db4eaf953e99e570905b10be6c84)]:
1196 |   - @clerk/[email protected]
1197 |   - @clerk/[email protected]
1198 |   - @clerk/[email protected]
1199 | 
1200 | ## 2.1.13
1201 | 
1202 | ### Patch Changes
1203 | 
1204 | - Updated dependencies [[`fe3e49f61acefe8d7f1992405f7cb415fea2e5c8`](https://github.com/clerk/javascript/commit/fe3e49f61acefe8d7f1992405f7cb415fea2e5c8), [`4427c4702f64d4f28f7564ce5889d41e260aa519`](https://github.com/clerk/javascript/commit/4427c4702f64d4f28f7564ce5889d41e260aa519)]:
1205 |   - @clerk/[email protected]
1206 |   - @clerk/[email protected]
1207 |   - @clerk/[email protected]
1208 | 
1209 | ## 2.1.12
1210 | 
1211 | ### Patch Changes
1212 | 
1213 | - Updated dependencies [[`418ec5c62c4eb600566faab07684c068a29007e3`](https://github.com/clerk/javascript/commit/418ec5c62c4eb600566faab07684c068a29007e3)]:
1214 |   - @clerk/[email protected]
1215 |   - @clerk/[email protected]
1216 |   - @clerk/[email protected]
1217 | 
1218 | ## 2.1.11
1219 | 
1220 | ### Patch Changes
1221 | 
1222 | - Standardizing ambient declaration files for all SDKs ([#4919](https://github.com/clerk/javascript/pull/4919)) by [@jacekradko](https://github.com/jacekradko)
1223 | 
1224 | - Updated dependencies [[`9eef7713212378351e8e01628611eaa18de250e8`](https://github.com/clerk/javascript/commit/9eef7713212378351e8e01628611eaa18de250e8)]:
1225 |   - @clerk/[email protected]
1226 |   - @clerk/[email protected]
1227 | 
1228 | ## 2.1.10
1229 | 
1230 | ### Patch Changes
1231 | 
1232 | - Updated dependencies [[`7ffc99b48977b9f6c74c0c71c500b60cb8aba65e`](https://github.com/clerk/javascript/commit/7ffc99b48977b9f6c74c0c71c500b60cb8aba65e)]:
1233 |   - @clerk/[email protected]
1234 |   - @clerk/[email protected]
1235 |   - @clerk/[email protected]
1236 | 
1237 | ## 2.1.9
1238 | 
1239 | ### Patch Changes
1240 | 
1241 | - 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)]:
1242 |   - @clerk/[email protected]
1243 |   - @clerk/[email protected]
1244 |   - @clerk/[email protected]
1245 | 
1246 | ## 2.1.8
1247 | 
1248 | ### Patch Changes
1249 | 
1250 | - Updated dependencies [[`e9e8834f7bfc953c3ae66fedf65b6952689c49da`](https://github.com/clerk/javascript/commit/e9e8834f7bfc953c3ae66fedf65b6952689c49da), [`fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6`](https://github.com/clerk/javascript/commit/fd7a5be73db3acaa7daeb9b15af73c2ce99d03a6), [`7182b93101518a389cc13859f8a0fe8bd6f37a06`](https://github.com/clerk/javascript/commit/7182b93101518a389cc13859f8a0fe8bd6f37a06)]:
1251 |   - @clerk/[email protected]
1252 |   - @clerk/[email protected]
1253 |   - @clerk/[email protected]
1254 | 
1255 | ## 2.1.7
1256 | 
1257 | ### Patch Changes
1258 | 
1259 | - Updated dependencies [[`72d29538f587934309da96fc1c6d454bb9aad21e`](https://github.com/clerk/javascript/commit/72d29538f587934309da96fc1c6d454bb9aad21e), [`84867be0215d7f74d8be7b4f803e2c3a241e2f89`](https://github.com/clerk/javascript/commit/84867be0215d7f74d8be7b4f803e2c3a241e2f89), [`fa967ce79e1b5f2e8216eb09900879cb825fa528`](https://github.com/clerk/javascript/commit/fa967ce79e1b5f2e8216eb09900879cb825fa528)]:
1260 |   - @clerk/[email protected]
1261 | 
1262 | ## 2.1.6
1263 | 
1264 | ### Patch Changes
1265 | 
1266 | - Updated dependencies [[`44cab6038af0a4d23869b3b292ece742fbbc4d85`](https://github.com/clerk/javascript/commit/44cab6038af0a4d23869b3b292ece742fbbc4d85)]:
1267 |   - @clerk/[email protected]
1268 |   - @clerk/[email protected]
1269 |   - @clerk/[email protected]
1270 | 
1271 | ## 2.1.5
1272 | 
1273 | ### Patch Changes
1274 | 
1275 | - Updated dependencies [[`80e1117631d35834705119a79cdcf9e0ed423fdd`](https://github.com/clerk/javascript/commit/80e1117631d35834705119a79cdcf9e0ed423fdd)]:
1276 |   - @clerk/[email protected]
1277 |   - @clerk/[email protected]
1278 |   - @clerk/[email protected]
1279 | 
1280 | ## 2.1.4
1281 | 
1282 | ### Patch Changes
1283 | 
1284 | - Updated dependencies [[`b3300c84a42276bd071a37addbd1ca6888ed9d7c`](https://github.com/clerk/javascript/commit/b3300c84a42276bd071a37addbd1ca6888ed9d7c), [`c9da04636ffe1ba804a1ce5e5b79027d3a2344d2`](https://github.com/clerk/javascript/commit/c9da04636ffe1ba804a1ce5e5b79027d3a2344d2)]:
1285 |   - @clerk/[email protected]
1286 |   - @clerk/[email protected]
1287 |   - @clerk/[email protected]
1288 | 
1289 | ## 2.1.3
1290 | 
1291 | ### Patch Changes
1292 | 
1293 | - Updated dependencies [[`84ccb0049041534f111be65f7c7d4d6120069446`](https://github.com/clerk/javascript/commit/84ccb0049041534f111be65f7c7d4d6120069446)]:
1294 |   - @clerk/[email protected]
1295 |   - @clerk/[email protected]
1296 | 
1297 | ## 2.1.2
1298 | 
1299 | ### Patch Changes
1300 | 
1301 | - Updated dependencies [[`aeafa7c5efd50c893d088ac99199d7eaecc04025`](https://github.com/clerk/javascript/commit/aeafa7c5efd50c893d088ac99199d7eaecc04025), [`acd9326ef2d6942b981b3ee59c4b20ddd303323d`](https://github.com/clerk/javascript/commit/acd9326ef2d6942b981b3ee59c4b20ddd303323d)]:
1302 |   - @clerk/[email protected]
1303 |   - @clerk/[email protected]
1304 |   - @clerk/[email protected]
1305 | 
1306 | ## 2.1.1
1307 | 
1308 | ### Patch Changes
1309 | 
1310 | - Fix handshake redirect loop in Netlify deployments ([#4745](https://github.com/clerk/javascript/pull/4745)) by [@wobsoriano](https://github.com/wobsoriano)
1311 | 
1312 | - Updated dependencies [[`66ad299e4b6496ea4a93799de0f1ecfad920ddad`](https://github.com/clerk/javascript/commit/66ad299e4b6496ea4a93799de0f1ecfad920ddad), [`dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d`](https://github.com/clerk/javascript/commit/dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d), [`e1748582d0c89462f48a482a7805871b7065fa19`](https://github.com/clerk/javascript/commit/e1748582d0c89462f48a482a7805871b7065fa19), [`7f7edcaa8228c26d19e9081979100ada7e982095`](https://github.com/clerk/javascript/commit/7f7edcaa8228c26d19e9081979100ada7e982095), [`e1748582d0c89462f48a482a7805871b7065fa19`](https://github.com/clerk/javascript/commit/e1748582d0c89462f48a482a7805871b7065fa19), [`dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d`](https://github.com/clerk/javascript/commit/dd3fdc7b2a96ddb90b33c6f1cefb055a60f99a9d)]:
1313 |   - @clerk/[email protected]
1314 |   - @clerk/[email protected]
1315 |   - @clerk/[email protected]
1316 | 
1317 | ## 2.1.0
1318 | 
1319 | ### Minor Changes
1320 | 
1321 | - 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)
1322 | 
1323 | ### Patch Changes
1324 | 
1325 | - Updated dependencies [[`ffa631d2480cfe77bf08c61b1302ace308e5b630`](https://github.com/clerk/javascript/commit/ffa631d2480cfe77bf08c61b1302ace308e5b630)]:
1326 |   - @clerk/[email protected]
1327 |   - @clerk/[email protected]
1328 | 
1329 | ## 2.0.1
1330 | 
1331 | ### Patch Changes
1332 | 
1333 | - Addresses: CVE-2024-55565i ([#4744](https://github.com/clerk/javascript/pull/4744)) by [@renovate](https://github.com/apps/renovate)
1334 | 
1335 |   nanoid (aka Nano ID) before 5.0.9 mishandles non-integer values. 3.3.8 is also a fixed version.
1336 | 
1337 | - Updated dependencies [[`cd72a27a75863dfd94b0a00ed5b2d03231556bc0`](https://github.com/clerk/javascript/commit/cd72a27a75863dfd94b0a00ed5b2d03231556bc0)]:
1338 |   - @clerk/[email protected]
1339 |   - @clerk/[email protected]
1340 |   - @clerk/[email protected]
1341 | 
1342 | ## 2.0.0
1343 | 
1344 | ### Major Changes
1345 | 
1346 | - Recently Astro released its v5. Read their [migration guide](https://docs.astro.build/en/guides/upgrade-to/v5/) to learn more. ([#4721](https://github.com/clerk/javascript/pull/4721)) by [@wobsoriano](https://github.com/wobsoriano)
1347 | 
1348 |   `@clerk/[email protected]` supports Astro v4.15.0 and above, including v5. If you're using Astro v3, you'll need to upgrade your Astro version as v3 support has been removed. If you need to stay on Astro v3, stick with your current version.
1349 | 
1350 |   The `@clerk/[email protected]` upgrade itself doesn't have any required code changes as only internal dependencies and requirements were updated.
1351 | 
1352 | ### Patch Changes
1353 | 
1354 | - Updated dependencies [[`fe75ced8a7d8b8a28839430444588ee173b5230a`](https://github.com/clerk/javascript/commit/fe75ced8a7d8b8a28839430444588ee173b5230a), [`1b86a1da34ce4bc309f69980ac13a691a0a633c2`](https://github.com/clerk/javascript/commit/1b86a1da34ce4bc309f69980ac13a691a0a633c2)]:
1355 |   - @clerk/[email protected]
1356 |   - @clerk/[email protected]
1357 |   - @clerk/[email protected]
1358 | 
1359 | ## 1.5.6
1360 | 
1361 | ### Patch Changes
1362 | 
1363 | - Updated dependencies [[`4cb22548da81dd8b186a6ef1cf120aea99c85c62`](https://github.com/clerk/javascript/commit/4cb22548da81dd8b186a6ef1cf120aea99c85c62)]:
1364 |   - @clerk/[email protected]
1365 |   - @clerk/[email protected]
1366 | 
1367 | ## 1.5.5
1368 | 
1369 | ### Patch Changes
1370 | 
1371 | - Updated dependencies [[`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99), [`550c7e9851329688e37be29b83ea0c3b12482af7`](https://github.com/clerk/javascript/commit/550c7e9851329688e37be29b83ea0c3b12482af7), [`3f640805d2a4e1616aafa56f6848d6657911bb99`](https://github.com/clerk/javascript/commit/3f640805d2a4e1616aafa56f6848d6657911bb99)]:
1372 |   - @clerk/[email protected]
1373 |   - @clerk/[email protected]
1374 |   - @clerk/[email protected]
1375 | 
1376 | ## 1.5.4
1377 | 
1378 | ### Patch Changes
1379 | 
1380 | - Updated dependencies [[`0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3`](https://github.com/clerk/javascript/commit/0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3), [`0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3`](https://github.com/clerk/javascript/commit/0bc3ccc5bd4a93121bb7e7d6a32271af9c31f8c3)]:
1381 |   - @clerk/[email protected]
1382 |   - @clerk/[email protected]
1383 |   - @clerk/[email protected]
1384 | 
1385 | ## 1.5.3
1386 | 
1387 | ### Patch Changes
1388 | 
1389 | - Using LICENSE file name that is consistent with other @clerk/\* modules ([#4712](https://github.com/clerk/javascript/pull/4712)) by [@jacekradko](https://github.com/jacekradko)
1390 | 
1391 | - Updated dependencies [[`4e5e7f463c12893a21cb3b5f9317fc3f2945879b`](https://github.com/clerk/javascript/commit/4e5e7f463c12893a21cb3b5f9317fc3f2945879b)]:
1392 |   - @clerk/[email protected]
1393 |   - @clerk/[email protected]
1394 |   - @clerk/[email protected]
1395 | 
1396 | ## 1.5.2
1397 | 
1398 | ### Patch Changes
1399 | 
1400 | - Add backwards compatibility for ignoring pre-rendered routes in Astro ([#4694](https://github.com/clerk/javascript/pull/4694)) by [@wobsoriano](https://github.com/wobsoriano)
1401 | 
1402 | - Updated dependencies [[`8ee5d84995fa17532491ff96efac5738c9bcd9ef`](https://github.com/clerk/javascript/commit/8ee5d84995fa17532491ff96efac5738c9bcd9ef), [`09fedd1df155d30cc055ce701b133aa6470e9b47`](https://github.com/clerk/javascript/commit/09fedd1df155d30cc055ce701b133aa6470e9b47), [`b6aa589f75be62a89a3853d496176ed2f2c0e2c5`](https://github.com/clerk/javascript/commit/b6aa589f75be62a89a3853d496176ed2f2c0e2c5), [`235eaae4c3c9400492fca47d20a47c7081041565`](https://github.com/clerk/javascript/commit/235eaae4c3c9400492fca47d20a47c7081041565)]:
1403 |   - @clerk/[email protected]
1404 |   - @clerk/[email protected]
1405 |   - @clerk/[email protected]
1406 | 
1407 | ## 1.5.1
1408 | 
1409 | ### Patch Changes
1410 | 
1411 | - Updated dependencies [[`8a28d1f403309f692d9332704f07effbf39d056d`](https://github.com/clerk/javascript/commit/8a28d1f403309f692d9332704f07effbf39d056d), [`8a28d1f403309f692d9332704f07effbf39d056d`](https://github.com/clerk/javascript/commit/8a28d1f403309f692d9332704f07effbf39d056d)]:
1412 |   - @clerk/[email protected]
1413 |   - @clerk/[email protected]
1414 |   - @clerk/[email protected]
1415 | 
1416 | ## 1.5.0
1417 | 
1418 | ### Minor Changes
1419 | 
1420 | - Introduce `<Waitlist />` component for Astro ([#4650](https://github.com/clerk/javascript/pull/4650)) by [@nikospapcom](https://github.com/nikospapcom)
1421 | 
1422 | ## 1.4.17
1423 | 
1424 | ### Patch Changes
1425 | 
1426 | - Ignore pre-rendered files in Clerk Middleware ([#4640](https://github.com/clerk/javascript/pull/4640)) by [@jlengstorf](https://github.com/jlengstorf)
1427 | 
1428 | ## 1.4.16
1429 | 
1430 | ### Patch Changes
1431 | 
1432 | - Updated dependencies [[`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`d84d7e31235c5c7da3415981dc76db4473a71a39`](https://github.com/clerk/javascript/commit/d84d7e31235c5c7da3415981dc76db4473a71a39), [`fe9e147e366153d664af7fc325655ecb299a1f9d`](https://github.com/clerk/javascript/commit/fe9e147e366153d664af7fc325655ecb299a1f9d), [`dce4f7ffca7248c0500f0ec9a978672b1f2fad69`](https://github.com/clerk/javascript/commit/dce4f7ffca7248c0500f0ec9a978672b1f2fad69)]:
1433 |   - @clerk/[email protected]
1434 |   - @clerk/[email protected]
1435 |   - @clerk/[email protected]
1436 | 
1437 | ## 1.4.15
1438 | 
1439 | ### Patch Changes
1440 | 
1441 | - Updated dependencies [[`c70994b5b6f92a6550dfe37547f01bbfa810c223`](https://github.com/clerk/javascript/commit/c70994b5b6f92a6550dfe37547f01bbfa810c223), [`7623a99594e7329200b6b374e483152d7679ce66`](https://github.com/clerk/javascript/commit/7623a99594e7329200b6b374e483152d7679ce66)]:
1442 |   - @clerk/[email protected]
1443 |   - @clerk/[email protected]
1444 |   - @clerk/[email protected]
1445 | 
1446 | ## 1.4.14
1447 | 
1448 | ### Patch Changes
1449 | 
1450 | - Updated dependencies [[`e47eb5882a7fd4a8dee25933c6644790d6ea3407`](https://github.com/clerk/javascript/commit/e47eb5882a7fd4a8dee25933c6644790d6ea3407), [`273d16cb0665d4d960838cb294dc356f41814745`](https://github.com/clerk/javascript/commit/273d16cb0665d4d960838cb294dc356f41814745), [`6b0961765e1f3d09679be4b163fa13ac7dd97191`](https://github.com/clerk/javascript/commit/6b0961765e1f3d09679be4b163fa13ac7dd97191)]:
1451 |   - @clerk/[email protected]
1452 |   - @clerk/[email protected]
1453 |   - @clerk/[email protected]
1454 | 
1455 | ## 1.4.13
1456 | 
1457 | ### Patch Changes
1458 | 
1459 | - Updated dependencies [[`536fa996ff84a545678a3036b28409824d1c00dd`](https://github.com/clerk/javascript/commit/536fa996ff84a545678a3036b28409824d1c00dd), [`b28c5e8bc44885bf6b1533df48e872ba90c387da`](https://github.com/clerk/javascript/commit/b28c5e8bc44885bf6b1533df48e872ba90c387da)]:
1460 |   - @clerk/[email protected]
1461 |   - @clerk/[email protected]
1462 | 
1463 | ## 1.4.12
1464 | 
1465 | ### Patch Changes
1466 | 
1467 | - Updated dependencies [[`46faeb6f59b19c963fb137c858347525b1cd9e19`](https://github.com/clerk/javascript/commit/46faeb6f59b19c963fb137c858347525b1cd9e19), [`ea6c52dd751abe38b350ee07f148652c24125e22`](https://github.com/clerk/javascript/commit/ea6c52dd751abe38b350ee07f148652c24125e22)]:
1468 |   - @clerk/[email protected]
1469 |   - @clerk/[email protected]
1470 |   - @clerk/[email protected]
1471 | 
1472 | ## 1.4.11
1473 | 
1474 | ### Patch Changes
1475 | 
1476 | - 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)]:
1477 |   - @clerk/[email protected]
1478 |   - @clerk/[email protected]
1479 |   - @clerk/[email protected]
1480 | 
1481 | ## 1.4.10
1482 | 
1483 | ### Patch Changes
1484 | 
1485 | - Updated dependencies [[`ff4ebeba6c2a77c247a946070b56bdb2153d1588`](https://github.com/clerk/javascript/commit/ff4ebeba6c2a77c247a946070b56bdb2153d1588)]:
1486 |   - @clerk/[email protected]
1487 | 
1488 | ## 1.4.9
1489 | 
1490 | ### Patch Changes
1491 | 
1492 | - Updated dependencies [[`7dbad4c5abd226d7b10941a626ead5d85b1a3f24`](https://github.com/clerk/javascript/commit/7dbad4c5abd226d7b10941a626ead5d85b1a3f24)]:
1493 |   - @clerk/[email protected]
1494 |   - @clerk/[email protected]
1495 |   - @clerk/[email protected]
1496 | 
1497 | ## 1.4.8
1498 | 
1499 | ### Patch Changes
1500 | 
1501 | - Fix an issue where custom client-side routing breaks when `<ViewTransitions />` is disabled ([#4521](https://github.com/clerk/javascript/pull/4521)) by [@wobsoriano](https://github.com/wobsoriano)
1502 | 
1503 | - Updated dependencies [[`b185e42e5136de3511a0b37ce9b0030022ba679e`](https://github.com/clerk/javascript/commit/b185e42e5136de3511a0b37ce9b0030022ba679e), [`5a21de1f46df3642828dc27e4862263c9858da2b`](https://github.com/clerk/javascript/commit/5a21de1f46df3642828dc27e4862263c9858da2b), [`f7472e22877f62fc7f3c8d3efe409ff2276fb4a3`](https://github.com/clerk/javascript/commit/f7472e22877f62fc7f3c8d3efe409ff2276fb4a3), [`e10232c56551bf0cffc11246f2ff9aa58ec584d7`](https://github.com/clerk/javascript/commit/e10232c56551bf0cffc11246f2ff9aa58ec584d7), [`e199037b8f484abdeeb9fc24455a1b4b8c31c8dd`](https://github.com/clerk/javascript/commit/e199037b8f484abdeeb9fc24455a1b4b8c31c8dd), [`886e294a8d8c54b39cd5bda88d46b89eace3861e`](https://github.com/clerk/javascript/commit/886e294a8d8c54b39cd5bda88d46b89eace3861e), [`0e443ad7c76643420b50e5b169193e03f6ef79f9`](https://github.com/clerk/javascript/commit/0e443ad7c76643420b50e5b169193e03f6ef79f9), [`cc24c8145f1eea7fb91550f2c3e0bac3993e4320`](https://github.com/clerk/javascript/commit/cc24c8145f1eea7fb91550f2c3e0bac3993e4320)]:
1504 |   - @clerk/[email protected]
1505 |   - @clerk/[email protected]
1506 |   - @clerk/[email protected]
1507 | 
1508 | ## 1.4.7
1509 | 
1510 | ### Patch Changes
1511 | 
1512 | - Updated dependencies [[`8a04ae47b8305f994b348301fd8134d5baf02943`](https://github.com/clerk/javascript/commit/8a04ae47b8305f994b348301fd8134d5baf02943)]:
1513 |   - @clerk/[email protected]
1514 |   - @clerk/[email protected]
1515 | 
1516 | ## 1.4.6
1517 | 
1518 | ### Patch Changes
1519 | 
1520 | - Updated dependencies [[`d74a6a7c0f291104c6bba722a8c432814d7b336e`](https://github.com/clerk/javascript/commit/d74a6a7c0f291104c6bba722a8c432814d7b336e), [`1a0c8fe665869e732d3c800bde0f5219fce54301`](https://github.com/clerk/javascript/commit/1a0c8fe665869e732d3c800bde0f5219fce54301), [`0800fc3f1f4e1b6a1d13f5c02557001a283af6e8`](https://github.com/clerk/javascript/commit/0800fc3f1f4e1b6a1d13f5c02557001a283af6e8)]:
1521 |   - @clerk/[email protected]
1522 |   - @clerk/[email protected]
1523 |   - @clerk/[email protected]
1524 | 
1525 | ## 1.4.5
1526 | 
1527 | ### Patch Changes
1528 | 
1529 | - Refactor imports from @clerk/shared to improve treeshaking support by [@nikosdouvlis](https://github.com/nikosdouvlis)
1530 | 
1531 | - Updated dependencies [[`a7726cc12a824b278f6d2a37cb1901c38c5f70dc`](https://github.com/clerk/javascript/commit/a7726cc12a824b278f6d2a37cb1901c38c5f70dc)]:
1532 |   - @clerk/[email protected]
1533 |   - @clerk/[email protected]
1534 | 
1535 | ## 1.4.2
1536 | 
1537 | ### Patch Changes
1538 | 
1539 | - Updated dependencies [[`f875463da`](https://github.com/clerk/javascript/commit/f875463da9692f2d173b6d5388743cf720750ae3), [`5be7ca9fd`](https://github.com/clerk/javascript/commit/5be7ca9fd239c937cc88e20ce8f5bfc9f3b84f22), [`08c5a2add`](https://github.com/clerk/javascript/commit/08c5a2add6872c76e62fc0df06db723e3728452e), [`434b432f8`](https://github.com/clerk/javascript/commit/434b432f8c114825120eef0f2c278b8142ed1563)]:
1540 |   - @clerk/[email protected]
1541 |   - @clerk/[email protected]
1542 |   - @clerk/[email protected]
1543 | 
1544 | ## 1.4.1
1545 | 
1546 | ### Patch Changes
1547 | 
1548 | - Updated dependencies [[`3fdcdbf88`](https://github.com/clerk/javascript/commit/3fdcdbf88c38facf8b82563f634ec1b6604fd8e5), [`1c7e105a3`](https://github.com/clerk/javascript/commit/1c7e105a32fd492cc175ef9fd1c1fa0428c259dc)]:
1549 |   - @clerk/[email protected]
1550 |   - @clerk/[email protected]
1551 |   - @clerk/[email protected]
1552 | 
1553 | ## 1.4.0
1554 | 
1555 | ### Minor Changes
1556 | 
1557 | - Add support for Astro View Transitions ([#4354](https://github.com/clerk/javascript/pull/4354)) by [@wobsoriano](https://github.com/wobsoriano)
1558 | 
1559 | ### Patch Changes
1560 | 
1561 | - Updated dependencies [[`93dfe7a09`](https://github.com/clerk/javascript/commit/93dfe7a09648f414ee3f50bc8fb3f342d24020cd), [`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc), [`3b50b67bd`](https://github.com/clerk/javascript/commit/3b50b67bd40da33c9e36773aa05462717e9f44cc)]:
1562 |   - @clerk/[email protected]
1563 |   - @clerk/[email protected]
1564 |   - @clerk/[email protected]
1565 | 
1566 | ## 1.3.16
1567 | 
1568 | ### Patch Changes
1569 | 
1570 | - Updated dependencies [[`e1a26547a`](https://github.com/clerk/javascript/commit/e1a26547a9c65f4c79c2bbd4dc386ddf67c2fbee)]:
1571 |   - @clerk/[email protected]
1572 | 
1573 | ## 1.3.15
1574 | 
1575 | ### Patch Changes
1576 | 
1577 | - Updated dependencies [[`e81d45b72`](https://github.com/clerk/javascript/commit/e81d45b72c81403c7c206dac5454de1fef6bec57), [`752ce9bfa`](https://github.com/clerk/javascript/commit/752ce9bfa47a8eebd38cd272eeb58ae26fea3371), [`99cdf9b67`](https://github.com/clerk/javascript/commit/99cdf9b67d1e99e66cc73d8a5bfce1f1f8df1b83), [`ce40ff6f0`](https://github.com/clerk/javascript/commit/ce40ff6f0d3bc79e33375be6dd5e03f140a07000), [`fb7ba1f34`](https://github.com/clerk/javascript/commit/fb7ba1f3485abdeac5e504cce6c2d84d3f3e4ffc), [`2102052c0`](https://github.com/clerk/javascript/commit/2102052c017065ab511339870fcebaa6719f2702)]:
1578 |   - @clerk/[email protected]
1579 |   - @clerk/[email protected]
1580 |   - @clerk/[email protected]
1581 | 
1582 | ## 1.3.14
1583 | 
1584 | ### Patch Changes
1585 | 
1586 | - Updated dependencies [[`d64e54c40`](https://github.com/clerk/javascript/commit/d64e54c40c9cf001b25e45a1b8939c9f7e80c6d6), [`2ba2fd148`](https://github.com/clerk/javascript/commit/2ba2fd1483b7561d7df9a1952ead0ee15e422131)]:
1587 |   - @clerk/[email protected]
1588 |   - @clerk/[email protected]
1589 |   - @clerk/[email protected]
1590 | 
1591 | ## 1.3.13
1592 | 
1593 | ### Patch Changes
1594 | 
1595 | - Updated dependencies [[`358be296a`](https://github.com/clerk/javascript/commit/358be296a8181bb256fc1e15f878932c741b8743)]:
1596 |   - @clerk/[email protected]
1597 | 
1598 | ## 1.3.12
1599 | 
1600 | ### Patch Changes
1601 | 
1602 | - Updated dependencies [[`fb932e5cf`](https://github.com/clerk/javascript/commit/fb932e5cf21315adf60bee0855b6bd5ee2ff9867)]:
1603 |   - @clerk/[email protected]
1604 |   - @clerk/[email protected]
1605 |   - @clerk/[email protected]
1606 | 
1607 | ## 1.3.11
1608 | 
1609 | ### Patch Changes
1610 | 
1611 | - Updated dependencies [[`f6fb8b53d`](https://github.com/clerk/javascript/commit/f6fb8b53d236863ad7eca576ee7a16cd33f3506b), [`4a8570590`](https://github.com/clerk/javascript/commit/4a857059059a02bb4f20893e08601e1e67babbed)]:
1612 |   - @clerk/[email protected]
1613 |   - @clerk/[email protected]
1614 |   - @clerk/[email protected]
1615 | 
1616 | ## 1.3.10
1617 | 
1618 | ### Patch Changes
1619 | 
1620 | - Updated dependencies [[`3e9160072`](https://github.com/clerk/javascript/commit/3e9160072aea72455a3db9cc710680a0a5359c55), [`748c0bae4`](https://github.com/clerk/javascript/commit/748c0bae4cfa1c2a721267fc9de7c6458200beb4), [`b579c3685`](https://github.com/clerk/javascript/commit/b579c36850126d994a96affa89bb1abc618ec38e)]:
1621 |   - @clerk/[email protected]
1622 | 
1623 | ## 1.3.9
1624 | 
1625 | ### Patch Changes
1626 | 
1627 | - 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)]:
1628 |   - @clerk/[email protected]
1629 |   - @clerk/[email protected]
1630 |   - @clerk/[email protected]
1631 | 
1632 | ## 1.3.8
1633 | 
1634 | ### Patch Changes
1635 | 
1636 | - 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)]:
1637 |   - @clerk/[email protected]
1638 |   - @clerk/[email protected]
1639 |   - @clerk/[email protected]
1640 | 
1641 | ## 1.3.7
1642 | 
1643 | ### Patch Changes
1644 | 
1645 | - Add `@clerk/astro` to Astro integrations list page ([#4194](https://github.com/clerk/javascript/pull/4194)) by [@wobsoriano](https://github.com/wobsoriano)
1646 | 
1647 | - Updated dependencies [[`cb32aaf59`](https://github.com/clerk/javascript/commit/cb32aaf59d38dcd12e959f542782f71a87adf9c1), [`2e5c550e4`](https://github.com/clerk/javascript/commit/2e5c550e4aec61150c2a17fdcd4a0e1273cb50e7), [`6275c242c`](https://github.com/clerk/javascript/commit/6275c242cd8bcb6f7766934059967e0fe775a0c1), [`418be2fdb`](https://github.com/clerk/javascript/commit/418be2fdb558bb5c85d7be491945935b44cad681), [`c59636a1a`](https://github.com/clerk/javascript/commit/c59636a1aca67be7d6732d281cec307ed456678b), [`5c18671f1`](https://github.com/clerk/javascript/commit/5c18671f158f8077f822877ce5c1fa192199aeda), [`f9faaf031`](https://github.com/clerk/javascript/commit/f9faaf03100baf679c78e6c24877fbf3b60be529), [`e0ca9dc94`](https://github.com/clerk/javascript/commit/e0ca9dc94fa68f3d3db5d2433fa6b85d800d4ca2)]:
1648 |   - @clerk/[email protected]
1649 |   - @clerk/[email protected]
1650 |   - @clerk/[email protected]
1651 | 
1652 | ## 1.3.6
1653 | 
1654 | ### Patch Changes
1655 | 
1656 | - Updated dependencies [[`02babaccb`](https://github.com/clerk/javascript/commit/02babaccb648fa4e22f38cc0f572d44f82b09f78)]:
1657 |   - @clerk/[email protected]
1658 | 
1659 | ## 1.3.5
1660 | 
1661 | ### Patch Changes
1662 | 
1663 | - Updated dependencies [[`3743eb911`](https://github.com/clerk/javascript/commit/3743eb9114733f20ed56a863ab98fa9c363b6723)]:
1664 |   - @clerk/[email protected]
1665 |   - @clerk/[email protected]
1666 | 
1667 | ## 1.3.4
1668 | 
1669 | ### Patch Changes
1670 | 
1671 | - Updated dependencies [[`e578b1599`](https://github.com/clerk/javascript/commit/e578b1599451d9f2122f12d835b510b26882e839)]:
1672 |   - @clerk/[email protected]
1673 | 
1674 | ## 1.3.3
1675 | 
1676 | ### Patch Changes
1677 | 
1678 | - Fixes an issue where complex Astro configs caused circular reference JSON errors ([#4163](https://github.com/clerk/javascript/pull/4163)) by [@wobsoriano](https://github.com/wobsoriano)
1679 | 
1680 | - Updated dependencies [[`ba19be354`](https://github.com/clerk/javascript/commit/ba19be35461f0e5c76a58d11e4252a16781322c6), [`8cecbe875`](https://github.com/clerk/javascript/commit/8cecbe8756f58879c4b14b799700a25a83c1f00a), [`248142a6d`](https://github.com/clerk/javascript/commit/248142a6ded6ca937d0df7d628197f25228aadec), [`1189f71f8`](https://github.com/clerk/javascript/commit/1189f71f872f2683c12de5add5f154aeb953ca8d), [`a5e95295b`](https://github.com/clerk/javascript/commit/a5e95295b88acc6953d07a22d818e123774aeffa)]:
1681 |   - @clerk/[email protected]
1682 |   - @clerk/[email protected]
1683 |   - @clerk/[email protected]
1684 | 
1685 | ## 1.3.2
1686 | 
1687 | ### Patch Changes
1688 | 
1689 | - Vendor path-to-regexp ([#4145](https://github.com/clerk/javascript/pull/4145)) by [@nikosdouvlis](https://github.com/nikosdouvlis)
1690 | 
1691 | - Updated dependencies [[`be3b119f8`](https://github.com/clerk/javascript/commit/be3b119f840d2ae74f4b75d717711d53ac0e5f54)]:
1692 |   - @clerk/[email protected]
1693 |   - @clerk/[email protected]
1694 | 
1695 | ## 1.3.1
1696 | 
1697 | ### Patch Changes
1698 | 
1699 | - Allow child elements in unstyled Astro components. ([#4122](https://github.com/clerk/javascript/pull/4122)) by [@wobsoriano](https://github.com/wobsoriano)
1700 | 
1701 |   Usage:
1702 | 
1703 |   ```astro
1704 |   ---
1705 |   import { SignInButton } from '@clerk/components/astro';
1706 |   ---
1707 | 
1708 |   <SignInButton asChild>
1709 |     <button>Sign in with Clerk</button>
1710 |   </SignInButton>
1711 |   ```
1712 | 
1713 | - Fixes an issue where control components in client-side rendered apps are always hidden. ([#4131](https://github.com/clerk/javascript/pull/4131)) by [@wobsoriano](https://github.com/wobsoriano)
1714 | 
1715 | - Updated dependencies [[`b97b2c1ca`](https://github.com/clerk/javascript/commit/b97b2c1cae5cb1e569708a8745c13d203beb81d9), [`8c6909d46`](https://github.com/clerk/javascript/commit/8c6909d46328c943f1d464a28f1a324a27d0f3f1)]:
1716 |   - @clerk/[email protected]
1717 |   - @clerk/[email protected]
1718 |   - @clerk/[email protected]
1719 | 
1720 | ## 1.3.0
1721 | 
1722 | ### Minor Changes
1723 | 
1724 | - Add support for custom pages and links in the `<OrganizationProfile />` Astro component. ([#4096](https://github.com/clerk/javascript/pull/4096)) by [@wobsoriano](https://github.com/wobsoriano)
1725 | 
1726 | ### Patch Changes
1727 | 
1728 | - Updated dependencies [[`c63a5adf0`](https://github.com/clerk/javascript/commit/c63a5adf0ba4b99252146f168318f51b709bb5dd), [`8823c21a2`](https://github.com/clerk/javascript/commit/8823c21a26bc81cbc3ed007908b1a9ea474bd343), [`95ac67a14`](https://github.com/clerk/javascript/commit/95ac67a143c263bef0c1f589728566ab8f95768d), [`a0cb062fa`](https://github.com/clerk/javascript/commit/a0cb062faa4d23bef7a577e5cc486f4c5efe6bfa), [`746b4ed5e`](https://github.com/clerk/javascript/commit/746b4ed5e2007505d5850a2a728484809474d7bf)]:
1729 |   - @clerk/[email protected]
1730 |   - @clerk/[email protected]
1731 |   - @clerk/[email protected]
1732 | 
1733 | ## 1.2.6
1734 | 
1735 | ### Patch Changes
1736 | 
1737 | - Updated dependencies [[`8a3b9f079`](https://github.com/clerk/javascript/commit/8a3b9f0793484b32dd609a5c80a194e62151d6ea), [`e95c28196`](https://github.com/clerk/javascript/commit/e95c2819675cea7963f2404e5f71f37ebed8d5e0), [`1fe744328`](https://github.com/clerk/javascript/commit/1fe744328d126bc597e81770119796ac18e055ed)]:
1738 |   - @clerk/[email protected]
1739 |   - @clerk/[email protected]
1740 |   - @clerk/[email protected]
1741 | 
1742 | ## 1.2.5
1743 | 
1744 | ### Patch Changes
1745 | 
1746 | - Fixes an issue where not setting an element in an unstyled component causes a TypeScript error. ([#4057](https://github.com/clerk/javascript/pull/4057)) by [@wobsoriano](https://github.com/wobsoriano)
1747 | 
1748 | - Updated dependencies [[`82593173a`](https://github.com/clerk/javascript/commit/82593173aafbf6646e12c5779627cdcb138a1f27), [`afad9af89`](https://github.com/clerk/javascript/commit/afad9af893984a19d7284f0ad3b36e7891d0d733)]:
1749 |   - @clerk/[email protected]
1750 |   - @clerk/[email protected]
1751 |   - @clerk/[email protected]
1752 | 
1753 | ## 1.2.4
1754 | 
1755 | ### Patch Changes
1756 | 
1757 | - Tidy up and improve README ([#4053](https://github.com/clerk/javascript/pull/4053)) by [@LekoArts](https://github.com/LekoArts)
1758 | 
1759 | - Updated dependencies [[`c9ef59106`](https://github.com/clerk/javascript/commit/c9ef59106c4720af3012586f5656f7b54cf2e336), [`fece72014`](https://github.com/clerk/javascript/commit/fece72014e2d39c8343a7329ae677badcba56d15), [`58e6754ad`](https://github.com/clerk/javascript/commit/58e6754ad9f9a1244b023ce1f5e5f2c1c4eb20e7), [`13693018f`](https://github.com/clerk/javascript/commit/13693018f4f7ac5d224698aa730e20960896f68c), [`3aa63dc5a`](https://github.com/clerk/javascript/commit/3aa63dc5a48161cfe92d94093ef0c32efd401342), [`9d0477781`](https://github.com/clerk/javascript/commit/9d04777814bf6d86d05506838b101e7cfc7c208d), [`3304dcc0b`](https://github.com/clerk/javascript/commit/3304dcc0bc93a92a7f729f585c60ff91d2ae04f6)]:
1760 |   - @clerk/[email protected]
1761 |   - @clerk/[email protected]
1762 |   - @clerk/[email protected]
1763 | 
1764 | ## 1.2.3
1765 | 
1766 | ### Patch Changes
1767 | 
1768 | - Updated dependencies [[`c1389492d`](https://github.com/clerk/javascript/commit/c1389492d8b6a9292ab04889bf776c0f45e66845)]:
1769 |   - @clerk/[email protected]
1770 |   - @clerk/[email protected]
1771 |   - @clerk/[email protected]
1772 | 
1773 | ## 1.2.2
1774 | 
1775 | ### Patch Changes
1776 | 
1777 | - Updated dependencies [[`0158c774a`](https://github.com/clerk/javascript/commit/0158c774af2243a2cd13b55c4d6fae877178c961), [`8be1a7abc`](https://github.com/clerk/javascript/commit/8be1a7abc8849d7d59552011bd6b25bc917d51f5)]:
1778 |   - @clerk/[email protected]
1779 |   - @clerk/[email protected]
1780 |   - @clerk/[email protected]
1781 | 
1782 | ## 1.2.1
1783 | 
1784 | ### Patch Changes
1785 | 
1786 | - Fixes a bug where subscribing to the `$clerkStore` nanostore would give incorrect values. ([#4008](https://github.com/clerk/javascript/pull/4008)) by [@wobsoriano](https://github.com/wobsoriano)
1787 | 
1788 | - Updated dependencies [[`247b3fd75`](https://github.com/clerk/javascript/commit/247b3fd75042365dc9f950db056b76f9fadfdcf6)]:
1789 |   - @clerk/[email protected]
1790 |   - @clerk/[email protected]
1791 |   - @clerk/[email protected]
1792 | 
1793 | ## 1.2.0
1794 | 
1795 | ### Minor Changes
1796 | 
1797 | - Add support for custom pages and links in the `<UserProfile />` Astro component. ([#3987](https://github.com/clerk/javascript/pull/3987)) by [@wobsoriano](https://github.com/wobsoriano)
1798 | 
1799 | - Add support for Astro `static` and `hybrid` outputs. ([#3911](https://github.com/clerk/javascript/pull/3911)) by [@wobsoriano](https://github.com/wobsoriano)
1800 | 
1801 | ### Patch Changes
1802 | 
1803 | - Fix incorrect authentication state when subscribing to client stores. ([#4000](https://github.com/clerk/javascript/pull/4000)) by [@wobsoriano](https://github.com/wobsoriano)
1804 | 
1805 | - Updated dependencies [[`ed7baa048`](https://github.com/clerk/javascript/commit/ed7baa0488df0ee4c48add2aac934ffb47e4a6d2)]:
1806 |   - @clerk/[email protected]
1807 | 
1808 | ## 1.1.0
1809 | 
1810 | ### Minor Changes
1811 | 
1812 | - Add support for custom menu items in the `<UserButton />` Astro component. ([#3969](https://github.com/clerk/javascript/pull/3969)) by [@wobsoriano](https://github.com/wobsoriano)
1813 | 
1814 | - Inject `windowNavigate` through router functions. ([#3922](https://github.com/clerk/javascript/pull/3922)) by [@panteliselef](https://github.com/panteliselef)
1815 | 
1816 | ### Patch Changes
1817 | 
1818 | - Remove dependency `@clerk/clerk-js`. ([#3965](https://github.com/clerk/javascript/pull/3965)) by [@panteliselef](https://github.com/panteliselef)
1819 | 
1820 |   Since clerk-js is being hotloaded it is unnecessary to keep the npm package as a dependency.
1821 | 
1822 | - Remove duplicate headers set in Clerk middleware ([#3948](https://github.com/clerk/javascript/pull/3948)) by [@wobsoriano](https://github.com/wobsoriano)
1823 | 
1824 | - Updated dependencies [[`dc0e1c33d`](https://github.com/clerk/javascript/commit/dc0e1c33d6844b028cb1ee11c3359b886d609f3c), [`dc94c0834`](https://github.com/clerk/javascript/commit/dc94c08341c883fa5bf891f880fb34c4569ea820)]:
1825 |   - @clerk/[email protected]
1826 |   - @clerk/[email protected]
1827 |   - @clerk/[email protected]
1828 | 
1829 | ## 1.0.12
1830 | 
1831 | ### Patch Changes
1832 | 
1833 | - Introduce functions that can be reused across front-end SDKs ([#3849](https://github.com/clerk/javascript/pull/3849)) by [@wobsoriano](https://github.com/wobsoriano)
1834 | 
1835 | - Updated dependencies [[`1305967bf`](https://github.com/clerk/javascript/commit/1305967bfefe7da48a586c3f65cf53f751044eb6), [`7e0ced3da`](https://github.com/clerk/javascript/commit/7e0ced3da94f41056bc4445d163d3b615afb6ab1), [`def3a3894`](https://github.com/clerk/javascript/commit/def3a38948969bddc94a0b5a045ad63e2a97b8f3), [`b6f0613dc`](https://github.com/clerk/javascript/commit/b6f0613dc9d8b0bab41cfabbaa8621b126e3bdf5)]:
1836 |   - @clerk/[email protected]
1837 |   - @clerk/[email protected]
1838 |   - @clerk/[email protected]
1839 |   - @clerk/[email protected]
1840 | 
1841 | ## 1.0.11
1842 | 
1843 | ### Patch Changes
1844 | 
1845 | - Updated dependencies [[`59d5f19d3`](https://github.com/clerk/javascript/commit/59d5f19d333bf4a35c244886e93b4368e215225c), [`4e6c94e3f`](https://github.com/clerk/javascript/commit/4e6c94e3f4cc92cbba8bddcd2b90fcc9cfb83763)]:
1846 |   - @clerk/[email protected]
1847 |   - @clerk/[email protected]
1848 |   - @clerk/[email protected]
1849 |   - @clerk/[email protected]
1850 | 
1851 | ## 1.0.10
1852 | 
1853 | ### Patch Changes
1854 | 
1855 | - Internal change: Use `AuthObject` type import from `@clerk/backend`. ([#3844](https://github.com/clerk/javascript/pull/3844)) by [@kduprey](https://github.com/kduprey)
1856 | 
1857 | - Updated dependencies [[`d7bf0f87c`](https://github.com/clerk/javascript/commit/d7bf0f87c4c50bc19d2796bca32bd694046a23b0), [`9b2aeacb3`](https://github.com/clerk/javascript/commit/9b2aeacb32fff7c300bda458636a1cc81a42ee7b)]:
1858 |   - @clerk/[email protected]
1859 |   - @clerk/[email protected]
1860 |   - @clerk/[email protected]
1861 |   - @clerk/[email protected]
1862 | 
1863 | ## 1.0.9
1864 | 
1865 | ### Patch Changes
1866 | 
1867 | - Updated dependencies [[`069103c8f`](https://github.com/clerk/javascript/commit/069103c8fbdf25a03e0992dc5478ebeaeaf122ea)]:
1868 |   - @clerk/[email protected]
1869 | 
1870 | ## 1.0.8
1871 | 
1872 | ### Patch Changes
1873 | 
1874 | - Updated dependencies [[`7e94fcf0f`](https://github.com/clerk/javascript/commit/7e94fcf0fcbee8842a54f7931c45190370aa870d)]:
1875 |   - @clerk/[email protected]
1876 |   - @clerk/[email protected]
1877 |   - @clerk/[email protected]
1878 |   - @clerk/[email protected]
1879 | 
1880 | ## 1.0.7
1881 | 
1882 | ### Patch Changes
1883 | 
1884 | - Updated dependencies [[`568186cad`](https://github.com/clerk/javascript/commit/568186cad29acaf0b084a9f86ccb9d29bd23fcf4), [`407195270`](https://github.com/clerk/javascript/commit/407195270ed8aab6eef18c64a4918e3870fef471)]:
1885 |   - @clerk/[email protected]
1886 |   - @clerk/[email protected]
1887 |   - @clerk/[email protected]
1888 |   - @clerk/[email protected]
1889 | 
1890 | ## 1.0.6
1891 | 
1892 | ### Patch Changes
1893 | 
1894 | - Updated dependencies [[`992e5960c`](https://github.com/clerk/javascript/commit/992e5960c785eace83f3bad7c34d589fa313dcaf)]:
1895 |   - @clerk/[email protected]
1896 | 
1897 | ## 1.0.5
1898 | 
1899 | ### Patch Changes
1900 | 
1901 | - Fixed a bug where the `<Protect />` component would not validate any properties passed ([#3846](https://github.com/clerk/javascript/pull/3846)) by [@wobsoriano](https://github.com/wobsoriano)
1902 | 
1903 | - Updated dependencies [[`fde5b5e7e`](https://github.com/clerk/javascript/commit/fde5b5e7e6fb5faa4267e06d82a38a176165b4f4), [`aa06f3ba7`](https://github.com/clerk/javascript/commit/aa06f3ba7e725071c90d4a1d6840060236da3c23), [`80e647731`](https://github.com/clerk/javascript/commit/80e64773135865434cf0e6c220e287397aa07937)]:
1904 |   - @clerk/[email protected]
1905 |   - @clerk/[email protected]
1906 |   - @clerk/[email protected]
1907 |   - @clerk/[email protected]
1908 | 
1909 | ## 1.0.4
1910 | 
1911 | ### Patch Changes
1912 | 
1913 | - Introduce option to opt-out of telemetry data collection ([#3808](https://github.com/clerk/javascript/pull/3808)) by [@wobsoriano](https://github.com/wobsoriano)
1914 | 
1915 | - Allow the handler of `clerkMiddleware` to return undefined. When undefined is returned, `clerkMiddleware` implicitly calls `await next()`. ([#3792](https://github.com/clerk/javascript/pull/3792)) by [@wobsoriano](https://github.com/wobsoriano)
1916 | 
1917 | - Updated dependencies [[`b48689705`](https://github.com/clerk/javascript/commit/b48689705f9fc2251d2f24addec7a0d0b1da0fe1), [`17bbe0199`](https://github.com/clerk/javascript/commit/17bbe01994beb9c5e53355cc692a5d71ddf4cc8c), [`4e61f8d27`](https://github.com/clerk/javascript/commit/4e61f8d2770907f48a53d530187a7b6de09f107e)]:
1918 |   - @clerk/[email protected]
1919 |   - @clerk/[email protected]
1920 |   - @clerk/[email protected]
1921 |   - @clerk/[email protected]
1922 | 
1923 | ## 1.0.3
1924 | 
1925 | ### Patch Changes
1926 | 
1927 | - Updated dependencies [[`d465d7069`](https://github.com/clerk/javascript/commit/d465d70696bf26270cb2efbf4695ca49016fcb96)]:
1928 |   - @clerk/[email protected]
1929 | 
1930 | ## 1.0.2
1931 | 
1932 | ### Patch Changes
1933 | 
1934 | - Updated dependencies [[`045fb93cb`](https://github.com/clerk/javascript/commit/045fb93cbf577ca84e5b95fc6dfaacde67693be2)]:
1935 |   - @clerk/[email protected]
1936 |   - @clerk/[email protected]
1937 | 
1938 | ## 1.0.1
1939 | 
1940 | ### Patch Changes
1941 | 
1942 | - Updated dependencies [[`b87f7b9e1`](https://github.com/clerk/javascript/commit/b87f7b9e163756fd43789bc7b7344d2eb24015ec), [`e1a8666b3`](https://github.com/clerk/javascript/commit/e1a8666b3e6dbd8d37905fbfeff2e65a17b0769d), [`b2788f67b`](https://github.com/clerk/javascript/commit/b2788f67b75cce17af1a2f91a984bb826a5a42e1), [`b2788f67b`](https://github.com/clerk/javascript/commit/b2788f67b75cce17af1a2f91a984bb826a5a42e1), [`c5d01525d`](https://github.com/clerk/javascript/commit/c5d01525d72f2b131441bfef90d1145b03be3d13), [`86c75e50c`](https://github.com/clerk/javascript/commit/86c75e50cba9c4efb480672f1b8c6a6fff4ef477)]:
1943 |   - @clerk/[email protected]
1944 |   - @clerk/[email protected]
1945 |   - @clerk/[email protected]
1946 |   - @clerk/[email protected]
1947 | 
1948 | ## 1.0.0
1949 | 
1950 | ### Major Changes
1951 | 
1952 | - Introduce the official Clerk SDK for Astro. ([#3743](https://github.com/clerk/javascript/pull/3743)) by [@panteliselef](https://github.com/panteliselef)
1953 | 
1954 | ### Patch Changes
1955 | 
1956 | - Allow for client side navigation inside UI components and improves the UX while navigating in components with path routing. ([#3734](https://github.com/clerk/javascript/pull/3734)) by [@panteliselef](https://github.com/panteliselef)
1957 | 
1958 | ## 0.0.4
1959 | 
1960 | ### Patch Changes
1961 | 
1962 | - Introduce `<ClerkLoaded/>` and `<ClerkLoading/>` React components ([#3724](https://github.com/clerk/javascript/pull/3724)) by [@wobsoriano](https://github.com/wobsoriano)
1963 | 
1964 | ## 0.0.3
1965 | 
1966 | ### Patch Changes
1967 | 
1968 | - Update existing env variables that is still using `PUBLIC_ASTRO_APP` prefix to `PUBLIC_`. by [@nikosdouvlis](https://github.com/nikosdouvlis)
1969 | 
1970 | - Move `@clerk/astro/components/*` to `@clerk/astro/components` by [@nikosdouvlis](https://github.com/nikosdouvlis)
1971 | 
1972 |   ```diff
1973 |   - import { UserProfile } from "@clerk/astro/components/interactive"
1974 |   + import { UserProfile } from "@clerk/astro/components"
1975 | 
1976 |   - import { Protect } from "@clerk/astro/components/control"
1977 |   + import { Protect } from "@clerk/astro/components"
1978 | 
1979 |   - import { SignInButton } from "@clerk/astro/components/unstyled"
1980 |   + import { SignInButton } from "@clerk/astro/components"
1981 |   ```
1982 | 
1983 | - Simplify submodules and drop the `bundled` variant. by [@nikosdouvlis](https://github.com/nikosdouvlis)
1984 | 
1985 |   Moved
1986 | 
1987 |   - `@clerk/astro/client/react` to `@clerk/astro/react`
1988 |   - `@clerk/astro/client/stores` to `@clerk/astro/client`
1989 |     Dropped
1990 |   - `@clerk/astro/bundled`
1991 |   - `@clerk/astro/client/bundled`
1992 |   - `@clerk/astro/internal/bundled`
1993 |   - `@clerk/astro/integration`
1994 |   - `@clerk/astro/integration/bundled`
1995 | 
1996 | - Support `Astro.locals.auth().redirectToSignIn()` by [@nikosdouvlis](https://github.com/nikosdouvlis)
1997 | 
1998 |   This allows for redirectingToSignIn at the page level
1999 | 
2000 | - Add a reusable ID generation function by [@nikosdouvlis](https://github.com/nikosdouvlis)
2001 | 
2002 | - Remove `@nanostores/react` from dependency. by [@nikosdouvlis](https://github.com/nikosdouvlis)
2003 | 
2004 | - Introduce `<AuthenticateWithRedirectCallback/>` as an Astro and as a React component by [@nikosdouvlis](https://github.com/nikosdouvlis)
2005 | 
2006 | - Updated dependencies [[`df7d856d5`](https://github.com/clerk/javascript/commit/df7d856d56bc3b1dcbdbf9155b4ef1b1ea5971f7), [`df7d856d5`](https://github.com/clerk/javascript/commit/df7d856d56bc3b1dcbdbf9155b4ef1b1ea5971f7)]:
2007 |   - @clerk/[email protected]
2008 |   - @clerk/[email protected]
2009 |   - @clerk/[email protected]
2010 |   - @clerk/[email protected]
2011 | 
2012 | ## 0.0.2
2013 | 
2014 | ### Patch Changes
2015 | 
2016 | - Add an Astro component and a React UI Component for Google One Tap. ([#3676](https://github.com/clerk/javascript/pull/3676)) by [@panteliselef](https://github.com/panteliselef)
2017 | 
2018 | - Add unstyled authentication button components for Astro and React integration ([#3656](https://github.com/clerk/javascript/pull/3656)) by [@wobsoriano](https://github.com/wobsoriano)
2019 | 
2020 | - Introduce a shared component for interactive components that handles UI mounting ([#3664](https://github.com/clerk/javascript/pull/3664)) by [@wobsoriano](https://github.com/wobsoriano)
2021 | 
2022 | - Improve stream processing performance ([#3673](https://github.com/clerk/javascript/pull/3673)) by [@wobsoriano](https://github.com/wobsoriano)
2023 | 
2024 | - Drop convenience Astro wrappers for React components ([#3682](https://github.com/clerk/javascript/pull/3682)) by [@wobsoriano](https://github.com/wobsoriano)
2025 | 
2026 | - Change prefix for public env variables to `PUBLIC_`. The previous prefix was `PUBLIC_ASTRO_APP_`. ([#3669](https://github.com/clerk/javascript/pull/3669)) by [@panteliselef](https://github.com/panteliselef)
2027 | 
2028 |   - After this change the publishable key from should be set as `PUBLIC_CLERK_PUBLISHABLE_KEY=xxxxx`
2029 | 
2030 | - Implement telemetry for nanostores and middleware usage; include SDK metadata. ([#3662](https://github.com/clerk/javascript/pull/3662)) by [@wobsoriano](https://github.com/wobsoriano)
2031 | 
2032 | - Bug fix: Removed import.meta from integration to avoid breaking app during build. ([#3675](https://github.com/clerk/javascript/pull/3675)) by [@panteliselef](https://github.com/panteliselef)
2033 | 
2034 | - Updated dependencies [[`09f905a89`](https://github.com/clerk/javascript/commit/09f905a8915a39179cbffb2149342ca138bedb77), [`6a98c084e`](https://github.com/clerk/javascript/commit/6a98c084e89afb3800edb3d0136c396e020be6b7), [`5642b2616`](https://github.com/clerk/javascript/commit/5642b26167a6eb1aca68777d782a9686edacfd37)]:
2035 |   - @clerk/[email protected]
2036 |   - @clerk/[email protected]
2037 | 
2038 | ## 0.0.1
2039 | 
2040 | ### Patch Changes
2041 | 
2042 | - Introduce an experimental version of the official [Astro](https://astro.build/) SDK called `@clerk/astro` ([#3646](https://github.com/clerk/javascript/pull/3646)) by [@panteliselef](https://github.com/panteliselef)
2043 | 
```
Page 3448/3460FirstPrevNextLast