diff --git a/.changeset/cuddly-heads-battle.md b/.changeset/cuddly-heads-battle.md new file mode 100644 index 00000000000..c1041747f41 --- /dev/null +++ b/.changeset/cuddly-heads-battle.md @@ -0,0 +1,37 @@ +--- +'@clerk/clerk-js': minor +'@clerk/themes': minor +'@clerk/types': minor +--- + +Expose Clerk CSS variables as an option for theming Clerk's components. This change introduces CSS custom properties that allow developers to customize Clerk's appearance using standard CSS variables, providing a more flexible theming approach. + + +```css +:root { + --clerk-color-primary: #6D47FF; + --clerk-color-primary-foreground: #FFFFFF; +} +``` + +## Deprecated variables + + +| Deprecated | New | +|--------|--------| +| `colorText` | `colorForeground` | +| `colorTextOnPrimaryBackground` | `colorPrimaryForeground` | +| `colorTextSecondary` | `colorMutedForeground` | +| `spacingUnit` | `spacing` | +| `colorInputText` | `colorInputForeground` | +| `colorInputBackground` | `colorInput` | + +Deprecated variables will continue to work but will be removed in the next major version. + +## New variables + +- `colorRing` - The color of the ring when an interactive element is focused. +- `colorMuted` - The background color for elements of lower importance, eg: a muted background. +- `colorShadow` - The base shadow color used in the components. +- `colorBorder` - The base border color used in the components. +- `colorModalBackdrop` - The background color of the modal backdrop. \ No newline at end of file diff --git a/packages/clerk-js/bundlewatch.config.json b/packages/clerk-js/bundlewatch.config.json index c057b996f26..c2337fff6e8 100644 --- a/packages/clerk-js/bundlewatch.config.json +++ b/packages/clerk-js/bundlewatch.config.json @@ -1,11 +1,11 @@ { "files": [ - { "path": "./dist/clerk.js", "maxSize": "616kB" }, + { "path": "./dist/clerk.js", "maxSize": "616.27KB" }, { "path": "./dist/clerk.browser.js", "maxSize": "72.2KB" }, - { "path": "./dist/clerk.legacy.browser.js", "maxSize": "115KB" }, + { "path": "./dist/clerk.legacy.browser.js", "maxSize": "115.08KB" }, { "path": "./dist/clerk.headless*.js", "maxSize": "55KB" }, - { "path": "./dist/ui-common*.js", "maxSize": "111KB" }, - { "path": "./dist/ui-common*.legacy.*.js", "maxSize": "115KB" }, + { "path": "./dist/ui-common*.js", "maxSize": "111.52KB" }, + { "path": "./dist/ui-common*.legacy.*.js", "maxSize": "115.33KB" }, { "path": "./dist/vendors*.js", "maxSize": "40.2KB" }, { "path": "./dist/coinbase*.js", "maxSize": "38KB" }, { "path": "./dist/stripe-vendors*.js", "maxSize": "1KB" }, diff --git a/packages/clerk-js/sandbox/app.ts b/packages/clerk-js/sandbox/app.ts index e2752c2f7b3..c04981e2b77 100644 --- a/packages/clerk-js/sandbox/app.ts +++ b/packages/clerk-js/sandbox/app.ts @@ -156,16 +156,17 @@ function appearanceVariableOptions() { 'colorPrimary', 'colorNeutral', 'colorBackground', - 'colorTextOnPrimaryBackground', + 'colorPrimaryForeground', + 'colorForeground', 'colorDanger', 'colorSuccess', 'colorWarning', - 'colorText', - 'colorTextSecondary', - 'colorInputText', - 'colorInputBackground', + 'colorForeground', + 'colorMutedForeground', + 'colorInputForeground', + 'colorInput', 'colorShimmer', - 'spacingUnit', + 'spacing', 'borderRadius', ] as const; diff --git a/packages/clerk-js/sandbox/template.html b/packages/clerk-js/sandbox/template.html index 0e5003dd7dd..315482ffc8d 100644 --- a/packages/clerk-js/sandbox/template.html +++ b/packages/clerk-js/sandbox/template.html @@ -216,11 +216,11 @@ /> @@ -252,38 +252,38 @@ /> @@ -297,10 +297,10 @@ />