-
Notifications
You must be signed in to change notification settings - Fork 48
Guide: Migrate to new variable scheme
Jonas Hungershausen edited this page Dec 30, 2024
·
1 revision
With 1.0.0-next.18, we migrated to a new variable naming scheme. This affects you, if you used the CSS based theming approach. Many of the changes only made variable names clearer. Some variables have been added, and the overall system has been improved to allow clearer inheritance of values from other variables.
To ease migration, you can use this snippet, that converts most of the colors from the old system to the new system. In the long term, please migrate your colors to the new system.
:root {
/* light */
/* color */
/* foreground */
--interface-foreground-brand-on-primary: var(--ui-white, #ffffff);
--interface-foreground-brand-on-secondary: var(--brand-950, #172554);
--interface-foreground-brand-primary: var(--brand-500, #3b82f6);
--interface-foreground-brand-secondary: var(--brand-50, #eff6ff);
--interface-foreground-default-inverted: var(--ui-white, #ffffff);
--interface-foreground-default-primary: var(--dialog-fg-default);
--interface-foreground-default-secondary: var(--dialog-fg-subtle);
--interface-foreground-default-tertiary: var(--dialog-fg-mute);
--interface-foreground-disabled-disabled: var(--ui-300, #cbd5e1);
--interface-foreground-disabled-on-disabled: var(--ui-400, #94a3b8);
--interface-foreground-validation-danger: var(--forms-fg-error);
--interface-foreground-validation-success: var(--forms-fg-success);
--interface-foreground-validation-warning: var(--forms-fg-warn);
/* background */
--interface-background-brand-primary: var(--brand-500, #3b82f6);
--interface-background-brand-primary-hover: var(--ui-900, #0f172a);
--interface-background-brand-secondary: var(--bg-default);
--interface-background-brand-secondary-hover: var(--brand-100, #dbeafe);
--interface-background-default-inverted: var(--ui-900, #0f172a);
--interface-background-default-inverted-hover: var(--ui-800, #1e293b);
--interface-background-default-none: var(--ui-transparent, #ffffff00);
--interface-background-default-primary: var(--dialog-bg-default);
--interface-background-default-primary-hover: var(--forms-bg-hover);
--interface-background-default-secondary: var(--dialog-bg-subtle, #f8fafc);
--interface-background-default-secondary-hover: var(--ui-200, #e2e8f0);
--interface-background-default-tertiary: var(--ui-200, #e2e8f0);
--interface-background-default-tertiary-hover: var(--ui-300, #cbd5e1);
--interface-background-disabled-disabled: var(--ui-200, #e2e8f0);
--interface-background-validation-danger: var(--ui-danger, #ef4444);
--interface-background-validation-success: var(--ui-success, #22c55e);
--interface-background-validation-warning: var(--ui-warning, #eab308);
/* border */
--interface-border-brand-brand: var(--brand-500, #3b82f6);
--interface-border-default-inverted: var(--ui-700, #334155);
--interface-border-default-none: var(--ui-transparent, #ffffff00);
--interface-border-default-primary: var(--dialog-border-default);
--interface-border-disabled-disabled: var(--forms-fg-disabled);
--interface-border-validation-danger: var(--forms-border-error);
--interface-border-validation-success: var(--forms-border-success);
--interface-border-validation-warning: var(--forms-border-warn);
/* buttons */
/* identifier */
--button-identifier-background-default: var(--button-identifier-bg-default);
--button-identifier-background-hover: var(--button-identifier-bg-hover);
--button-identifier-border-border-default: var(
--button-identifier-border-default
);
--button-identifier-border-border-hover: var(
--button-identifier-border-hover
);
--button-identifier-foreground-default: var(--button-identifier-fg-default);
--button-identifier-foreground-hover: var(--button-identifier-fg-subtle);
/* links */
--button-link-disabled: var(--links-link-disabled);
--button-link-brand-brand: var(--links-link-default);
--button-link-brand-brand-hover: var(--links-link-hover);
--button-link-default-primary: var(--links-link-inverted-default);
--button-link-default-primary-hover: var(--links-link-inverted-hover);
--button-link-default-secondary: var(--links-link-mute-default);
--button-link-default-secondary-hover: var(--links-link-mute-hover);
/* primary */
--button-primary-background-default: var(--button-primary-bg-default);
--button-primary-background-disabled: var(--button-primary-bg-disabled);
--button-primary-background-hover: var(--button-primary-bg-hover);
--button-primary-border-default: var(--button-primary-border-default);
--button-primary-border-disabled: var(--button-primary-border-disabled);
--button-primary-border-hover: var(--button-primary-border-hover);
--button-primary-foreground-default: var(--button-primary-fg-default);
--button-primary-foreground-disabled: var(--button-primary-fg-disabled);
--button-primary-foreground-hover: var(--button-primary-fg-hover);
/* secondary */
--button-secondary-background-default: var(--button-secondary-bg-default);
--button-secondary-background-disabled: var(--button-secondary-bg-disabled);
--button-secondary-background-hover: var(--button-secondary-bg-hover);
--button-secondary-border-default: var(--button-secondary-border-default);
--button-secondary-border-disabled: var(--button-secondary-border-disabled);
--button-secondary-border-hover: var(--button-secondary-border-hover);
--button-secondary-foreground-default: var(--button-secondary-fg-default);
--button-secondary-foreground-disabled: var(--button-secondary-fg-disabled);
--button-secondary-foreground-hover: var(--button-secondary-fg-hover);
/* social */
--button-social-background-default: var(
--button-social-bg-default,
var(--button-secondary-bg-default)
);
--button-social-background-disabled: var(
--button-social-bg-disabled,
var(--button-secondary-bg-disabled)
);
--button-social-background-generic-provider: var(
--button-social-bg-provider,
var(--button-secondary-bg-provider)
);
--button-social-background-hover: var(
--button-social-bg-hover,
var(--button-secondary-bg-hover)
);
--button-social-border-default: var(
--button-social-border-default,
var(--button-secondary-border-default)
);
--button-social-border-disabled: var(
--button-social-border-disabled,
var(--button-secondary-border-disabled)
);
--button-social-border-generic-provider: var(
--button-social-border-provider,
var(--button-secondary-border-provider)
);
--button-social-border-hover: var(
--button-social-border-hover,
var(--button-secondary-border-hover)
);
--button-social-foreground-default: var(
--button-social-fg-default,
var(--button-secondary-fg-default)
);
--button-social-foreground-disabled: var(
--button-social-fg-disabled,
var(--button-secondary-fg-disabled)
);
--button-social-foreground-generic-provider: var(
--button-social-fg-provider,
var(--button-secondary-fg-provider)
);
--button-social-foreground-hover: var(
--button-social-fg-hover,
var(--button-secondary-fg-hover)
);
/* checkbox */
--checkbox-background-checked: var(--forms-checkbox-checkbox-bg-checked);
--checkbox-background-default: var(--forms-checkbox-checkbox-bg-default);
--checkbox-border-checkbox-border-checked: var(
--forms-checkbox-checkbox-border-checked
);
--checkbox-border-checkbox-border-default: var(
--forms-checkbox-checkbox-border-default
);
--checkbox-foreground-checked: var(--forms-checkbox-checkbox-fg-checked);
--checkbox-foreground-default: var(--forms-checkbox-checkbox-fg-default);
/* form */
--form-background-default: var(--dialog-bg-default);
--form-border-default: var(--dialog-border-default);
/* input */
--input-background-default: var(--forms-bg-default);
--input-background-disabled: var(--forms-bg-disabled);
--input-background-hover: var(--forms-bg-hover);
--input-border-default: var(--forms-border-default);
--input-border-disabled: var(--forms-border-disabled);
--input-border-focus: var(--forms-border-focus);
--input-border-hover: var(--forms-border-hover);
--input-foreground-disabled: var(--forms-fg-disabled);
--input-foreground-primary: var(--forms-fg-default);
--input-foreground-secondary: var(--forms-fg-subtle);
--input-foreground-tertiary: var(--forms-fg-mute);
/* radio */
--radio-background-checked: var(--forms-radio-radio-bg-checked);
--radio-background-default: var(--forms-radio-radio-bg-default);
--radio-border-checked: var(--forms-radio-radio-border-checked);
--radio-border-default: var(--forms-radio-radio-border-default);
--radio-foreground-checked: var(--forms-radio-radio-fg-checked);
--radio-foreground-default: var(--forms-radio-radio-fg-default);
/* toggle */
--toggle-background-checked: var(--forms-toggle-toggle-bg-checked);
--toggle-background-default: var(--forms-toggle-toggle-bg-default);
--toggle-border-checked: var(--forms-toggle-toggle-border-checked);
--toggle-border-default: var(--forms-toggle-toggle-border-default);
--toggle-foreground-checked: var(--forms-toggle-toggle-fg-checked);
--toggle-foreground-default: var(--forms-toggle-toggle-fg-default);
/* ory */
--ory-background-default: var(--branding-bg-default);
--ory-border-default: var(--branding-border-default);
--ory-foreground-default: var(--branding-fg-default);
}