# m3e/split_pane

SplitPane is a dual-view layout that separates content with a movable drag handle.

This file was generated: By: m3e/generator version 0.1.0 At: 2026-05-05T14:38:23+10:00

         DO NOT EDIT

# Types

## Config

</>

Config is a public record for configuring this component.

    pub type Config {
      Config(
        detents: List(String),
        label: String,
        max: Float,
        min: Float,
        orientation: split_pane_orientation.SplitPaneOrientation,
        overshoot_limit: Float,
        step: Float,
        value: Float,
        wrap_detents: WrapDetents,
        value_formatter: String,
        name: String,
        disabled: Disabled,
      )
    }

### Constructors

-     Config(
        detents: List(String),
        label: String,
        max: Float,
        min: Float,
        orientation: split_pane_orientation.SplitPaneOrientation,
        overshoot_limit: Float,
        step: Float,
        value: Float,
        wrap_detents: WrapDetents,
        value_formatter: String,
        name: String,
        disabled: Disabled,
      )

## Disabled

</>

Disabled is whether the element is disabled.

    pub type Disabled {
      IsDisabled
      IsNotDisabled
    }

### Constructors

-     IsDisabled

-     IsNotDisabled

## Slot

</>

Slots are used in child elements to insert content into this component

    pub type Slot {
      Start
      End
    }

### Constructors

-     Start

-     End

## SplitPane

opaque </>

SplitPane is a View Model for this component

## Fields:

- detents: Detents (discrete sizes) the start pane can snap to.
- label: The accessible label given to the movable drag handle.
- max: A fractional value, between 0 and 100, indicating the maximum size of the start pane.
- min: A fractional value, between 0 and 100, indicating the minimum size of the start pane.
- orientation: The orientation of the split.
- overshoot_limit: A fractional value, between 0 and 100, indicating the maximum visual overshoot allowed when dragging past the minimum or maximum size.
- step: A fractional value, between 0 and 100, indicating the increment by which to adjust the value when resized via keyboard.
- value: A fractional value, between 0 and 100, indicating the size of the start pane.
- wrap_detents: Whether cycling through detents will wrap.
- value_formatter: A function used to generates human readable text for the accessible value (`aria-valuetext`) of the drag handle.
- name: The name that identifies the element when submitting the associated form.
- disabled: Whether the element is disabled.

    pub opaque type SplitPane

## WrapDetents

</>

WrapDetents is whether cycling through detents will wrap.

    pub type WrapDetents {
      IsWrapDetents
      IsNotWrapDetents
    }

### Constructors

-     IsWrapDetents

-     IsNotWrapDetents

# Values

## default_config

</>

    pub fn default_config() -> Config

default_config is the default configuration for this component.

## default_detents

</>

    pub const default_detents: List(String)

## default_disabled

</>

    pub const default_disabled: Disabled

## default_label

</>

    pub const default_label: String

## default_max

</>

    pub const default_max: Float

## default_min

</>

    pub const default_min: Float

## default_name

</>

    pub const default_name: String

## default_orientation

</>

    pub const default_orientation: split_pane_orientation.SplitPaneOrientation

## default_overshoot_limit

</>

    pub const default_overshoot_limit: Float

## default_step

</>

    pub const default_step: Float

## default_value

</>

    pub const default_value: Float

## default_value_formatter

</>

    pub const default_value_formatter: String

## default_wrap_detents

</>

    pub const default_wrap_detents: WrapDetents

## detents

</>

    pub fn detents(
      record: SplitPane,
      detents: List(String),
    ) -> SplitPane

detents sets the value of detents for this SplitPane.

## disabled

</>

    pub fn disabled(
      record: SplitPane,
      disabled: Disabled,
    ) -> SplitPane

disabled sets the value of disabled for this SplitPane.

## from_config

</>

    pub fn from_config(config: Config) -> SplitPane

from_config creates a new SplitPane from the given configuration.

## label

</>

    pub fn label(record: SplitPane, label: String) -> SplitPane

label sets the value of label for this SplitPane.

## max

</>

    pub fn max(record: SplitPane, max: Float) -> SplitPane

max sets the value of max for this SplitPane.

## min

</>

    pub fn min(record: SplitPane, min: Float) -> SplitPane

min sets the value of min for this SplitPane.

## name

</>

    pub fn name(record: SplitPane, name: String) -> SplitPane

name sets the value of name for this SplitPane.

## new

</>

    pub fn new() -> SplitPane

new creates a new SplitPane with the default configuration.

## orientation

</>

    pub fn orientation(
      record: SplitPane,
      orientation: split_pane_orientation.SplitPaneOrientation,
    ) -> SplitPane

orientation sets the value of orientation for this SplitPane.

## overshoot_limit

</>

    pub fn overshoot_limit(
      record: SplitPane,
      overshoot_limit: Float,
    ) -> SplitPane

overshoot_limit sets the value of overshoot_limit for this SplitPane.

## render

</>

    pub fn render(
      model: SplitPane,
      attributes: List(attribute.Attribute(msg)),
      children: List(element.Element(msg)),
    ) -> element.Element(msg)

render creates a Lustre Element for a SplitPane

## render_config

</>

    pub fn render_config(
      c: Config,
      attributes: List(attribute.Attribute(msg)),
      children: List(element.Element(msg)),
    ) -> element.Element(msg)

render_config creates a Lustre Element from a SplitPane Config

## slot

</>

    pub fn slot(s: Slot) -> attribute.Attribute(msg)

slot returns a Lustre Attribute(msg) for the given slot name

## step

</>

    pub fn step(record: SplitPane, step: Float) -> SplitPane

step sets the value of step for this SplitPane.

## value

</>

    pub fn value(record: SplitPane, value: Float) -> SplitPane

value sets the value of value for this SplitPane.

## value_formatter

</>

    pub fn value_formatter(
      record: SplitPane,
      value_formatter: String,
    ) -> SplitPane

value_formatter sets the value of value_formatter for this SplitPane.

## wrap_detents

</>

    pub fn wrap_detents(
      record: SplitPane,
      wrap_detents: WrapDetents,
    ) -> SplitPane

wrap_detents sets the value of wrap_detents for this SplitPane.

✨