Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion apps/www/src/content/docs/theme/colors/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,18 @@ Overlay colors are used for modals, tooltips, and layered elements.
<TokenTable
type="color"
tokens={[
{ name: "--rs-color-overlay-base-primary", description: "Default overlay" },
{ name: "--rs-color-overlay-base-a1", description: "Theme-aware overlay at 5% opacity" },
{ name: "--rs-color-overlay-base-a2", description: "Theme-aware overlay at 10% opacity" },
{ name: "--rs-color-overlay-base-a3", description: "Theme-aware overlay at 15% opacity" },
{ name: "--rs-color-overlay-base-a4", description: "Theme-aware overlay at 20% opacity" },
{ name: "--rs-color-overlay-base-a5", description: "Theme-aware overlay at 30% opacity" },
{ name: "--rs-color-overlay-base-a6", description: "Theme-aware overlay at 40% opacity" },
{ name: "--rs-color-overlay-base-a7", description: "Theme-aware overlay at 50% opacity" },
{ name: "--rs-color-overlay-base-a8", description: "Theme-aware overlay at 60% opacity" },
{ name: "--rs-color-overlay-base-a9", description: "Theme-aware overlay at 70% opacity" },
{ name: "--rs-color-overlay-base-a10", description: "Theme-aware overlay at 80% opacity" },
{ name: "--rs-color-overlay-base-a11", description: "Theme-aware overlay at 90% opacity" },
{ name: "--rs-color-overlay-base-a12", description: "Theme-aware overlay at 95% opacity" },
{ name: "--rs-color-overlay-black-a1", description: "Black overlay at 5% opacity" },
{ name: "--rs-color-overlay-black-a2", description: "Black overlay at 10% opacity" },
{ name: "--rs-color-overlay-black-a3", description: "Black overlay at 15% opacity" },
Expand Down
15 changes: 15 additions & 0 deletions docs/V1-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,21 @@ If you reference these CSS variables in custom styles:
.accordion-panel { height: var(--accordion-panel-height); }
```

#### Overlay Tokens

`--rs-color-overlay-base-primary` has been removed. Its direct equivalent is `--rs-color-overlay-black-a5`. For theme-aware behavior (black in light, white in dark), use `--rs-color-overlay-base-a5` instead.

```css
/* Before */
.backdrop { background-color: var(--rs-color-overlay-base-primary); }

/* After — equivalent (always 30% black) */
.backdrop { background-color: var(--rs-color-overlay-black-a5); }

/* After — theme-aware (30% black in light, 30% white in dark) */
.backdrop { background-color: var(--rs-color-overlay-base-a5); }
```

### Form Field Pattern

Labels, descriptions, errors, and optional indicators have been extracted from individual form controls into a new `Field` wrapper component. This is a **breaking change** for `InputField` (now `Input`) and `TextArea`.
Expand Down
2 changes: 1 addition & 1 deletion packages/raystack/components/command/command.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@
position: fixed;
inset: 0;
z-index: var(--rs-z-index-portal);
background-color: var(--rs-color-overlay-base-primary);
background-color: var(--rs-color-overlay-black-a5);
transition:
opacity 200ms ease-out,
backdrop-filter 200ms ease-out;
Expand Down
6 changes: 4 additions & 2 deletions packages/raystack/components/dialog/dialog.module.css
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
.dialogOverlay {
background-color: var(--rs-color-overlay-base-primary);
background-color: var(--rs-color-overlay-black-a5);
position: fixed;
inset: 0;
transition: opacity 150ms cubic-bezier(0.45, 1.005, 0, 1.005);
Expand Down Expand Up @@ -86,7 +86,9 @@

@media (prefers-reduced-motion: no-preference) {
.dialogContent {
transition: opacity 150ms, transform 150ms;
transition:
opacity 150ms,
transform 150ms;
}
}

Expand Down
2 changes: 1 addition & 1 deletion packages/raystack/components/drawer/drawer.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
inset: 0;
min-height: 100dvh;
z-index: var(--rs-z-index-portal);
background-color: var(--rs-color-overlay-base-primary);
background-color: var(--rs-color-overlay-black-a5);
opacity: calc(1 - var(--drawer-swipe-progress, 0));
transition: opacity 450ms cubic-bezier(0.32, 0.72, 0, 1);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

.thumb {
flex: 1;
background: var(--rs-color-border-base-primary);
background: var(--rs-color-overlay-base-a5);
border-radius: var(--rs-radius-2);
transition: opacity 150ms ease-out;
opacity: 1;
Expand Down
72 changes: 42 additions & 30 deletions packages/raystack/styles/colors.css
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Note: Use color variables from this file only.
* Avoid using color variables from other files in the v1/styles folder directly.
/*
* Note: Use color variables from this file only.
* Avoid using color variables from other files in the v1/styles folder directly.
*/

:root {
Expand Down Expand Up @@ -59,35 +59,47 @@
--rs-color-border-success-primary: var(--rs-success-7);
--rs-color-border-success-emphasis: var(--rs-success-9);

/* Overlay Colors */
--rs-color-overlay-base-primary: var(--rs-overlay-1);
/* Overlay Base Colors */
--rs-color-overlay-base-a1: var(--rs-alpha-a1);
--rs-color-overlay-base-a2: var(--rs-alpha-a2);
--rs-color-overlay-base-a3: var(--rs-alpha-a3);
--rs-color-overlay-base-a4: var(--rs-alpha-a4);
--rs-color-overlay-base-a5: var(--rs-alpha-a5);
--rs-color-overlay-base-a6: var(--rs-alpha-a6);
--rs-color-overlay-base-a7: var(--rs-alpha-a7);
--rs-color-overlay-base-a8: var(--rs-alpha-a8);
--rs-color-overlay-base-a9: var(--rs-alpha-a9);
--rs-color-overlay-base-a10: var(--rs-alpha-a10);
--rs-color-overlay-base-a11: var(--rs-alpha-a11);
--rs-color-overlay-base-a12: var(--rs-alpha-a12);

/* Black Overlay */
--rs-color-overlay-black-a1: oklch(0 0 0 / 0.051); /* 5% opacity */
--rs-color-overlay-black-a2: oklch(0 0 0 / 0.102); /* 10% opacity */
--rs-color-overlay-black-a3: oklch(0 0 0 / 0.149); /* 15% opacity */
--rs-color-overlay-black-a4: oklch(0 0 0 / 0.2); /* 20% opacity */
--rs-color-overlay-black-a5: oklch(0 0 0 / 0.302); /* 30% opacity */
--rs-color-overlay-black-a6: oklch(0 0 0 / 0.4); /* 40% opacity */
--rs-color-overlay-black-a7: oklch(0 0 0 / 0.502); /* 50% opacity */
--rs-color-overlay-black-a8: oklch(0 0 0 / 0.6); /* 60% opacity */
--rs-color-overlay-black-a9: oklch(0 0 0 / 0.702); /* 70% opacity */
--rs-color-overlay-black-a10: oklch(0 0 0 / 0.8); /* 80% opacity */
--rs-color-overlay-black-a11: oklch(0 0 0 / 0.902); /* 90% opacity */
--rs-color-overlay-black-a12: oklch(0 0 0 / 0.949); /* 95% opacity */
--rs-color-overlay-black-a1: oklch(0 0 0 / 0.05);
--rs-color-overlay-black-a2: oklch(0 0 0 / 0.1);
--rs-color-overlay-black-a3: oklch(0 0 0 / 0.15);
--rs-color-overlay-black-a4: oklch(0 0 0 / 0.2);
--rs-color-overlay-black-a5: oklch(0 0 0 / 0.3);
--rs-color-overlay-black-a6: oklch(0 0 0 / 0.4);
--rs-color-overlay-black-a7: oklch(0 0 0 / 0.5);
--rs-color-overlay-black-a8: oklch(0 0 0 / 0.6);
--rs-color-overlay-black-a9: oklch(0 0 0 / 0.7);
--rs-color-overlay-black-a10: oklch(0 0 0 / 0.8);
--rs-color-overlay-black-a11: oklch(0 0 0 / 0.9);
--rs-color-overlay-black-a12: oklch(0 0 0 / 0.95);

/* White Overlay */
--rs-color-overlay-white-a1: oklch(1 0 0 / 0.051); /* 5% opacity */
--rs-color-overlay-white-a2: oklch(1 0 0 / 0.102); /* 10% opacity */
--rs-color-overlay-white-a3: oklch(1 0 0 / 0.149); /* 15% opacity */
--rs-color-overlay-white-a4: oklch(1 0 0 / 0.2); /* 20% opacity */
--rs-color-overlay-white-a5: oklch(1 0 0 / 0.302); /* 30% opacity */
--rs-color-overlay-white-a6: oklch(1 0 0 / 0.4); /* 40% opacity */
--rs-color-overlay-white-a7: oklch(1 0 0 / 0.502); /* 50% opacity */
--rs-color-overlay-white-a8: oklch(1 0 0 / 0.6); /* 60% opacity */
--rs-color-overlay-white-a9: oklch(1 0 0 / 0.702); /* 70% opacity */
--rs-color-overlay-white-a10: oklch(1 0 0 / 0.8); /* 80% opacity */
--rs-color-overlay-white-a11: oklch(1 0 0 / 0.902); /* 90% opacity */
--rs-color-overlay-white-a12: oklch(1 0 0 / 0.949); /* 95% opacity */
--rs-color-overlay-white-a1: oklch(1 0 0 / 0.05);
--rs-color-overlay-white-a2: oklch(1 0 0 / 0.1);
--rs-color-overlay-white-a3: oklch(1 0 0 / 0.15);
--rs-color-overlay-white-a4: oklch(1 0 0 / 0.2);
--rs-color-overlay-white-a5: oklch(1 0 0 / 0.3);
--rs-color-overlay-white-a6: oklch(1 0 0 / 0.4);
--rs-color-overlay-white-a7: oklch(1 0 0 / 0.5);
--rs-color-overlay-white-a8: oklch(1 0 0 / 0.6);
--rs-color-overlay-white-a9: oklch(1 0 0 / 0.7);
--rs-color-overlay-white-a10: oklch(1 0 0 / 0.8);
--rs-color-overlay-white-a11: oklch(1 0 0 / 0.9);
--rs-color-overlay-white-a12: oklch(1 0 0 / 0.95);

/* Additional Background Colors */
--rs-color-background-neutral-primary: var(--rs-neutral-3);
Expand All @@ -108,7 +120,7 @@
--rs-color-foreground-danger-emphasis: var(--rs-danger-contrast);
--rs-color-foreground-attention-emphasis: var(--rs-attention-contrast);
--rs-color-foreground-success-emphasis: var(--rs-success-contrast);

/* Visualization Colors */
/* Sky */
--rs-color-viz-sky-11: var(--rs-viz-sky-11);
Expand Down
Loading
Loading