Files
Charis 0592908b48 fix(ui): restore Safari clipboard support with proper await behavior (#42427)
Bug fix

## What is the current behavior?

Clipboard write operations can fail silently in Safari due to timing
issues with the browser's security model.

## What is the new behavior?

Re-add setTimeout(0) wrapper for Safari clipboard write reliability
while using a signalling promise to preserve correct await behavior for
callers.

## Additional context

Resolves FE-2449

## Summary by CodeRabbit

* **Bug Fixes**
* Improved clipboard copy behavior: copy operations now return a promise
that resolves only after the copy and any provided callback complete,
ensuring more reliable timing and consistent completion signals across
browsers (notably addressing Safari timing issues).
2026-02-04 16:49:56 -05:00
..
2023-06-26 01:08:20 +08:00
2025-04-09 16:13:53 +01:00
2024-12-16 11:50:20 +01:00

Supabase UI Package

Figma-tokens setup

Tokens setup is based partly on blogpost on the Mirahi Digital Garden.

Transforms tokens stored on Figma Tokens using token-transformer and Style Dictionary to css-variables with references, and use them in your TailwindCSS environment with multiple themes.

Build all the styles files (css-variables and tailwind config)

npm run build-styles

This creates a directory called styles with the tokens and also CSS required.

Other examples

You can find other examples here by Jan Six

Adding new themes/sets

Add new sets by extending the scripts in package.json. Currently theme sets derive from exported/[set name] but can come from anywhere.

Adding a new set can be done with the following:

// package.json

//..
"build-transform-light": "npx token-transformer tokens.json styles/tokens/02_themes/light.json global,exported/light,theme global",
// add a new line like this:
"build-transform-new": "npx token-transformer tokens.json styles/tokens/02_themes/new.json global,new,theme global",
//..
// append the new theme/set command to end of the build-transform command
"build-transform": "npm run build-transform-global && npm run build-transform-typography && npm run build-transform-dark  && npm run build-transform-light && npm run build-transform-new",