CardListBuilder

Selkie::UI::CardListBuilder

Builder for a card list widget — a vertically scrollable list of items with configurable heights and optional borders.

Methods

add-item($widget, :$height!, :$root, :$border)

Adds a widget as a card item. :$height is required (in rows). :$root defaults to $*UI-PARENT. :$border adds an optional border.

add-item(&block, :$height!, :$root, :$border)

Reactive variant — block is re-evaluated when subscribed state changes.

set-items(@items) / set-items(&block)

Replaces all items. Each item is a hash with :widget, :root, :height, and optional :border. The block variant supports reactive subscriptions.

clear-items

Removes all items.

set-item-height(Int $idx, Int $height) / set-item-height(&block)

Changes the height of the item at $idx. Block variant supports reactive subscriptions and receives ($builder) returning (:$idx, :$height).

select-index(Int $idx) / select-index(&block)

Selects the item at $idx (0-based). The block variant supports reactive subscriptions.

select-first(Bool $select-first = True) / select-first(&block)

Selects the first item when True. Block variant supports reactive subscriptions.

select-last(Bool $select-last = True) / select-last(&block)

Selects the last item when True. Block variant supports reactive subscriptions.

scroll-up / scroll-down

Scrolls the card list by one item.

on-select(&block) (idempotent)

Registers a callback for selection changes. Receives ($builder, $idx).

Selkie::UI v0.0.4

Declarative DSL for building terminal user interfaces with the Selkie framework — reactive state management, auto-subscribe setters, and 38+ widget builders

Authors

  • Fernando Correa de Oliveira

License

Artistic-2.0

Dependencies

Selkie:ver<0.7.3+>:auth<zef:apogee>UUID

Provides

  • Selkie::UI
  • Selkie::UI::AppBuilder
  • Selkie::UI::AxisBuilder
  • Selkie::UI::BarChartBuilder
  • Selkie::UI::Base
  • Selkie::UI::BorderBuilder
  • Selkie::UI::ButtonBuilder
  • Selkie::UI::CardListBuilder
  • Selkie::UI::CheckboxBuilder
  • Selkie::UI::CommandPaletteBuilder
  • Selkie::UI::ConfirmModalBuilder
  • Selkie::UI::FileBrowserBuilder
  • Selkie::UI::HBoxBuilder
  • Selkie::UI::HeatmapBuilder
  • Selkie::UI::HelpOverlayBuilder
  • Selkie::UI::Helpers
  • Selkie::UI::HistogramBuilder
  • Selkie::UI::ImageBuilder
  • Selkie::UI::LegendBuilder
  • Selkie::UI::LineChartBuilder
  • Selkie::UI::ListViewBuilder
  • Selkie::UI::ModalBuilder
  • Selkie::UI::MultiLineInputBuilder
  • Selkie::UI::PasswordStrengthBuilder
  • Selkie::UI::PlotBuilder
  • Selkie::UI::ProgressBarBuilder
  • Selkie::UI::RadioGroupBuilder
  • Selkie::UI::ReactiveArray
  • Selkie::UI::ReactiveHash
  • Selkie::UI::RichTextBuilder
  • Selkie::UI::ScatterPlotBuilder
  • Selkie::UI::ScreenBuilder
  • Selkie::UI::ScrollViewBuilder
  • Selkie::UI::SelectBuilder
  • Selkie::UI::SparklineBuilder
  • Selkie::UI::SpinnerBuilder
  • Selkie::UI::SplitBuilder
  • Selkie::UI::TabBarBuilder
  • Selkie::UI::TableBuilder
  • Selkie::UI::TextBuilder
  • Selkie::UI::TextInputBuilder
  • Selkie::UI::TextStreamBuilder
  • Selkie::UI::ToastBuilder
  • Selkie::UI::VBoxBuilder
  • Selkie::UI::ViewportedCardListBuilder

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.