@moxijs/ui - v0.3.5
    Preparing search index...

    Class FlexContainer

    Flexbox-style layout container for arranging UI components. Supports row/column direction, alignment, justify, and gaps.

    // Horizontal row with centered items
    const toolbar = new FlexContainer({
    direction: FlexDirection.Row,
    justify: FlexJustify.Center,
    align: FlexAlign.Center,
    gap: 10,
    padding: EdgeInsets.all(20)
    });
    toolbar.addChild(button1);
    toolbar.addChild(button2);
    toolbar.addChild(button3);

    // Vertical column with space between
    const sidebar = new FlexContainer({
    direction: FlexDirection.Column,
    justify: FlexJustify.SpaceBetween,
    width: 200,
    height: 'fill'
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    boxModel: BoxModel

    The box model defining this component's sizing and spacing

    children: UIComponent[] = []
    computedLayout: ComputedLayout

    The computed layout after measurement and positioning

    container: Container

    The PIXI container that holds this component's visual representation

    enabled: boolean = true

    Whether this component is enabled for interaction

    focused: boolean = false

    Internal focus state

    focusRing?: Graphics

    Focus ring for visual focus indication

    fontConfig?: UIFontConfig

    Font configuration for this component. Children inherit these settings (like CSS font inheritance). Set via setFontConfig() and resolved via getInheritedFont* methods.

    hovered: boolean = false

    Hover state (for components that track hover)

    id: string

    Unique identifier for this component in the layout tree

    layoutConfig?: UILayoutConfig

    Layout configuration for this component. Children inherit these defaults unless overridden.

    layoutDirty: boolean = true

    Flag indicating if layout needs to be recalculated

    layoutEngine: LayoutEngine

    Layout engine service for calculating layouts Initialized in base class so all components have access to layout calculations

    parent?: UIComponent

    Reference to parent component (if any)

    pressed: boolean = false

    Pressed state (for components that track press)

    tabIndex: number = -1

    Tab index for focus order (-1 means not focusable by tab)

    themeResolver?: ThemeResolver

    Optional theme resolver for color resolution Components can set this to enable automatic theming

    visible: boolean = true

    Whether this component is currently visible

    Accessors

    • get x(): number

      Gets the x position of this component

      Returns number

    • set x(value: number): void

      Sets the x position of this component

      Parameters

      • value: number

      Returns void

    • get y(): number

      Gets the y position of this component

      Returns number

    • set y(value: number): void

      Sets the y position of this component

      Parameters

      • value: number

      Returns void

    Methods

    • Gets the global bounds of this component (position relative to stage)

      Returns { height: number; width: number; x: number; y: number }

    • Helper to make container interactive with common settings Components can call this in setupInteractivity() or override for custom behavior

      Parameters

      • cursor: string = 'pointer'

        Cursor type ('pointer', 'text', 'default', etc.)

      Returns void

    • Override measureContent for flex layout system. Containers return 0,0 since children determine their size.

      Returns { height: number; width: number }

    • Resolve a color from theme with optional override Simplifies color resolution across all components

      Parameters

      • type: "background" | "border" | "text" | "focus" | "disabled" | "selected" | "hover"
      • Optionaloverride: number

      Returns number

    • Resolve a control-specific color with optional override

      Parameters

      • controlType: "button" | "select" | "checkbox" | "textInput" | "textArea" | "radio"
      • type: "background" | "border" | "text"
      • Optionaloverride: number

      Returns number

    • Resolves a layout setting by walking up the parent chain. Allows components to adapt to their context (e.g. using parent's default padding).

      Type Parameters

      • K extends keyof UILayoutConfig

      Parameters

      • key: K

        The layout config key to resolve

      • OptionallocalOverride: UILayoutConfig[K]

        Optional local override value

      Returns UILayoutConfig[K]

      The resolved value or undefined

    • Sets align-self property

      Parameters

      • align: "auto" | "center" | "end" | "start" | "stretch"

      Returns void

    • Sets layout configuration for this component. Children will inherit these settings.

      Parameters

      • config: UILayoutConfig

      Returns void