# `PhoenixKitEcommerce.Web.Components.CatalogSidebar`
[🔗](https://github.com/BeamLabEU/phoenix_kit_ecommerce/blob/v0.1.8/lib/phoenix_kit_ecommerce/web/components/catalog_sidebar.ex#L1)

Reusable sidebar component for the shop storefront.

Renders collapsible filter sections and category tree navigation.
Uses native HTML `<details>/<summary>` for collapse behavior.

# `catalog_sidebar`

Renders the full catalog sidebar with filters and category tree.

## Attributes
- `filters` - List of enabled filter definitions
- `filter_values` - Map of aggregated values per filter key
- `active_filters` - Map of currently active filter selections
- `categories` - List of active categories for navigation
- `current_category` - Currently selected category (or nil)
- `current_language` - Current language code
- `category_icon_mode` - Icon mode setting
- `category_name_wrap` - Whether to wrap category names
- `show_categories` - Whether to show category tree (default: true)
- `show_filters` - Whether to show filter sections (default: true)

## Attributes

* `filters` (`:list`) (required)
* `filter_values` (`:map`) (required)
* `active_filters` (`:map`) (required)
* `categories` (`:list`) - Defaults to `[]`.
* `current_category` (`:any`) - Defaults to `nil`.
* `current_language` (`:string`) - Defaults to `"en"`.
* `category_icon_mode` (`:string`) - Defaults to `"none"`.
* `category_name_wrap` (`:boolean`) - Defaults to `false`.
* `show_categories` (`:boolean`) - Defaults to `true`.
* `show_filters` (`:boolean`) - Defaults to `true`.
* `filter_qs` (`:string`) - Defaults to `""`.

# `category_nav`

Renders only the category navigation tree (no filters).

Lightweight component for pages where filters don't apply (e.g. product detail).

## Attributes
- `categories` - List of active categories for navigation
- `current_category` - Currently selected category (or nil)
- `current_language` - Current language code
- `category_icon_mode` - Icon mode setting
- `category_name_wrap` - Whether to wrap category names
- `open` - Whether the details element is open (default: true)

## Attributes

* `categories` (`:list`) (required)
* `current_category` (`:any`) - Defaults to `nil`.
* `current_language` (`:string`) - Defaults to `"en"`.
* `category_icon_mode` (`:string`) - Defaults to `"none"`.
* `category_name_wrap` (`:boolean`) - Defaults to `false`.
* `open` (`:boolean`) - Defaults to `true`.
* `filter_qs` (`:string`) - Defaults to `""`.

# `dashboard_filters`

Renders a compact filter list for the dashboard sidebar.

Simplified version without category tree, designed to fit
below the dashboard tab navigation.

## Attributes

* `filters` (`:list`) (required)
* `filter_values` (`:map`) (required)
* `active_filters` (`:map`) (required)

# `filter_section`

Renders a single filter section.

Dispatches to the correct sub-component based on filter type.

## Attributes

* `filter` (`:map`) (required)
* `values` (`:any`) (required)
* `active` (`:any`) - Defaults to `nil`.

# `sidebar_cat_icon`

## Attributes

* `mode` (`:string`) (required)
* `category` (`:any`) (required)

---

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