# m3e/select

Select is a form control that allows users to select a value from a set of predefined options.

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(
        disabled: Disabled,
        hide_selection_indicator: HideSelectionIndicator,
        multi: Multi,
        name: String,
        panel_class: String,
        required: Required,
      )
    }

### Constructors

-     Config(
        disabled: Disabled,
        hide_selection_indicator: HideSelectionIndicator,
        multi: Multi,
        name: String,
        panel_class: String,
        required: Required,
      )

## Disabled

</>

Disabled is whether the element is disabled.

    pub type Disabled {
      IsDisabled
      IsNotDisabled
    }

### Constructors

-     IsDisabled

-     IsNotDisabled

## HideSelectionIndicator

</>

HideSelectionIndicator is whether to hide the selection indicator for single select options.

    pub type HideSelectionIndicator {
      IsHideSelectionIndicator
      IsNotHideSelectionIndicator
    }

### Constructors

-     IsHideSelectionIndicator

-     IsNotHideSelectionIndicator

## Multi

</>

Multi is whether multiple options can be selected.

    pub type Multi {
      IsMulti
      IsNotMulti
    }

### Constructors

-     IsMulti

-     IsNotMulti

## Required

</>

Required is whether the element is required.

    pub type Required {
      IsRequired
      IsNotRequired
    }

### Constructors

-     IsRequired

-     IsNotRequired

## Select

opaque </>

Select is a View Model for this component

## Fields:

- disabled: Whether the element is disabled.
- hide_selection_indicator: Whether to hide the selection indicator for single select options.
- multi: Whether multiple options can be selected.
- name: The name that identifies the element when submitting the associated form.
- panel_class: Class or list of classes to be applied to the select’s overlay panel.
- required: Whether the element is required.

    pub opaque type Select

## Slot

</>

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

    pub type Slot {
      Arrow
      Value
    }

### Constructors

-     Arrow

-     Value

# Values

## default_config

</>

    pub fn default_config() -> Config

default_config is the default configuration for this component.

## default_disabled

</>

    pub const default_disabled: Disabled

## default_hide_selection_indicator

</>

    pub const default_hide_selection_indicator: HideSelectionIndicator

## default_multi

</>

    pub const default_multi: Multi

## default_name

</>

    pub const default_name: String

## default_panel_class

</>

    pub const default_panel_class: String

## default_required

</>

    pub const default_required: Required

## disabled

</>

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

disabled sets the value of disabled for this Select.

## from_config

</>

    pub fn from_config(config: Config) -> Select

from_config creates a new Select from the given configuration.

## hide_selection_indicator

</>

    pub fn hide_selection_indicator(
      record: Select,
      hide_selection_indicator: HideSelectionIndicator,
    ) -> Select

hide_selection_indicator sets the value of hide_selection_indicator for this Select.

## multi

</>

    pub fn multi(record: Select, multi: Multi) -> Select

multi sets the value of multi for this Select.

## name

</>

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

name sets the value of name for this Select.

## new

</>

    pub fn new() -> Select

new creates a new Select with the default configuration.

## panel_class

</>

    pub fn panel_class(record: Select, panel_class: String) -> Select

panel_class sets the value of panel_class for this Select.

## render

</>

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

render creates a Lustre Element for a Select

## 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 Select Config

## required

</>

    pub fn required(record: Select, required: Required) -> Select

required sets the value of required for this Select.

## slot

</>

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

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

✨