From 9a418909484f62372d3d7f412ca45fd4c10f670d Mon Sep 17 00:00:00 2001 From: Kyle MacDonald Date: Wed, 10 Jun 2026 14:01:51 -0400 Subject: [PATCH] feat(swingset): Add Tooltip primitive and fix canvas/sidebar bugs Adds a self-contained Mosaic Tooltip component and documents it in swingset with an interactive "Options" story showing all four sides. Also fixes a few latent bugs in the freshly scaffolded swingset app surfaced while testing: the StoryCanvas knob-reset effect that looped infinitely, the sidebar Collapsible uncontrolled-state warning, and the dev-only Script placement in the root layout. --- .changeset/swingset-tooltip-primitive.md | 2 + packages/swingset/src/app/layout.tsx | 16 ++- .../swingset/src/components/DocsViewer.tsx | 1 + .../swingset/src/components/StoryCanvas.tsx | 20 +-- .../swingset/src/components/app-sidebar.tsx | 125 +++++++++++------- packages/swingset/src/lib/registry.ts | 4 +- packages/swingset/src/stories/tooltip.mdx | 33 +++++ .../swingset/src/stories/tooltip.stories.tsx | 53 ++++++++ packages/ui/src/mosaic/components/tooltip.tsx | 96 ++++++++++++++ 9 files changed, 283 insertions(+), 67 deletions(-) create mode 100644 .changeset/swingset-tooltip-primitive.md create mode 100644 packages/swingset/src/stories/tooltip.mdx create mode 100644 packages/swingset/src/stories/tooltip.stories.tsx create mode 100644 packages/ui/src/mosaic/components/tooltip.tsx diff --git a/.changeset/swingset-tooltip-primitive.md b/.changeset/swingset-tooltip-primitive.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/swingset-tooltip-primitive.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/packages/swingset/src/app/layout.tsx b/packages/swingset/src/app/layout.tsx index 10b6cd9d4c4..09ae389ad1c 100644 --- a/packages/swingset/src/app/layout.tsx +++ b/packages/swingset/src/app/layout.tsx @@ -22,13 +22,15 @@ export default function RootLayout({ children }: { children: React.ReactNode }) suppressHydrationWarning className={cn('font-sans', geist.variable)} > - {process.env.NODE_ENV === 'development' && ( -