Skip to content

Latest commit

 

History

History
156 lines (124 loc) · 4.17 KB

CHANGELOG.md

File metadata and controls

156 lines (124 loc) · 4.17 KB

Released

0.13.1 - 22 Dec 2024

  • More flexible listbuilder lifetimes by @nmandrus1

0.13.0 - 22 Okt 2024

  • Bump ratatui to v0.29.0

0.12.2 - 15 Sep 2024

  • ListView::scroll_padding added. Allows to keep a specified number of cells above/below the selected widget visibile while scrolling.

  • ListState::circular got removed. Use ListView::infinite_scrolling instead.

0.12.1 - 25 Aug 2024

  • Change scroll up behaviour - keep first element truncated if possible

0.12.0 - 17 Aug 2024

  • Bump ratatui to v0.28

0.11.0 - 10 Aug 2024

  • Introduces ListView, ListBuilder and ListBuildContext as replacement for List, PreRender and PreRenderContext.
  • List, PreRender and PreRenderContext are marked as deprecated.
// Builder provides the ListBuildContext.
// Return the widget and the widget's size along its main-axis.
let builder = ListBuilder::new(|context| {
    let mut item = Line::from(format!("Item {0}", context.index));

    if context.index % 2 == 0 {
    item.style = Style::default().bg(Color::Rgb(28, 28, 32))
    } else {
    item.style = Style::default().bg(Color::Rgb(0, 0, 0))
    };

    if context.is_selected {
    item.style = Style::default()
    .bg(Color::Rgb(255, 153, 0))
    .fg(Color::Rgb(28, 28, 32));
    };

    return (item, 1);
    });

// Construct the list. ListView takes in the builder and an item count.
let list = ListView::new(builder, 20);

// Render the list
list.render(area, &mut buf, &mut state);

0.10.1 - 28 July 2024

  • Implement Styled for List (contributor: airblast-dev)

0.10.0 - 27 June 2024

  • Bump ratatui to v0.27

0.9.0 - 11 May 2024

  • Introduced PreRender trait as a replacement for ListableWidget.
  • This change is non-breaking
  • It provides a more concise and clearer interface. Migration Guide
  • Update trait implementations to use the new pre_render signature:
fn pre_render(&mut self, context: &PreRenderContext) -> u16 {
  let main_axis_size = // The widgets size in the main axis

    if context.is_selected {
      self = // You can modify the selected item here
    }

  main_axis_size
}
  • Deprecated ListState::selected(). Use the struct field selected instead.
  • Updated examples
  • Add example for long lists

0.8.3 - 1 May 2024

  • Fix: Missing base style on truncated items

0.8.2 - 29 February 2024

  • Truncate last element correctly
  • Add tests

0.8.1 - 24 February 2024

  • Add support for horizontal scroll
  • Remove truncate option

Breaking Change The ListableWidgets trait method main_axis_size() was renamed to size with an additional scroll_direction parameter. This parameter can be ignored if the ListItem is only used in vertical or horizontal scroll mode, and not in both.

0.7.2 - 14 February 2024

  • Deprecate Listable trait in favor of ListableWidget
    • Migration: height() becomes main_axis_size()
    • Listable got deprectated, but old apps still compile
    • ListableWidget is more descriptive and using main_axis_size allows for reusing the trait in horizontal lists, which will come in the future

0.7.1 - 10 February 2024

  • Bugfix: Some cases paniced when the truncated element had a size 0

0.7.0 - 3 February 2024

Bump ratatui to version 0.26

0.6.1 - 12 January 2024

Bugfix

  • Correct truncation of the top element, see issues/6

0.6.0 - 23 December 2023

  • Bump ratatui to version 0.25
  • Move crossterm from dependency to dev-dependency

0.5.0 - 28 October 2023

Breaking Changes

  • Change of Listable trait Interface returning Self instead of Option

Bugfix

  • Selected widgets height is correctly calculated

The api should be more stable from now on.

0.4.0 - 25 October 2023

Breaking Changes

  • Renamed WidgetList to List
  • Renamed WidgetListState to ListState
  • Renamed trait WidgetItem to Listable
  • Interface change of Listable

Api improvement to make the crate more reusable and idiomatic in the ratatui ecosystem.