Mix of server and client components in basic example. (#6682)
Previously, the `basic` example (AKA create-turbo) was entirely Server
Components. In this PR, we're continuing to leverage the Internal
Package pattern such that we have a mix of React Server Components
**and** Client components.
The Client Component is the new `Button` component in the `@repo/ui`
package.
Notably, this PR closes #6019, fulfilling these requirements:
- A mix of Server Components and Client Components
- Editor go-to-definition across packages (already done in previous
work)
- Using an `src` folder in the package but not having to use it when
importing into another package
- Tree-shaking (already done in previous work, check out `exports` in
`./packages/ui.package.json`
Non-goals of this PR:
- Including the entirety of `shadcn-ui` (We're showing you the
fundamentals of how to support `shadcn-ui` here but not bringing in the
components)
- Using `tsup` to create an RSC package (Please open a new issue/add
reactions to an existing issue if you'd like to see this)