Adds four hooks to `@opentui/react` that already exist in
`@opentui/solid`:
- `usePaste(handler)` — subscribe to terminal paste events
- `useFocus(handler)` — subscribe to terminal focus events
- `useBlur(handler)` — subscribe to terminal blur events
- `useSelectionHandler(handler)` — subscribe to text selection events
Cleaned up CliRenderer config by replacing overlapping renderer flags
with explicit modes.
The current config uses useAlternateScreen, useConsole, and
experimental_splitHeight. That setup makes it hard for you to tell:
- where the renderer draws
- whether it captures stdout or passes it through
- whether the console overlay is enabled
This makes it explicit:
- screenMode: alternate-screen | main-screen | split-footer
- externalOutputMode: capture-stdout | passthrough
- consoleMode: console-overlay | disabled
Goal is to make CliRenderer configuration simpler and easier to
understand. It replaces implicit flag combinations with explicit modes.
It's a breaking API change, obviously.
Prevent regressions where extensionless imports break consumers using
NodeNext
or Node's ESM loader.
tsconfigs override back to "bundler" because bun-ffi-structs and
bun-webgpu
don't export NodeNext-compatible types yet.
Change this once @kommander fixes upstream. I think we can merge this pr
now and update the last things once you've updated upstream.
Close: #843
`flushSync` was renamed to `flushSyncFromReconciler` in react-reconciler
0.32.0.
This fix uses nullish coalescing to check for the new name first,
falling back to the old name for backwards compatibility.
Ref: https://github.com/facebook/react/issues/35424
---------
Co-authored-by: Matt Simpson <7691252+msmps@users.noreply.github.com>
## Summary
- Add `<diff>` as a built-in React component by registering
`DiffRenderable` in the component catalogue
- Add React example demonstrating diff viewer with theme cycling, view
modes (unified/split), and keybindings
- Add diff-demo to core examples index
---------
Co-authored-by: Matt Simpson <7691252+msmps@users.noreply.github.com>
## Description
- introduces a `span` element for styling text
- introduces `b`, `u`, `i`, `em` and `strong` elements
---------
Co-authored-by: Sebastian Herrlinger <hasta84@gmail.com>