PhoenixKit.Modules.Shop.Web.Components.CatalogSidebar (phoenix_kit v1.7.71)

Copy Markdown View Source

Reusable sidebar component for the shop storefront.

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

Summary

Functions

Renders the full catalog sidebar with filters and category tree.

Renders only the category navigation tree (no filters).

Renders a compact filter list for the dashboard sidebar.

Renders a single filter section.

Functions

catalog_sidebar(assigns)

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(assigns)

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(assigns)

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(assigns)

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.