Hex1b.Widgets
Assembly: Hex1b.dll
Classes
AccordionSectionAction
Represents an action icon displayed in an accordion section header. Can be a simple icon or a toggle that changes appearance based on expand state.
public sealed record AccordionSectionAction : IEquatable<AccordionSectionAction>AccordionSectionActionContext
Provides methods to programmatically control the expand/collapse state of an accordion section. Accessible from icon click handlers via the accordion node.
public sealed class AccordionSectionActionContextAccordionSectionExpandedEventArgs
Event arguments for accordion section expand/collapse changes.
public sealed class AccordionSectionExpandedEventArgs : EventArgsAccordionSectionWidget
Represents a single section within an Accordion. Contains the section title, content builder, and action icons.
public sealed record AccordionSectionWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<AccordionSectionWidget>AccordionWidget
A collapsible section container where each section has a title header and expandable content area. Sections can be expanded and collapsed independently.
public sealed record AccordionWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<AccordionWidget>ActionMenu
A popup menu of selectable actions displayed at a document position. Used for code actions, quick fixes, and rename operations.
public record ActionMenu : IEquatable<ActionMenu>ActionMenuItem
A single item in an .
public record ActionMenuItem : IEquatable<ActionMenuItem>AlignWidget
A widget that aligns its child within the available space.
public sealed record AlignWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<AlignWidget>BackdropWidget
A widget that fills its available space and intercepts all input. Used as a modal backdrop to prevent interaction with layers below. Can optionally display a background color (for dimming effects) and trigger a callback when clicked (for "click-away to dismiss" behavior).
public sealed record BackdropWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<BackdropWidget>BackgroundPanelWidget
A passthrough widget that fills its bounds with a background color before rendering its child. All layout, focus, and input is delegated to the child unchanged.
public sealed record BackgroundPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<BackgroundPanelWidget>BarChartWidget<T>
A widget that displays a horizontal bar chart with support for simple, stacked, and grouped modes.
public sealed record BarChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<BarChartWidget<T>>BorderWidget
A widget that draws a box border around its child content. Use the fluent method to set an optional title.
public sealed record BorderWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<BorderWidget>BreakdownChartWidget<T>
A widget that displays a proportional segmented bar.
public sealed record BreakdownChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<BreakdownChartWidget<T>>ButtonWidget
public sealed record ButtonWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ButtonWidget>CheckboxWidget
A checkbox widget that displays a toggleable checked/unchecked/indeterminate state.
public sealed record CheckboxWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<CheckboxWidget>ClipScope
Defines how a ZStack's content is clipped.
public abstract record ClipScope : IEquatable<ClipScope>ColumnChartWidget<T>
A widget that displays a vertical column chart with support for simple, stacked, and grouped modes.
public sealed record ColumnChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ColumnChartWidget<T>>CompositeWidget<TNode>
Base class for composite widgets that build their UI from other widgets. Composite widgets describe reusable UI patterns like Picker, DatePicker, ColorPicker, etc.
public abstract record CompositeWidget<TNode> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<CompositeWidget<TNode>> where TNode : CompositeNode, new()ComputedSurfaceLayer
A layer whose cells are computed dynamically based on layers below.
public record ComputedSurfaceLayer : SurfaceLayer, IEquatable<SurfaceLayer>, IEquatable<ComputedSurfaceLayer>ConditionalWidget
A widget that wraps content with a condition that determines whether it should be displayed. Used as part of a ResponsiveWidget to create conditional UI layouts.
public sealed record ConditionalWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ConditionalWidget>DonutChartWidget<T>
A widget that displays a donut (or pie) chart using half-block characters for smooth rendering.
public sealed record DonutChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DonutChartWidget<T>>DragBarPanelWidget
A panel widget with a built-in resize handle on one edge. The panel manages its own size state internally — dragging the handle changes the panel's fixed size, triggering re-layout automatically.
public sealed record DragBarPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DragBarPanelWidget>DraggableWidget
A widget that makes its child tree draggable via mouse interaction. The builder lambda receives a with the current drag state so the content can render differently while being dragged.
public sealed record DraggableWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DraggableWidget>DrawerWidget
A collapsible panel widget that can be placed at the edge of an HStack or VStack. In collapsed state, it shows minimal content (or nothing). In expanded state, it shows full content with collapse/dock controls.
public sealed record DrawerWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DrawerWidget>DrawSurfaceLayer
A layer whose content is drawn via a callback.
public record DrawSurfaceLayer : SurfaceLayer, IEquatable<SurfaceLayer>, IEquatable<DrawSurfaceLayer>DroppableWidget
A widget that defines a drop target region. When a draggable item is dragged over this region, the builder lambda receives a with the current drag-hover state so the content can render differently to indicate drop availability.
public sealed record DroppableWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DroppableWidget>DropTargetWidget
A widget that marks an insertion point inside a . When a drag operation is active, the nearest DropTarget to the cursor becomes active and its builder callback can render a visual indicator (e.g., a separator line). When inactive, the node measures as zero height so it doesn't create gaps.
public sealed record DropTargetWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<DropTargetWidget>EditorOverlay
Describes a floating UI element anchored to a document position in the editor. Pushed by decoration providers via .
public record EditorOverlay : IEquatable<EditorOverlay>EditorState
User-owned mutable state for an editor widget. Multiple EditorWidgets can share the same EditorState for synced cursors. Multiple EditorStates can share the same IHex1bDocument for independent views.
public class EditorStateEditorWidget
Widget for multi-line document editing. Supports shared documents and synced cursors.
public sealed record EditorWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<EditorWidget>EffectPanelWidget
A single-child container widget that applies visual post-processing effects. The child remains fully interactive (focus, input, hit testing work normally). During rendering, the child's output is captured to a temporary , the effect callback modifies it, then the result is composited to the parent.
public sealed record EffectPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<EffectPanelWidget>FloatWidget
Wraps a child widget and removes it from the container's normal layout flow. The float is positioned either at absolute coordinates or relative to an anchor widget.
public sealed record FloatWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<FloatWidget>GridCellWidget
Describes a cell within a , including its content widget and grid placement (row, column, spans).
public sealed record GridCellWidget : IEquatable<GridCellWidget>GridColumnDefinition
Defines the sizing behavior for a grid column.
public sealed record GridColumnDefinition : IEquatable<GridColumnDefinition>GridRowDefinition
Defines the sizing behavior for a grid row.
public sealed record GridRowDefinition : IEquatable<GridRowDefinition>GridWidget
A layout widget that arranges children in a two-dimensional grid with support for row and column spanning, explicit column/row sizing, and automatic grid dimension inference.
public sealed record GridWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<GridWidget>Hex1bWidget
public abstract record Hex1bWidget : IEquatable<Hex1bWidget>HStackWidget
public sealed record HStackWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IFloatWidgetContainer, IEquatable<HStackWidget>HyperlinkWidget
A widget that renders text as a clickable hyperlink using OSC 8 escape sequences. In terminals that support OSC 8 (most modern terminals), the text will be rendered as a clickable link. In unsupported terminals, the text will be rendered normally.
public sealed record HyperlinkWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<HyperlinkWidget>IconWidget
Displays an icon (single character or short string) that can optionally respond to clicks.
public sealed record IconWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<IconWidget>InfoBarSection
A section within an InfoBar, with text and optional styling.
public sealed record InfoBarSection : IEquatable<InfoBarSection>InfoBarSectionWidget
A section within an info bar that contains content (text or widgets). Sections can have custom colors, width hints, and alignment.
public sealed record InfoBarSectionWidget : IInfoBarChild, IEquatable<InfoBarSectionWidget>InfoBarSeparatorWidget
A visual separator between info bar sections. Displays a character or string to divide sections.
public sealed record InfoBarSeparatorWidget : IInfoBarChild, IEquatable<InfoBarSeparatorWidget>InfoBarSpacerWidget
A flexible spacer that expands to fill available horizontal space. Use spacers to push sections apart within an info bar.
public sealed record InfoBarSpacerWidget : IInfoBarChild, IEquatable<InfoBarSpacerWidget>InfoBarWidget
A horizontal info bar widget, typically placed at the bottom of the screen. Supports sections, separators, and spacers with flexible layout options.
public sealed record InfoBarWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<InfoBarWidget>InputOverrideWidget
A container widget that overrides input bindings for all descendant widgets of specified types. Overrides cascade through the widget tree — any widget of a matching type within the subtree will have the override applied after its default bindings and any per-instance .
public sealed record InputOverrideWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<InputOverrideWidget>InteractableWidget
A widget that wraps a child tree and makes the entire area focusable, clickable, and hoverable. The builder lambda is deferred to reconciliation time so it can read current focus/hover state from the .
public sealed record InteractableWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<InteractableWidget>KgpImageWidget
A widget that displays a KGP (Kitty Graphics Protocol) image if the terminal supports it, otherwise falls back to rendering the fallback widget.
public sealed record KgpImageWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<KgpImageWidget>LayoutWidget
A layout widget that provides clipping and rendering assistance to its children. Children that are aware of layout can query whether characters should be rendered.
public sealed record LayoutWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<LayoutWidget>LegendWidget<T>
A standalone widget that displays a chart legend with colored swatches and labels.
public sealed record LegendWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<LegendWidget<T>>ListWidget
Widget for displaying a selectable list of items. Selection state is owned by the node and preserved across reconciliation.
public sealed record ListWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ListWidget>LoggerPanelWidget
A widget that displays log entries from an in a table with automatic follow behavior. Follows by default; scrolling up breaks the lock. Navigating back to the last row re-engages following.
public sealed record LoggerPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<LoggerPanelWidget>MarkdownWidget
A widget that parses markdown source and renders it as a composed widget tree. Block rendering is extensible via which registers middleware-style handler callbacks.
public sealed record MarkdownWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<MarkdownWidget>MenuBarWidget
A horizontal menu bar that contains top-level menus. Typically placed at the top of an application.
public sealed record MenuBarWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<MenuBarWidget>MenuItemWidget
A menu item that can be activated to trigger an action.
public sealed record MenuItemWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IMenuChild, IEquatable<MenuItemWidget>MenuSeparatorWidget
A visual separator between menu items. Non-focusable and non-interactive.
public sealed record MenuSeparatorWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IMenuChild, IEquatable<MenuSeparatorWidget>MenuWidget
A menu that can contain menu items, separators, and submenus. When used in a MenuBar, renders as a clickable trigger. When used in another Menu, renders as a submenu item with an arrow indicator.
public sealed record MenuWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IMenuChild, IEquatable<MenuWidget>NavigatorRoute
Represents a screen/page that can be displayed in a Navigator.
[Experimental("HEX1B001")]
public record NavigatorRoute : IEquatable<NavigatorRoute>NavigatorState
State object for Navigator that manages the navigation stack. Use this to push new screens, pop back, or reset to root.
[Experimental("HEX1B001")]
public class NavigatorStateNavigatorWidget
A navigator widget that provides stack-based navigation for building wizard-style flows and drill-down experiences.
The navigator maintains a stack of routes. Use the NavigatorState to:
- Push: Navigate to a new screen (drill down)
- Pop: Go back to the previous screen
- PopToRoot: Return to the starting screen (complete wizard)
- Replace: Swap the current screen without adding to history
[Experimental("HEX1B001")]
public sealed record NavigatorWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<NavigatorWidget>NotificationCardWidget
A notification card widget that displays a single notification with title, body, and action buttons.
public sealed record NotificationCardWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<NotificationCardWidget>NotificationIconWidget
A notification bell icon widget that displays the notification count and toggles the drawer.
public sealed record NotificationIconWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<NotificationIconWidget>NotificationPanelWidget
A notification panel widget that hosts notifications and displays them as floating overlays or in a slide-out drawer.
public sealed record NotificationPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<NotificationPanelWidget>OverlayLine
A single line of styled text in an editor overlay.
public record OverlayLine : IEquatable<OverlayLine>OverlaySegment
A styled text segment within an overlay line. Allows mixing colors and styles within a single line.
public record OverlaySegment : IEquatable<OverlaySegment>PaddingWidget
A widget that adds invisible padding around its child content.
public sealed record PaddingWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<PaddingWidget>PastableWidget
A container widget that intercepts bracketed paste events for all descendants. When paste data arrives and no child handles it, the receives the for streaming processing.
public sealed record PastableWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<PastableWidget>PickerWidget
A dropdown picker widget that shows a selected value and opens a list popup when activated. Selection state is owned by the node and preserved across reconciliation.
public sealed record PickerWidget : CompositeWidget<PickerNode>, IEquatable<Hex1bWidget>, IEquatable<CompositeWidget<PickerNode>>, IEquatable<PickerWidget>ProgressWidget
Displays a progress bar that can show either determinate (known completion percentage) or indeterminate (unknown completion) progress.
public sealed record ProgressWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ProgressWidget>QrCodeWidget
Displays a QR code in the terminal using block characters.
public sealed record QrCodeWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<QrCodeWidget>ReconcileContext
Context passed to widget reconciliation methods, providing access to child reconciliation and focus management utilities.
public sealed class ReconcileContextRescueWidget
A widget that catches exceptions and displays a fallback when errors occur. Similar to React's ErrorBoundary pattern.
public sealed record RescueWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<RescueWidget>ResponsiveWidget
A widget that displays the first child whose condition evaluates to true. Conditions are evaluated during layout with the available size from parent constraints.
public sealed record ResponsiveWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ResponsiveWidget>ScatterChartWidget<T>
A widget that displays a scatter plot using braille characters for sub-cell precision.
public sealed record ScatterChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ScatterChartWidget<T>>ScrollbarWidget
A standalone scrollbar widget that can be composed with other widgets.
public sealed record ScrollbarWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ScrollbarWidget>ScrollPanelWidget
A scroll panel that provides scrolling capability for content that exceeds the available space. Only supports one direction at a time (vertical or horizontal).
public sealed record ScrollPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ScrollPanelWidget>SeparatorWidget
A separator widget that draws a horizontal or vertical line. When placed in a VStack, it draws a horizontal line. When placed in an HStack, it draws a vertical line. The axis can also be set explicitly. Customize appearance using via ThemePanel.
public sealed record SeparatorWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SeparatorWidget>SignaturePanel
Displays function signature information with the active parameter highlighted. Used for signature help triggered by typing trigger characters (e.g., '(' or ',').
public record SignaturePanel : IEquatable<SignaturePanel>SignaturePanelEntry
A single function signature in the .
public record SignaturePanelEntry : IEquatable<SignaturePanelEntry>SignatureParameterInfo
Information about a single parameter in a signature.
public record SignatureParameterInfo : IEquatable<SignatureParameterInfo>SixelWidget
A widget that displays a Sixel image if the terminal supports it, otherwise falls back to rendering the fallback widget.
[Experimental("HEX1B_SIXEL", UrlFormat = "https://github.com/hex1b/hex1b/blob/main/docs/experimental/sixel.md")]
public sealed record SixelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SixelWidget>SliderWidget
A slider widget for selecting numeric values within a range.
public sealed record SliderWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SliderWidget>SourceSurfaceLayer
A layer backed by an existing .
public record SourceSurfaceLayer : SurfaceLayer, IEquatable<SurfaceLayer>, IEquatable<SourceSurfaceLayer>SpinnerStyle
Defines a spinner animation style as a sequence of frames.
public sealed class SpinnerStyleSpinnerWidget
Displays an animated spinner to indicate ongoing activity.
public sealed record SpinnerWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SpinnerWidget>SplitButtonAction
Represents a secondary action in a split button dropdown menu.
public sealed record SplitButtonAction : IEquatable<SplitButtonAction>SplitButtonWidget
A split button with a primary action and a dropdown for secondary actions. The main button area triggers the primary action, while the dropdown arrow opens a menu.
public sealed record SplitButtonWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SplitButtonWidget>SplitterWidget
A splitter/divider that separates two panes either horizontally (left/right) or vertically (top/bottom). Each pane is implicitly wrapped in a LayoutWidget for proper clipping.
public sealed record SplitterWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SplitterWidget>StatePanelWidget
A widget that provides identity-anchored scope for its child subtree. The state object's reference identity determines which node is reused across reconciliation frames, enabling state preservation across list reorders.
public sealed record StatePanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<StatePanelWidget>SurfaceLayer
Base record for layers in a .
public abstract record SurfaceLayer : IEquatable<SurfaceLayer>SurfaceLayerContext
Context provided to layer builders.
public class SurfaceLayerContextSurfaceWidget
A widget that renders layered surfaces with compositing support.
public record SurfaceWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<SurfaceWidget>TabBarWidget
A horizontal tab bar widget that displays tabs with optional overflow navigation. Can be used standalone or as part of a TabPanel.
public sealed record TabBarWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TabBarWidget>TabItemWidget
Represents a single tab within a TabPanel or TabBar. Contains the tab title, optional icon, and content builder.
public sealed record TabItemWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TabItemWidget>TableCell
Represents a cell definition in a table, containing either text or a widget builder.
public record TableCell : IEquatable<TableCell>TableCellContext
Context provided when building a widget cell.
public class TableCellContext : RootContextTableCellExtensions
Extension methods for TableCell to enable fluent column configuration.
public static class TableCellExtensionsTableFooterContext
Context for building table footer cells.
public class TableFooterContextTableHeaderContext
Context for building table header cells.
public class TableHeaderContextTableRowContext
Context for building table row cells.
public class TableRowContextTableRowState
Provides state information about a table row during rendering.
public record TableRowState : IEquatable<TableRowState>TableWidget<TRow>
A widget for displaying tabular data with columns, rows, and optional header/footer.
public record TableWidget<TRow> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TableWidget<TRow>>TabPanelWidget
A complete tabbed panel widget with a tab bar and content area. Supports composable tab content with automatic tab switching.
public sealed record TabPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TabPanelWidget>TabSelectionChangedEventArgs
Event arguments for tab selection changes.
public sealed class TabSelectionChangedEventArgs : EventArgsTerminalNotRunningArgs
Arguments provided to the WhenNotRunning callback.
public sealed record TerminalNotRunningArgs : IEquatable<TerminalNotRunningArgs>TerminalWidget
A widget that displays an embedded terminal session.
public sealed record TerminalWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TerminalWidget>TextBlockWidget
Displays text content in the terminal. This is the primary widget for rendering static or dynamic text strings.
public sealed record TextBlockWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TextBlockWidget>TextBoxWidget
public sealed record TextBoxWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TextBoxWidget>ThemePanelWidget
A widget that applies theme customizations to its child widget tree. Use this to override theme elements (colors, characters, etc.) for a specific portion of your UI without affecting the rest of the application.
public sealed record ThemePanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ThemePanelWidget>TilePanelWidget
A composite widget that renders an infinite, pannable and zoomable tile map.
public sealed record TilePanelWidget : CompositeWidget<TilePanelNode>, IEquatable<Hex1bWidget>, IEquatable<CompositeWidget<TilePanelNode>>, IEquatable<TilePanelWidget>TimeSeriesChartWidget<T>
A widget that displays a time series line chart using braille characters for sub-cell precision.
public sealed record TimeSeriesChartWidget<T> : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TimeSeriesChartWidget<T>>ToggleSwitchWidget
A horizontal toggle switch widget that allows selecting between multiple options. Use arrow keys (left/right) to switch between options when focused. Selection state is owned by the node and preserved across reconciliation.
public sealed record ToggleSwitchWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<ToggleSwitchWidget>TreeItemWidget
A focusable tree item with label and optional icon. Supports lazy loading of children via OnExpanding callback.
public sealed record TreeItemWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TreeItemWidget>TreeWidget
Container widget that displays hierarchical data in a tree structure with guides and indentation. Supports keyboard navigation, expand/collapse, and multi-selection.
public sealed record TreeWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<TreeWidget>VStackWidget
public sealed record VStackWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IFloatWidgetContainer, IEquatable<VStackWidget>WidgetSurfaceLayer
A layer whose content is rendered from a widget tree.
public record WidgetSurfaceLayer : SurfaceLayer, IEquatable<SurfaceLayer>, IEquatable<WidgetSurfaceLayer>WindowPanelWidget
A container panel that hosts floating windows. Windows are managed through the and rendered over a decorative background.
public sealed record WindowPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<WindowPanelWidget>WrapPanelWidget
A layout panel that arranges children sequentially and wraps to the next row (horizontal) or column (vertical) when the available space is exceeded. Works best with uniformly-sized children and is typically placed inside a .
public sealed record WrapPanelWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IEquatable<WrapPanelWidget>ZStackWidget
A container that stacks children on the Z-axis (depth). All children occupy the same space, with later children rendering on top of earlier ones. This is useful for overlays, floating panels, menus, and modal dialogs.
public sealed record ZStackWidget : Hex1bWidget, IEquatable<Hex1bWidget>, IFloatWidgetContainer, IEquatable<ZStackWidget>Structs
AccordionContext
Provides a fluent API context for building Accordion structures. This context exposes section-creation methods to guide developers toward the correct API usage.
public readonly struct AccordionContextAccordionSectionActionBuilder
Builder context for creating accordion section header actions. Provides factory methods for common action types.
public readonly struct AccordionSectionActionBuilderInfoBarContext
Provides a fluent API context for building info bar structures. This context exposes only info bar-related methods (Section, Separator, Spacer) to guide developers toward the correct API usage.
public readonly struct InfoBarContextMenuContext
Provides a fluent API context for building menu structures. This context exposes only menu-related methods (Menu, MenuItem, Separator) to guide developers toward the correct API usage.
public readonly struct MenuContextTabContext
Provides a fluent API context for building tab content. This context exposes widget-building methods for composing tab content.
public readonly struct TabContextTabPanelContext
Provides a fluent API context for building TabPanel structures. This context exposes tab-creation methods (Tab) to guide developers toward the correct API usage.
public readonly struct TabPanelContextTreeContext
Provides a fluent API context for building tree structures. This context exposes the Item method to create tree items with optional children.
public readonly struct TreeContextInterfaces
IFloatWidgetContainer
Marker interface for container widgets that support floating children. When a container implements this interface, the Float() extension method becomes available in its widget context, allowing children to opt out of the normal layout flow.
public interface IFloatWidgetContainerIInfoBarChild
Marker interface for widgets that can be children of an InfoBar. This includes sections, separators, and spacers.
public interface IInfoBarChildIMenuChild
Marker interface for widgets that can be children of a Menu. Implemented by MenuWidget (submenus), MenuItemWidget, and MenuSeparatorWidget.
public interface IMenuChildEnums
Alignment
Specifies alignment within a container. Can be combined using flags.
[Flags]
public enum AlignmentAnchorPosition
Specifies the preferred position of a popup relative to its anchor widget.
public enum AnchorPositionBackdropStyle
Specifies how the backdrop is visually rendered.
public enum BackdropStyleCheckboxState
Represents the visual state of a checkbox.
public enum CheckboxStateClipMode
Determines how content that exceeds bounds is handled.
public enum ClipModeCursorDirection
Specifies the direction of cursor movement within an editor.
public enum CursorDirectionDragBarEdge
Specifies which edge of a DragBarPanel the resize handle appears on.
public enum DragBarEdgeDrawerDirection
Specifies the direction a drawer expands toward when opened.
public enum DrawerDirectionDrawerMode
Specifies the rendering mode for an expanded drawer.
public enum DrawerModeFloatHorizontalAlignment
Specifies how a floated widget aligns horizontally relative to its anchor.
public enum FloatHorizontalAlignmentFloatVerticalAlignment
Specifies how a floated widget aligns vertically relative to its anchor.
public enum FloatVerticalAlignmentInfoBarSectionAlignment
Alignment options for content within an info bar section.
public enum InfoBarSectionAlignmentLayoutAxis
The axis along which content is laid out.
public enum LayoutAxisOverlayPlacement
Controls where an editor overlay is positioned relative to its anchor.
public enum OverlayPlacementRescueErrorPhase
The phase in which an error occurred during rescue handling.
public enum RescueErrorPhaseScrollOrientation
The orientation of a scroll widget.
public enum ScrollOrientationTabBarRenderMode
Defines the rendering mode for a tab bar.
public enum TabBarRenderModeTableRenderMode
Specifies how table rows are rendered.
public enum TableRenderModeTabPosition
Specifies the position of tabs in a TabPanel.
public enum TabPositionTextOverflow
Specifies how a handles text that exceeds its available width.
public enum TextOverflowTreeSelectionState
Specifies the selection state of a tree item in multi-select mode with cascade selection.
public enum TreeSelectionStateWrapOrientation
Specifies the primary layout direction for a .
public enum WrapOrientation