Commit Graph

5999 Commits

Author SHA1 Message Date
Mike Newbon 2045a34e89 refactor(docs): header view tabs move into the navigation menu's list-leading slot
One component instead of a wrapper div; the popover keeps its explicit
width since the default viewport wrapper tracks the root, not the
content.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:52:41 +02:00
Mike Newbon 7b453d0daf feat(docs): bottom toolbar, fullscreen floating bar, header view tabs
The studio toolbar moves below the preview with undo/redo/reset at the
far left; in fullscreen it becomes a floating bottom bar that peeks a
few pixels until hovered, so every control (including the view select
and exit) works without leaving fullscreen. The header view switcher
becomes a primary UTabs, with the site pages in a Menu popover sized
explicitly — a single trigger makes the nav root, and so the default
viewport wrapper, only as wide as the button, and the flex wrapper
shrinks the popover to match.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:42:07 +02:00
Mike Newbon ecc88fcd9e feat(docs): studio controls move into the site header on /theme
Marshmallow: radius 0.375, muted light bg, primary-400 dark, and the
inner shadow gets its own lighter primary shade (500/900).

The header center becomes the view switcher while on /theme, with the
site pages folded into a single Menu popover; undo/redo/reset replace
the version menu on the far left. View, fullscreen and history state
move into app-level composables so the header and page share them; the
page toolbar keeps lg:hidden fallbacks since the header center
collapses on mobile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 19:26:10 +02:00
Benjamin Canac 0f2b9da04e docs(page-hero): wrong mdc formatting 2026-07-09 17:19:07 +02:00
Benjamin Canac a037b71f83 docs(sidebar): render examples with gpu transform
Resolves #6291
2026-07-09 17:19:07 +02:00
Benjamin Canac 76ee17697f fix(defineShortcuts): defer standalone shortcuts that prefix a chain (#6703) 2026-07-09 16:38:35 +02:00
Benjamin Canac 71c623b900 fix(useToast): dedupe duplicate ids and handle max of 0 (#6698) 2026-07-09 14:36:50 +02:00
Benjamin Canac 4c607453fe fix(useResizable): recover from corrupted persisted storage (#6704) 2026-07-09 14:36:30 +02:00
Benjamin Canac 730a54c023 fix(useResizable): share resize logic between mouse and touch (#6705) 2026-07-09 14:16:14 +02:00
Benjamin Canac c257686a25 test(composables): add specs for defineLocale, useKbd and useFormField (#6701) 2026-07-09 14:15:28 +02:00
Benjamin Canac 59440671dd fix(useScrollspy): unobserve previous headings on update (#6700) 2026-07-09 13:05:04 +02:00
Benjamin Canac 000aba433d fix(useFileUpload): keep dropzone type filter reactive to accept (#6699) 2026-07-09 13:04:17 +02:00
Benjamin Canac 2128414292 fix(defineShortcuts): add missing arrowdown to shiftable keys (#6702) 2026-07-09 12:51:20 +02:00
Benjamin Canac 64b9f7dd93 feat(ContentToc): scroll list independently and center active link (#6697) 2026-07-09 12:00:17 +02:00
Benjamin Canac 1a3a9dc35b feat(ChatTool): add actions prop for tool approval (#6694) 2026-07-09 11:02:13 +02:00
martipops c256997f33 fix(inertia): make useRoute().fullPath reactive across navigations (#6696)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
2026-07-09 10:33:29 +02:00
Benjamin Canac 7bdcb1381c feat(Prompt): add claude action (#6693) 2026-07-08 15:38:05 +02:00
Yoshihiro Yamaguchi d0581cf88f test(ChatPrompt): avoid using fake timers before suspended (#6688) 2026-07-08 10:42:37 +02:00
Mike Newbon 853ab96bf2 fix(docs): studio fullscreen state can't hide the chrome on other pages
The site header gates on the fullscreen state, which survives navigation
— leaving the studio while fullscreen stripped the header everywhere.
The gate now only applies on /theme and the page resets the state on
unmount.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-08 00:00:54 +02:00
Mike Newbon b31b7b9c92 feat(docs): remove 'Forest' preset and update 'Marshmallow' with new custom neutral palette and token adjustments
The 'Forest' theme preset has been removed. The 'Marshmallow' preset has been updated to include a new custom neutral palette with shades, and the token definitions have been enhanced for both light and dark modes, improving overall design consistency.
2026-07-07 22:26:27 +02:00
Mike Newbon aaa0d5c63b feat(docs): Anthropic restyle — cream page under ivory surfaces, blurred warm shadows, flat dark surface family
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 22:20:58 +02:00
Mike Newbon 77dbc399d8 feat(docs): Marshmallow resculpted — pink-mauve custom neutral, pink-cast soft shadows over a top-lit inset
The stock mauve neutral gives way to a sculpted pink-tinted ramp, with
primary-shade soft shadows (700 light / 950 dark at 15%), a blurred
upward inner shadow, and the neutral token remaps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 22:14:20 +02:00
Mike Newbon 4658982d83 feat(docs): add UColorModeButton to theme page for improved color mode switching 2026-07-07 21:58:07 +02:00
Mike Newbon 8c0dc2f908 feat(docs): studio toolbar with setting popovers, split component defaults with color axis, UI-hiding fullscreen
The settings panel dissolves into one toolbar: presets, per-group
popovers (Colors/General/Style/Shades — ThemeStudioControls renders one
group per instance now), view picker, fullscreen, import/export and
history actions. Component defaults split into Button/Card/Input
sections, buttons and inputs gain a default-color axis (emitted as
defaultVariants.color, extracted group-wise on import, round-trip
tested), and Size joins Scale. Fullscreen hides all chrome — site
header included via shared state — with a peek-on-hover exit and Esc.
Icon-only import gets a tooltip; colors keep the grouped Semantic
section with ghost edit pencils.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 21:40:40 +02:00
Mike Newbon 21233047bf feat(docs): Theme Studio returns as the /theme page
Maintainer feedback: better as a page than an overlay. The studio moves
into the standard page container under the site header — settings panel
on the right with import/export/undo/redo/reset in its header, view
picker and color-mode switch in the preview toolbar. The drawer, its
snap machinery, the ?studio param (and its cold-load bug) and the
studioOpen channel are all retired; the header swatch button links to
the page.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 20:47:18 +02:00
Mike Newbon 2b34207571 feat(docs): studio drawer from the right — settings strip snaps in, close leads the panel header, collapse joins the view picker
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 20:29:51 +02:00
Mike Newbon f9c5a991df feat(docs): Theme Studio becomes a left-edge drawer with a settings snap point
UDrawer replaces the fullscreen modal: opening lands on a snap that
exposes exactly the settings panel (21rem + the drawer inset) over the
live site, and an eye toggle pulls the full preview out. The header
popover is gone — the swatch button triggers the drawer directly — and
the sidebar header carries the color-mode switch and close. The settings
body scrolls under a scroll shadow, and the preview column fades out
below the full snap. View scrollers take the card radius and hard paint
containment (Chromium won't clip nested composited layers otherwise),
with the nav bars in the SaaS and Landing views wearing the top radius
directly.

Known issue: the ?studio param no longer opens the drawer on cold load —
vaul rejects an open set during mount.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 15:52:33 +02:00
Benjamin Canac dcf7cbc091 feat(unplugin): pre-bundle used icons into the Vue/Vite build (#6635)
Co-authored-by: Typed SIGTERM <145281501+typed-sigterm@users.noreply.github.com>
2026-07-07 15:26:58 +02:00
Enzo Innocenzi c3b2996f18 fix(FileUpload): add aria-disabled attribute when disabled (#6653) 2026-07-07 14:58:07 +02:00
Benjamin Canac a71dece0fd fix(SelectMenu/InputMenu): only re-highlight first item with create-item (#6689) 2026-07-07 14:38:40 +02:00
Mike Newbon d1995824ed feat(docs): sidebar refinement pass — inset panel with tuned padding, static sections with separators, shade-colored sliders
The settings panel becomes an inset right-hand USidebar with a
color-mode switch and close in its header; sections lose their
collapse entirely (headers over always-open controls, hairline
separators between); shade sliders tint their fill and thumb ring with
the ramp color at the selected shade; the view switcher is a ghost
select; Orchard's inner shadow lightens to grove-200 in light mode.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 13:49:38 +02:00
Mike Newbon 2a4c480d0c feat(docs): settings panel moves right — close in its header, view dropdown left, collapse takes the toolbar corner; Orchard's resculpted neutral; Harbor, Cabin and Ghibli retired
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:53:37 +02:00
Mike Newbon e300500607 feat(docs): enhance Theme Studio components with size adjustments
Updated various Theme Studio components to include size properties for buttons and picker elements, improving consistency in UI design. Adjusted button sizes to 'sm' and 'xs' where applicable, and modified the modal header style for better visual alignment.
2026-07-07 02:14:21 +02:00
Mike Newbon 0f74982575 fix(docs): update dark theme background color from neutral-950 to neutral-900 2026-07-07 01:32:17 +02:00
Mike Newbon ab7c56499e feat(docs): Anthropic preset on the real palette — brand clay anchored at 500, true warm-gray scale
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 01:29:40 +02:00
Mike Newbon 6aed6a5b47 feat(docs): Forest preset — sculpted evergreen and forest neutrals, sage secondary, spread hard shadows over a fine inset
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 01:17:30 +02:00
Mike Newbon 3b4848eec4 refactor(docs): review tail — bento chat on real components, deterministic a11y settle, theme-keys module, chat-* ids retired
The bento chat card renders UChatMessage/UChatPrompt so frame and shadow
treatments preview truthfully. The a11y matrix recomputes on
nextTick + double-rAF instead of an 80ms guess, reading the owning
composable's refs instead of re-declaring the state channels. Cross-file
storage/state keys and style-tag ids live in theme-keys.ts, and the
legacy chat-* tag ids become nuxt-ui-*.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 00:02:48 +02:00
Mike Newbon fe8cda2f58 refactor(docs): adversarial review pass — shared components, hot-path fixes, dead code out
ThemeStudioSection and ThemeStudioPresetMenu replace eleven copies of
section chrome and two of the preset menu; the picker folder merges into
theme-studio (folder-prefixed auto-import names). Analytics throttled on
slider hot paths, exports tracked on copy instead of modal-open, the AI
extras channel only persists when touched, currentDoc reads style
reactively, the undo suppression window becomes a settle handshake, the
self-heal runs once, hydration re-render covers every persisted key,
reveal observers disconnect on unmount, and dead exports (STYLE_COMPONENT_KEYS,
picker size prop, reset wrapper, applying flag) are gone. Import color
reconstruction dedupes through one matcher.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:52:41 +02:00
Mike Newbon 403045b3a6 feat(docs): section legends are real buttons — label plus trailing chevron, info button after
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:28:47 +02:00
Mike Newbon b4fbd3bb28 fix(docs): type-safe undo snapshot getter — undefined before mount, not false
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:09:16 +02:00
Mike Newbon b07d3530ba Merge branch 'v4' into docs/theme-studio-plan 2026-07-06 23:03:31 +02:00
Mike Newbon 3563264298 refactor(docs): settings panel regrouped — Scale and Components join General, Shadow/Neutral/Shades renames, trailing chevrons, sections open by default
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 23:02:53 +02:00
Mike Newbon fab9d64c02 feat(docs): undo/redo over theme documents — footer buttons plus cmd/ctrl-Z, shift-Z and ctrl-Y, reset included
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:57:35 +02:00
Mike Newbon 6ed248b597 refactor(docs): retire the border-width class machinery — widths ride the default-width variables everywhere
ringFragments and its five width maps (~200 lines), the frame width
enumeration, the widthAsVariables export/import split and every
var-length border/ring class in the preview markup are gone: the docs
build compiles --default-border-width/--default-ring-width onto the
studio variable, so live preview and exports use the same mechanism.
Legacy pastes get their width tokens scrubbed and frame literals
renormalized so old exports still import cleanly.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:51:38 +02:00
Mike Newbon ad2f3d59ed fix(docs): sidebar slot rounding scoped to desktop — the mobile sheet is square
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:38:09 +02:00
Mike Newbon 5b7c032a0e feat(docs): curve editor endpoints wear the ramp's 50 and 950 colors
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:36:28 +02:00
Mike Newbon dc2cb7d67e fix(docs): badge blur freed from the entrance animation's backdrop root; shade slider dots lead in the label column; sidebar footer corners rounded
The enter animation now fills backwards — a retained transform, even an
identity matrix, forms a backdrop root that blinds children's
backdrop-blur.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:33:16 +02:00
Mike Newbon f54a6769f7 feat(docs): ?studio query param — the open studio survives reloads and is linkable
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:27:16 +02:00
Mike Newbon 1beaa02a02 fix(docs): landing polish — glass badge per template, pinned solid CTAs, centered pre-headers
The section headline slot wrapper is display:block (the theme's flex only
activates via the headline prop), so justify-center was inert.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:26:01 +02:00
Mike Newbon a38cba0de2 feat(docs): Landing and SaaS previews faithful to the real templates — hero effects, motion, section rhythm
Landing ports the pixel-plasma hero and gradient glows as pure CSS, the
shimmer gradient title, staggered entrances and scroll reveals, glowing
primary buttons and the template's exact terminal. SaaS gains the header
beam, rising-stars CTA, framed hero media card and striped placeholders.
Everything rides semantic tokens so every studio theme restyles it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:10:18 +02:00