class Lookbook::Nav::Item::Component
def alpine_component
def alpine_component "navItemComponent" end
def alpine_data
def alpine_data alpine_encode({id: node.id, matchers: []}) end
def children
def children @children ||= node.sort.map { |node| render_item(node) } end
def children?
def children? children.any? end
def id
def id "#{nav_id}-#{node.id}" end
def initialize(node, nav_id:, **html_attrs)
def initialize(node, nav_id:, **html_attrs) @node = node @nav_id = nav_id super(**html_attrs) end
def left_pad
def left_pad depth * 12 end
def nav_icon
def nav_icon :folder end
def render_item(node)
def render_item(node) item_class = (node.type == :directory) ? Nav::Directory::Component : Nav::Entity::Component lookbook_render item_class.new node, nav_id: nav_id end