# `Cinder.Column`
[🔗](https://github.com/sevenseacat/cinder/blob/v0.16.0/lib/cinder/column.ex#L1)

Column configuration and type inference for Cinder table components.

Provides intelligent column parsing that can automatically infer filter types,
sort capabilities, and display options from Ash resource definitions.
Supports relationship fields using dot notation (e.g., "user.name").

# `t`

```elixir
@type t() :: %Cinder.Column{
  class: String.t(),
  display_field: String.t() | nil,
  field: String.t(),
  filter_fn: function() | nil,
  filter_options: keyword(),
  filter_type: atom(),
  filter_warning: String.t() | nil,
  filterable: boolean(),
  label: String.t(),
  options: list(),
  relationship: String.t() | nil,
  search_fn: function() | nil,
  searchable: boolean(),
  slot: map(),
  sort_warning: String.t() | nil,
  sortable: boolean()
}
```

# `infer_from_resource`

Infers column configuration from Ash resource attribute definitions.

# `merge_config`

Merges slot configuration with inferred defaults.

# `parse_column`

Parses a single column definition with automatic type inference.

# `parse_columns`

Parses and normalizes column definitions from slots and resource information.

## Parameters
- `slots` - List of column slot definitions
- `resource` - Ash resource module for type inference

## Returns
List of normalized Column structs

# `validate`

Validates a column configuration.

---

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