Commit Graph
12 Commits
Author SHA1 Message Date
Alaister YoungandAlaister Young ec1029dff0 chore: migrate from clsx + tailwind-merge to shadcn-ui/cn (#49938)
Migrates the repo off `clsx` + `tailwind-merge` to
[shadcn-ui/cn](https://github.com/shadcn-ui/cn). Every app and package
already gets `cn` from `packages/ui`, so the swap happens in that one
helper and flows through to Studio, docs, www, and the rest.

**Changed:**
- `packages/ui` `cn` helper now uses `createCn` from `cn/config`,
keeping the custom `card`/`content` spacing scale so `p-card` still
overrides `p-4`. It has an explicit signature and re-exports
`ClassValue`.
- The four www Launch Week files that imported the `ClassValue` type
from `clsx` now import it from `ui`.
- `blocks/vue` local `lib/utils.ts` re-exports `cn` from the package.
- Comments/README that referenced tailwind-merge.

**Removed:**
- Direct `clsx` and `tailwind-merge` deps from `ui`, `ui-patterns`,
`www`, and `blocks/vue`. `ui-patterns` and `www` declared them without
importing.

**Added:**
- `packages/ui/src/lib/utils/cn.test.ts` covering clsx-style joining,
conflict resolution, the custom spacing scale, and variant handling.

Not migrated: the standalone apps under `examples/`. They're outside the
workspace and mostly on Tailwind v3, which `cn` doesn't support.

Lockfile note: after merging master, the lockfile diff is only the
intended swap (`clsx` and `tailwind-merge` out, `cn@0.2.5` in).
`tailwind-merge` stays in the lockfile as a transitive dep of a
third-party package.

Release-age note: this sat in draft with a temporary
`minimumReleaseAgeExclude` entry for `cn` while `cn` was inside the
workspace's 3-day `minimumReleaseAge` window. That window has closed, so
the exclusion is gone and nothing bypasses the release-age gate.

## To test

- `pnpm install --frozen-lockfile` succeeds with no
`minimumReleaseAgeExclude` entry for `cn`.
- `pnpm --filter ui test` – new `cn.test.ts` passes, including
`cn('p-4', 'p-card')` → `p-card`.
- Typecheck passes for studio, ui, ui-patterns, vue-blocks. www
typecheck panics under tsgo on master already (pre-existing, unrelated);
it passes with the JS `tsc` binary.
- Spot-check Studio locally: class overrides still win in the usual
places (e.g. `CodeEditor` height, `Button` variants with a custom
`className`).

https://claude.ai/code/session_01MkAt16tsPRDTm9oB5Jr8Ub


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

## Summary by CodeRabbit

* **Improvements**
* Standardized Tailwind class merging across shared UI utilities while
preserving conditional classes, custom spacing classes, and variant
behavior.
* Updated related components and examples to use the standardized
class-merging utility.

* **Tests**
* Added coverage for conditional class handling, conflicting utility
resolution, custom spacing classes, and variant separation.

* **Documentation**
* Updated usage guidance to reflect the standardized Tailwind
class-merging approach.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
2026-09-07 21:35:06 +08:00
Francesco Sansalvadore 9f42dd707a lw15 end (#37322)
* end lw15

* join hackathon cta
2025-07-19 11:03:16 -04:00
6a607dd605 feat: lw15 d5b (#37306)
* d5 build

* storage blog post

* img

* slug

* blog images

* updates

* update thumb

* updates

* update build title

* updates

* Add LW15 hackathon

* correct image path

* update image name

* updates

---------

Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: dshukertjr <dshukertjr@gmail.com>
2025-07-18 17:36:23 +00:00
Francesco SansalvadoreandInian c0af945545 d5 (#37297)
* d5 init

* add blog post, og and thumb

* update thumb

* blog post link

* update text

* video id

---------

Co-authored-by: Inian <inian1234@gmail.com>
2025-07-18 15:56:18 +02:00
Wen Bo XieandFrancesco Sansalvadore 2abeba548f feat: lw15 d4b - Algolia Connector for Supabase (#37220)
* feat: lw15 d4b - Algolia Connector for Supabase

* og and thumb

* clean up rss

---------

Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
2025-07-18 01:01:38 +08:00
Francesco SansalvadoreandInian 5e15856d13 d4 (#37241)
* d4 init

* blog post

* og and thumb

* revert typo

* blog updates

* update authors

* update images

* update text

* update position

---------

Co-authored-by: Inian <inian1234@gmail.com>
2025-07-17 16:00:05 +02:00
be3e3d265c lw15 d3b2 (#37211)
* chore: blog post

* add author, og and thumb

* chore: update screenshots

* fix: crop and authors

* rss

* updates

---------

Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>
Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
2025-07-16 18:22:48 +00:00
Francesco SansalvadoreandSaxon Fletcher 4d26f83c0a d3 (#37201)
* d3 init

* Branching blog post (#37189)

* add branching blog post

* update copy and add images

* video id, blog og and thumb

* update video ID

* fix typo

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-07-16 15:58:55 +02:00
Francesco Sansalvadore 3597b79c3f d2b2 (#37165)
* blog post

* fix typos

* update blog post diagram

* rss
2025-07-16 01:01:19 +08:00
Francesco SansalvadoreandOliver Rice bd7d4f4360 lw15 d2 (#37148)
* d2 init

* LW15 Analytics Buckets Blog Post (#37131)

* lw-15 analytics bucket blog post

* polish

* og and thumb

---------

Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>

* add nav to mobile main stage slider

* d2 data

* fix nit

* add video id

* add author

* rss

---------

Co-authored-by: Oliver Rice <github@oliverrice.com>
2025-07-15 14:07:37 +00:00
Francesco Sansalvadore 28dbc009cb d2b1 (#37159)
* d2 build stage blog post

* og and thumb
2025-07-15 14:41:27 +01:00
9eddc55c65 d1 (#37100)
* lw15 d1 layout

* add some motion

* main stage card interaction

* fix overflow

* remove badge bg image

* fetch meetups from Luma

* fetch correct meetups

* add main stage card links and interactions

* remove placeholders

* cleanup

* fix hover effect

* add playsInline to banner video

* add blog post

* add links to feature docs

* sync announcement banners

* add blog images and lw15 summary

* add blog screenshot

* Update LW15 heading and meetups section content

Simplified and reworded the heading in LW15Heading, removing redundant text and improving clarity. Refactored LW15Meetups to use a concise title and description, replacing the previous grid layout with a more straightforward presentation.

* Revert "Update LW15 heading and meetups section content"

This reverts commit 21b45d2787.

* add video id

* Chore/lw page cleanup (#37104)

* Update LW15 heading and meetups section content

Simplified and reworded the heading in LW15Heading, removing redundant text and improving clarity. Refactored LW15Meetups to use a concise title and description, replacing the previous grid layout with a more straightforward presentation.

* Update LW15 day card styles and date labels

Adjusted font sizes and colors for day cards in LW15MainStage for improved readability. Simplified date labels in lw15_data.tsx by removing ordinal suffixes.

* Update LW15 Hackathon section content and styling

Revised the layout and text for the LW15 Hackathon component to improve clarity and visual hierarchy. Updated headings, event start information, and description formatting for better readability and emphasis.

* Add lighter foreground color to meetup separator

Updated the separator between meetup cities to use the 'text-foreground-lighter' class for improved visual distinction.

* Update apps/www/components/LaunchWeek/15/LW15Hackathon.tsx

* Update apps/www/components/LaunchWeek/15/LW15Hackathon.tsx

---------

Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com>

* add build blog post

* add build blost post images

---------

Co-authored-by: Stojan Dimitrovski <sdimitrovski@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2025-07-14 15:55:54 +02:00