AshSDUI.Component (ash_sdui v0.2.0)

Copy Markdown View Source

Macro for declaring an SDUI component.

Usage

defmodule MyApp.Components.UserProfile.Header do
  use AshSDUI.Component, fragment: """
    fragment UserProfileHeaderData on User {
      username
      avatarUrl
    }
  """

  def render(assigns) do
    ~H"""
    <div><%= @subject.username %></div>
    """
  end
end

The component name is derived from the module alias. MyApp.Components.UserProfile.Header becomes "UserProfile.Header@v1" (drops up to and including Components, appends version). Set @version "v2" before use AshSDUI.Component to override the default v1.