m3e

Package Version Hex Docs

Overview

m3e is a set of Gleam/Lustre wrappers for M3E — Material 3 Expressive components

m3e provides Gleam functions for all of the M3E components

Each M3E component is represented by a Gleam type, has

Builder Pattern example:

  import m3e/button

  let b = button.new("Press me", button.Filled) |> button.shape(button.Square)

Config Record example

  import lustre/element
  import m3e/card

  card.render_config(
    card.Config(..card.default_config(), variant: card.Outlined),
    [card.slot(card.Content)],
    [element.text("This is a card")],
  )

Further documentation can be found at https://hexdocs.pm/m3e.

Installation into a Gleam/Lustre project

gleam add m3e@1
mkdir -p dist
cd dist
npm i @m3e/all

Development

index.html

Examples

The examples/ folder contains a showcase application which will eventually replicate each of the M3E demonstration cases in the Gleam/Lustre context.

Search Document