# `Surface.AST.Slot`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L330)

An AST node representing a <#slot /> tag

## Properties
    * `:name` - the slot name
    * `:for` - the slotable entry assigned for this slot
    * `:default` - a list of AST nodes representing the default content for this slot
    * `:arg` - quoted expression representing the argument for this slot
    * `:generator_value` - value from the `:generator_prop` property
    * `:context_put` - value from the `:generator_prop` property
    * `:meta` - compilation meta data
    * `:directives` - directives associated with this slot

# `t`
[🔗](https://github.com/surface-ui/surface/blob/v0.12.3/lib/surface/ast.ex#L346)

```elixir
@type t() :: %Surface.AST.Slot{
  arg: Macro.t(),
  as: atom(),
  context_put: [Surface.AST.AttributeExpr.t()],
  default: [Surface.AST.t()],
  directives: [Surface.AST.Directive.t()],
  for: any(),
  generator_value: any(),
  meta: Surface.AST.Meta.t(),
  name: binary()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
