{# Breadcrumbs Components ====================== Navigation breadcrumb trail for shop pages. Usage: {% from 'shared/macros/storefront/breadcrumbs.html' import shop_breadcrumbs, auto_breadcrumbs %} #} {# Shop Breadcrumbs ================ Breadcrumb navigation trail. Parameters: - items: List of breadcrumb items (static) - items_var: Alpine.js expression for items (dynamic) - separator: Separator icon (default: 'chevron-right') - show_home: Show home link (default: true) - home_url: URL for home (default: '/') - home_label: Label for home (default: 'Home') Item structure: { label: 'Category Name', url: '/category/...', // Optional, last item typically has no URL icon: 'folder' // Optional icon } Usage (static): {{ shop_breadcrumbs(items=[ {'label': 'Electronics', 'url': '/category/electronics'}, {'label': 'Headphones', 'url': '/category/headphones'}, {'label': 'Wireless'} ]) }} Usage (dynamic): {{ shop_breadcrumbs(items_var='breadcrumbs') }} #} {% macro shop_breadcrumbs( items=none, items_var=none, separator='chevron-right', show_home=true, home_url='/', home_label='Home' ) %} {% endmacro %} {# Auto Breadcrumbs ================ Automatically generates breadcrumbs from category hierarchy. Parameters: - product_var: Alpine.js expression for product (optional) - category_var: Alpine.js expression for current category - show_home: Show home link (default: true) Usage: {{ auto_breadcrumbs(category_var='currentCategory') }} {{ auto_breadcrumbs(product_var='product') }} #} {% macro auto_breadcrumbs( product_var=none, category_var='currentCategory', show_home=true ) %} {% endmacro %} {# Compact Breadcrumbs =================== Mobile-friendly breadcrumbs showing only parent and current. Parameters: - parent: Parent item (static) - parent_var: Alpine.js expression for parent - current: Current page label - current_var: Alpine.js expression for current Usage: {{ compact_breadcrumbs(parent={'label': 'Electronics', 'url': '/electronics'}, current='Headphones') }} #} {% macro compact_breadcrumbs( parent=none, parent_var=none, current=none, current_var=none ) %} {% endmacro %}