Surface.AST.SlotableComponent (surface v0.7.0) View Source

An AST node representing a standard HTML tag

Properties

* `:module` - the component module
* `:type` - the type of component (i.e. Surface.LiveComponent vs Surface.Component)
* `:slot` - the name of the slot that this component is for
* `:let` - the bindings for this template
* `:props` - the props for this component
* `:directives` - any directives to be applied to this tag
* `:children` - the tag children
* `:meta` - compilation meta data
* `:debug` - keyword list indicating when debug information should be printed during compilation

Link to this section Summary

Link to this section Types

Specs

t() :: %Surface.AST.SlotableComponent{
  debug: [atom()],
  directives: [Surface.AST.Directive.t()],
  dynamic_props: Surface.AST.DynamicAttribute.t(),
  let: [Keyword.t(atom())],
  meta: Surface.AST.Meta.t(),
  module: module(),
  props: [Surface.AST.Attribute.t()],
  slot: atom(),
  templates: %{
    :default => [Surface.AST.Template.t()],
    optional(atom()) => [Surface.AST.Template.t()]
  },
  type: module()
}