- Re-export unicode_width and unicode_segmentation dependencies
- Implement
BitOr
forShouldRender
- Replaced input handling with a new declarative system for specifying key
bindings and how to react in response to input events. There's a new
Component
lifecycle methodbindings()
which replaces the oldinput_binding
andhas_focus
methods. The newly introducedBindings
type allows registering handlers which will run in response to key patterns. - Enable support for animated components in zi-term (crossterm backend)
- A new experimental notification api for binding queries
- Fix trying to draw while the app is exiting
- Upgrade all dependencies of zi and zi-term to latest available
- Simplifies the public layout API functions and dealing with array of
components (latter thanks to const generics). In particular:
- The free functions
row
,row_reverse
,column
,column_reverse
,container
and their iterator versions have been replaced with more flexible methods on theLayout
,Container
andItem
structs. layout::component
andlayout::component_with_*
have also been removed in favour of utility methods on the extension traitCompoentExt
. This is automatically implemented by all components.
- The free functions
- Moves the responsibility of running the event loop from the
App
struct and into the backend. This inversion of control help reduce sys dependencies inzi::App
(moves tokio dependency to thecrossterm
backend which was moved to a separate crate, yay). This change allows for different implementations of the event loop (e.g. using winit which will come in handy for a new experimental wgpu backend).