## What kind of change does this PR introduce?
Accessibility / lint hardening (Safari keyboard focus).
## What is the current behavior?
`supabase/require-explicit-tabindex` is `'warn'`. Studio’s ratchet was
at 0 but the rule was still ratcheted; www / docs / design-system still
had raw `<button>` / `role="button"` call sites without an explicit
`tabIndex`.
[DEPR-627](https://linear.app/supabase/issue/DEPR-627) · follow-up to
#47984 / #48040
## What is the new behavior?
- Shared config: `'supabase/require-explicit-tabindex': 'error'`
- Swept www / docs / design-system (+ Studio test fixtures the ratchet
skipped)
- Removed the rule from the Studio ratchet + baselines
## To test
Prefer **Safari**. This PR only adds explicit `tabIndex` to raw
`<button>` / `role="button"` call sites — not links, and not controls
that already go through `Button` from `ui`.
### Marketing (`www`) ([staging
link](https://zone-www-dot-com-git-danny-depr-627-promote-req-7ae43c-supabase.vercel.app/))
- [x] Homepage frameworks / dashboard feature tabs — Tab through each
tab button
- [x] Product pages (e.g. `/auth`, `/database`) — section tab switchers
- [x] Narrow viewport — open the hamburger; Tab through menu buttons
- [x] `/partners/catalog` — filter / view controls
- [x] Blog view toggle (list ↔ grid)
### Docs ([staging
link](https://docs-git-danny-depr-627-promote-require-explici-25e46d-supabase.vercel.app/))
- [x] **Desktop (≥ lg):** top-right **⋯ menu** (hamburger icon) — opens
a dropdown that includes Theme. Not a separate theme button.
- [x] **Mobile (< lg):** top-right **hamburger** opens the sheet; close
(X) is the raw button we tagged. Theme inside the sheet uses
`ThemeToggle` / `DropdownMenuTrigger` from `ui` (already supposed to set
`tabIndex`).
- [x] **Code blocks** — copy / language controls
- [x] **Is this helpful?** — X / check are `Button` from `ui` (should
already Tab). After voting **while signed in**, the follow-up “What went
well?” / “How can we improve?” text button is the raw one we tagged.
- [x] **AI Tools → Copy as Markdown** (right rail on a guide) — this is
the only GuidesSidebar control this PR changed. “On this page” TOC items
are **links**, not covered by this lint.
- [x] **Reference docs** (e.g. JS client reference) — section headers
that expand/collapse in the left nav (`Collapsible.Trigger`)
- [x] **Troubleshooting index** — type in the search field, then Tab to
the **clear (X)** control
### Dashboard (`studio`)
No production UI changes in this PR (tests + lint config only). Quick
Safari smoke that prior tabindex work still holds:
- [x] Project sidebar — Tab through primary nav links
- [x] Settings → General — Tab through inputs / buttons
- [x] Storage → Files — Tab a bucket row / file actions
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.
YES/NO
## What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
## What is the current behavior?
Please link any relevant issues here.
## What is the new behavior?
Feel free to include screenshots if it includes visual changes.
## Additional context
Add any other context or screenshots.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Refreshed theming across the UI to use modern color expressions and
shared theme variables (including OKLCH-based gradients), improving
consistency for charts, code blocks, overlays, icons, and decorative
backgrounds.
* **Bug Fixes**
* Improved light/dark color and gradient consistency across axis/grid
styling, reference lines, buttons/badges, sidebar accents, loaders, and
other visual components.
* **Documentation**
* Updated styling/theming guidance to align with the revised semantic
token system and the updated theme variable usage patterns.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
## Problem
The `alternative` variant for `<Button>` has been deprecated but is
still used in a few places.
## Solution
- Migrate usages to the recommended `primary` variant
- Delete the `alternative` variant
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Updated several buttons across forms, logs, recent queries, and
release headers to use the primary visual style.
* Button styling is now more consistent throughout the app, with a
cleaner default emphasis for key actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Problem
Our `<Button>` component breaks the default `button` contract by
redefining the `type` prop to set its variant (`primary`, `default`,
etc) instead of the button type (`submit`, `button`, etc).
This is confusing and forces to write more code when using it with
shadcn components that expect/inject the standard button props.
## Solution
- rename the `type` prop to `variant`
- rename the `htmlType` prop to `type`
- propagate the changes where necessary
- format code
## How to test
As this is just prop renaming, if it builds it's ok
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
This PR migrates the whole monorepo to use Tailwind v4:
- Removed `@tailwindcss/container-queries` plugin since it's included by
default in v4,
- Bump all instances of Tailwind to v4. Made minimal changes to the
shared config to remove non-supported features (`alpha` mentions),
- Migrate all apps to be compatible with v4 configs,
- Fix the `typography.css` import in 3 apps,
- Add missing rules which were included by default in v3,
- Run `pnpm dlx @tailwindcss/upgrade` on all apps, which renames a lot
of classes
- Rename all misnamed classes according to
https://tailwindcss.com/docs/upgrade-guide#renamed-utilities in all
apps.
---------
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
This PR preps the monorepo for a migration to Tailwind v4:
- Bump all Tailwind dependencies and libraries to the latest possible
version, while still compatible with Tailwind 3.
- Cleans up obsolete Tailwind 3 specific options and configs.
- Cleans up unused CSS files and fixes the CSS imports.
- Migrates all `important` uses in `@apply` lines to using the `!`
prefix.
- Move `typography.css` to the `config` package and import it from the
apps.
- Migrated all occurrences of `flex-grow`, `flex-shrink`,
`overflow-clip` and `overflow-ellipsis` since they're deprecated and
will be removed in Tailwind 4.
- Make the default theme object typesafe in the `ui` package.
- Migrate all `bg-opacity`, `border-opacity`, `ring-opacity` and
`divider-opacity` to the new format where they're declared as part of
the property color.
- Bump and unify all imports of `postcss` dependency.
This PR moves several components which rely on `next` out of the `ui`
package to the `ui-patterns` package.
`ui-patterns` package is intented to be imported with specific imports
so it's ok if there are components reliant on `next` in there.
The `SonnerToaster` component has removed its dependency by requiring a
prop for `theme`.
* Switch all top-level imports for ui-patterns components to use specific components when importing.
* Remove the @ui-patterns shorthand since it works exactly the same without the @.
* More import fixes.
* Fix the ui-patterns tests.
* d5 announcements
* Adds both posts
* Add YC logo
* change names
* fix slugs
* Adds content
* images
* Update Quote.tsx
* clarity
* d5 assets
* banner link
* ga link in footer
* Grammar and spelling
* move image up for consistency
* grammar
* fix my mistake
* markdown formatting
* Fix details tag
* blog img optimizations
* blog img optimizations
* fix blog link
---------
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
* update d3 data
* feat: add blog post
* fix: update title & add admonition
* image update
* update SVGs
* fix: update title and codeblocks
* add build item
* remove comment
* fix: add video iframe
* better blog thumb quality
* correct yt id
* Update apps/www/_blog/2024-04-17-anonymous-sign-ins.mdx
* Update apps/www/_blog/2024-04-17-anonymous-sign-ins.mdx
* fix: format codeblocks
---------
Co-authored-by: Francesco Sansalvadore <francescosansalvadore@MacBook-Pro-2.local>
Co-authored-by: Kang Ming <kang.ming1996@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
* init
* deep dark on dark mode
* add twitter spaces
* bg color
* improve hp hero badge spacing
* blog outline
* updates title
* some text updates
* Adds more details
* first images
* update images
* restore dark theme on unmount
* update announcement banners
* update
* update illustrations
* ga week summary blog card
* update d2 blog link
* update d2 blog link
* hide vid atm
* add link to guide
* Adds links
* add correct video id
---------
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Francesco Sansalvadore <francescosansalvadore@MacBook-Pro-2.local>
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Co-authored-by: Inian <inian1234@gmail.com>
* remove oriole mp4
* add enterprise security items
* add social links
* video in ga
* fix spacing
* ga og
* add mozilla
* update meta description
* cleanup
* 12 companies
---------
Co-authored-by: Francesco Sansalvadore <francescosansalvadore@MacBook-Pro-2.local>
* content structure
* remove component
* reorder sections
* eagle new path
* nav
* meetups
* update lw11-og function with service key
* add ticket button in sticky nav
* disable and exit game when not in view
* enable light mode
* add placeholders
* highlights
* update
* typo
* fix mainDays import
* update og image
* update sections
* add hackathon link
* add video id
* add spaces and update ga
* remove highlights
* enterprise section
* highlights
* Adds the bootstrap post
* Updates the desc
* fixing tags
* fixing authors
* fix the admonition
* Adds the AWS post
* fixing categories
* Adds LW number
* Adds the branching post
* fix description
* chore: minor typos in blog post
* swift scaffold
* fix dates on all posts
* adds chris as the author
* Adds the branching tagline
* Adds oriole post
* updates oriole
* Fix caption
* Adds the YT video
* update GA page
* adds branching publicly available post
* bootstrap image update
* updated AWS images
* first section in GA
* update CLI bg
* Updates community
* fix build
* Adds scale section
* Adds all the sections
* updated images
* chore: adds partners and integrations
* padds out the swift post
* chore: whats new
* chore: whats next
* add chart
* updates AWS page
* chore: ai names
* section numbering
* Adds some stats for the community
* Adds humat
* edits
* edits
* update announcements
* add star growth
* update videoid
* Adds edits
* Update ga.tsx
* build stage svg color
* remove meetups link
* remove backticks
* update chart
* Add PWC
* add community stats
* Adds full URLs
* fix charts
* fix whats new
* fix broken HTML
* Fix orderign
* Fix swift video
* fix list
* spelling
* Update ga.tsx
* merge
* update community stats
from Ants feedback
* chore: links and small changes
* Change the category for Oriole
* add bg support
* Update ga.tsx
* fixes formatting on the quote
* update cta
* fixes
* add vercel partner
---------
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: Francesco Sansalvadore <francescosansalvadore@MacBook-Pro-2.local>
Co-authored-by: Francesco Sansalvadore <francescosansalvadore@mac.wind3.hub>
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Co-authored-by: Han Qiao <sweatybridge@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: awalias <antwilson@hotmail.co.uk>