Files
supabase/packages/ui
Gildas Garcia cf3569c16d fix: switch fields aren't accessible with tab on Safari (#45083)
## Problem

Similar to #45064, switch fields aren't accessible with tab on Safari.

Example:
- Open
https://studio-staging-git-gildasgarcia-fe-2998-suggest-e7fb9e-supabase.vercel.app
- Create a new project
- Move through fields with tab, note that you can't focus _High
Availability_

## Solution

- Add a `tabindex="0"` on `<Switch>`
- Add a `tabindex="0"` on `<Toggle>` (was a mistake as we don't actually
use it yet but it will be needed when we do)


## How to test

- Open the staging
- Create a new project
- Move through fields with tab, note that you can focus _High
Availability_

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Switch and Toggle controls now correctly participate in keyboard tab
order, improving focusability and keyboard navigation for accessibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-21 09:45:34 +02:00
..
2023-06-26 01:08:20 +08:00
2025-04-09 16:13:53 +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",