Closes
[FE-4096](https://linear.app/supabase/issue/FE-4096/launch-week-summary-lists-ol-inside-ul-link-where-li-belongs-6-copies)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.
YES
## What kind of change does this PR introduce?
Accessibility bug fix.
## What is the current behavior?
The launch week summary card renders at the bottom of launch week blog
posts. Its two lists are invalid HTML in six copies of the component.
- Each entry is an `<ol>` nested directly inside a `<ul>`. Only `<li>`
is a valid child of `<ul>`.
- The `<Link>` sits inside the `<ol>` rather than inside an `<li>`, so
there are no list items at all.
Screen readers announce a list of empty items wrapping nested lists
instead of a flat list of links.
## What is the new behavior?
- Swap every `<ol>` for an `<li>` in the six summary components: LW X,
11, 12, 13, 14, and 15.
- Class names and keys carry over unchanged. No visual change.
## Additional context
The blog posts stay published. This is a markup fix only.
## Manual testing
1. Open [the Launch Week 15 top 10
post](https://zone-www-dot-com-git-www-fix-lw-summary-lists-supabase.vercel.app/blog/launch-week-15-top-10)
on the deploy preview.
2. Scroll to the Launch Week 15 summary card below the article. It shows
a Main Stage list and a Build Stage list.
3. Inspect either list. Every direct child of the `<ul>` is an `<li>`,
and no `<ol>` appears inside.
4. Repeat on [the Launch Week 12 Wasm FDW
post](https://zone-www-dot-com-git-www-fix-lw-summary-lists-supabase.vercel.app/blog/postgres-foreign-data-wrappers-with-wasm)
for the Launch Week 12 card.
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
## 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>