Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
217e49f
feat(style): add facelift themes and surface tokens (v3)
Mordech Aug 18, 2026
7f34e0a
feat(core): facelift menu, label, button-group and checkbox styles (v3)
Mordech Aug 18, 2026
fcc4a84
feat(button): facelift spacing, icon gap and size padding (v3)
Mordech Aug 18, 2026
ec1966f
feat(TextField): facelift radius, compact sizes and left icon (v3)
Mordech Aug 18, 2026
6457376
feat(BaseItem): show selection with a check icon (v3)
Mordech Aug 18, 2026
4381408
feat(Tabs): sliding selected indicator and pill hover (v3)
Mordech Aug 18, 2026
a182fac
feat(Toast): white-surface redesign with semantic icon badge (v3)
Mordech Aug 18, 2026
7771efc
feat(Chips): pill radius, variants and small size (v3)
Mordech Aug 18, 2026
6584e4f
feat(SegmentedControl): add component (v3)
Mordech Aug 18, 2026
39db2c7
test: cover the facelift behaviour and refresh snapshots (v3)
Mordech Aug 18, 2026
c89aae2
feat(kitchen-sink): port the facelift showcase to Vibe 3
Mordech Aug 18, 2026
2e40771
fix(kitchen-sink): dedupe React types so tsc is clean
Mordech Aug 18, 2026
df8fee3
style: satisfy v3 lint rules
Mordech Aug 18, 2026
38aa504
revert(kitchen-sink): drop the explicit monday-ui-style CSS import
Mordech Aug 19, 2026
3d4c340
fix(Tabs): stop the ResizeObserver cancelling the indicator glide
Mordech Aug 19, 2026
c291b4d
style(Tabs): paint the selected indicator in the brand primary
Mordech Aug 19, 2026
9b8fdfd
feat(style): semantic surface tokens for Chips, Label and AttentionBox
Mordech Aug 19, 2026
e906624
fix(Chips): icons follow the chip's text colour
Mordech Aug 19, 2026
fa4caf5
fix(Chips): label inherits the chip colour so text and icons agree
Mordech Aug 19, 2026
fcd1af0
refactor(style): surfaces are 12% of the semantic colour
Mordech Aug 19, 2026
ba55ec3
refactor(Chips): style semantic colors in CSS instead of an inline fill
Mordech Aug 19, 2026
0194539
chore(release): publish a 3.x prerelease of the facelift [prerelease]
Mordech Aug 19, 2026
d8e9c81
feat(style): update the facelift primaries (Figma 684:115861)
Mordech Aug 19, 2026
760db57
Revert "feat(style): update the facelift primaries (Figma 684:115861)"
Mordech Aug 19, 2026
ec9f997
feat(kitchen-sink): apply the facelift primaries as a project override
Mordech Aug 19, 2026
5818e61
refactor(kitchen-sink): align the theme override with mf-topbar's war…
Mordech Aug 19, 2026
477feb1
feat: add RGB companion tokens and darken dark/black mode backgrounds
Mordech Aug 19, 2026
67660b4
feat(style): opaque semantic surfaces and a lifted dark palette
Mordech Aug 19, 2026
2655dbd
feat(style): surfaces at 8% over the theme background, in every theme
Mordech Aug 19, 2026
a0eb1d6
chore(release): publish a 3.x prerelease [prerelease]
Mordech Aug 19, 2026
faccf63
style: use border-radius-small on ListItem and BaseMenuItem
naamaye Aug 20, 2026
df9d6a7
feat(kitchen-sink): Home modes page and StrokeSpotlight chat borders
naamaye Aug 25, 2026
4eb4318
copy(kitchen-sink): set chat hero titles to Hey Naama
naamaye Aug 25, 2026
d81e6de
feat(core): add StrokeSpotlight hover stroke and click pulse [prerele…
Mordech Aug 26, 2026
ffd03e9
style(kitchen-sink): update globals and default component states
Mordech Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions apps/kitchen-sink/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
dist
.superpowers
1 change: 1 addition & 0 deletions apps/kitchen-sink/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v22.23
69 changes: 69 additions & 0 deletions apps/kitchen-sink/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Facelift Kitchen Sink

An interactive playground for exploring [@vibe/core](https://www.npmjs.com/package/@vibe/core) components. Click any card to tweak its state, customize theme tokens, compare your design against defaults, and pick up where you left off — everything persists in the browser.

## Run it

```bash
npm install
npm run dev
```

Open the URL Vite prints (usually http://localhost:5173).

## Scripts

| Command | What it does |
| --- | --- |
| `npm run dev` | Start the Vite dev server |
| `npm run check` | Type-check and production build |
| `npm test` | Run Vitest unit tests (persistence + CSS override helpers) |

## Navigation

The **left pane** is the only navigation:

- **Components** — grid of component demos with a control bar below for the focused card
- **Theme** — token editors with sub-pages: Colors, Radius, Spacing, Typography
- **Light / Dark / Black** — global theme mode toggles at the bottom of the left pane (always visible)

Click a component card to focus it and show its controls. Theme sub-pages appear indented under Theme when that view is active.

## Compare

On the Components page, use the **Compare** button in the main area to open a side-by-side view:

- **Original** — default component states
- **Your design** — your current saved states

Both columns share the same theme. Compare is component-state only (not a theme A/B). Reload always returns to the normal editing view.

## Persistence

All state is saved to `localStorage` under the key `facelift-kitchen-sink-state`:

- Active view and theme sub-page
- Light / Dark / Black mode
- Per-component control values
- Focused card
- Theme token overrides (colors, radius, spacing, typography)

Compare mode is **not** persisted — it resets to off on reload.

## Components (fixed order)

Icon Button, Button, Button Group, Tabs, Label, Chip, Text Field, Dropdown, Toast, Stroke Spotlight

Each lives in `src/sections/*.section.tsx` and exports `{ id, title, defaultState, controls, Demo }`. Files are auto-collected via `import.meta.glob` and sorted by the order above.

## Project layout

| Path | Purpose |
| --- | --- |
| `src/context/KitchenSinkContext.tsx` | App state + localStorage sync |
| `src/components/LeftPane.tsx` | Left navigation + theme mode |
| `src/components/ComponentsView.tsx` | Grid, control bar, Compare entry |
| `src/components/CompareView.tsx` | Side-by-side default vs current |
| `src/components/ThemePanel.tsx` | Token editors + preview strip |
| `src/lib/storage.ts` | Load/save/migrate persisted state |
| `src/tests/` | Vitest tests for pure helpers |
Loading
Loading