react-yue

This is a lib to help you render the View of Yue in the react way.
Get Started
npm i react-yue react gui
Render your view into a container:
const React = require('react')
const gui = require('gui')
const { render } = require('react-yue')
function App() {
return (
<container
style={{
flexDirection: 'row',
flex: 1,
justifyContent: 'center',
}}
>
<label
text="hello"
/>
</container>
)
}
const win = gui.Window.create({})
win.setContentSize({ width: 400, height: 250 })
const contentView = gui.Container.create()
contentView.setStyle({ flexDirection: 'row' })
win.setContentView(contentView)
win.center()
win.activate()
render(<App />, contentView)
if (!process.versions.yode) {
gui.MessageLoop.run()
process.exit(0)
}
Components
View (base class)
props:
Boolean visible
Boolean enabled
Boolean focusable
Boolean mouseDownCanMoveWindow
Font font
Color color
Color backgroundColor
events:
- onMouseDown
- onMouseUp
- params
View self
MouseEvent event
- onMouseMove
- params
View self
MouseEvent event
- onMouseEnter
- params
View self
MouseEvent event
- onMouseLeave
- params
View self
MouseEvent event
- onKeyDown
- onKeyUp
- onSizeChanged
- onCaptureLost
Button
props:
Button::Type type
Boolean defaultChecked
String title
Image image
events:
Container
events:
- onDraw(self, painter, painter)
- params
Container self
Painter painter - The drawing context of the view.
RectF dirty - The area in the view to draw on.
Entry
props:
Entry::Type type
String text
events:
- onTextChange(self)
- onActivate(self)
Group
props:
String title
View children
Label
props:
ProgressBar
props:
Number percent
Boolean indeterminate
Scroll
props:
Scroll::Policy hpolicy
Scroll::Policy vpolicy
Boolean overlayScrollbar
SizeF size contentSize
View children
TextEdit
props:
String text
Scroll::Policy hpolicy
Scroll::Policy vpolicy
Boolean overlayScrollbar
events:
Vibrant
props:
Vibrant::Material material
Vibrant::BlendingMode mode
Run Tests
npm run test