# m3e/tabs

Tabs is organizes content into separate views where only one view can be visible at a time.

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(
        disable_pagination: DisablePagination,
        header_position: tab_header_position.TabHeaderPosition,
        next_page_label: String,
        previous_page_label: String,
        stretch: Stretch,
        variant: tab_variant.TabVariant,
      )
    }

### Constructors

-     Config(
        disable_pagination: DisablePagination,
        header_position: tab_header_position.TabHeaderPosition,
        next_page_label: String,
        previous_page_label: String,
        stretch: Stretch,
        variant: tab_variant.TabVariant,
      )

## DisablePagination

</>

DisablePagination is whether scroll buttons are disabled.

    pub type DisablePagination {
      IsDisablePagination
      IsNotDisablePagination
    }

### Constructors

-     IsDisablePagination

-     IsNotDisablePagination

## Slot

</>

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

    pub type Slot {
      Panel
      NextIcon
      PrevIcon
    }

### Constructors

-     Panel

-     NextIcon

-     PrevIcon

## Stretch

</>

Stretch is whether tabs are stretched to fill the header.

    pub type Stretch {
      IsStretch
      IsNotStretch
    }

### Constructors

-     IsStretch

-     IsNotStretch

## Tabs

opaque </>

Tabs is a View Model for this component

## Fields:

- disable_pagination: Whether scroll buttons are disabled.
- header_position: The position of the tab headers.
- next_page_label: The accessible label given to the button used to move to the next page.
- previous_page_label: The accessible label given to the button used to move to the previous page.
- stretch: Whether tabs are stretched to fill the header.
- variant: The appearance variant of the tabs.

    pub opaque type Tabs

# Values

## default_config

</>

    pub fn default_config() -> Config

default_config is the default configuration for this component.

## default_disable_pagination

</>

    pub const default_disable_pagination: DisablePagination

## default_header_position

</>

    pub const default_header_position: tab_header_position.TabHeaderPosition

## default_next_page_label

</>

    pub const default_next_page_label: String

## default_previous_page_label

</>

    pub const default_previous_page_label: String

## default_stretch

</>

    pub const default_stretch: Stretch

## default_variant

</>

    pub const default_variant: tab_variant.TabVariant

## disable_pagination

</>

    pub fn disable_pagination(
      record: Tabs,
      disable_pagination: DisablePagination,
    ) -> Tabs

disable_pagination sets the value of disable_pagination for this Tabs.

## from_config

</>

    pub fn from_config(config: Config) -> Tabs

from_config creates a new Tabs from the given configuration.

## header_position

</>

    pub fn header_position(
      record: Tabs,
      header_position: tab_header_position.TabHeaderPosition,
    ) -> Tabs

header_position sets the value of header_position for this Tabs.

## new

</>

    pub fn new() -> Tabs

new creates a new Tabs with the default configuration.

## next_page_label

</>

    pub fn next_page_label(
      record: Tabs,
      next_page_label: String,
    ) -> Tabs

next_page_label sets the value of next_page_label for this Tabs.

## previous_page_label

</>

    pub fn previous_page_label(
      record: Tabs,
      previous_page_label: String,
    ) -> Tabs

previous_page_label sets the value of previous_page_label for this Tabs.

## render

</>

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

render creates a Lustre Element for a Tabs

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

## slot

</>

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

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

## stretch

</>

    pub fn stretch(record: Tabs, stretch: Stretch) -> Tabs

stretch sets the value of stretch for this Tabs.

## variant

</>

    pub fn variant(
      record: Tabs,
      variant: tab_variant.TabVariant,
    ) -> Tabs

variant sets the value of variant for this Tabs.

✨