class Lookbook::Nav::Entity::Component
def alpine_data
def alpine_data alpine_encode({id: node.id, matchers: search_terms}) end
def children
def children collapsed? ? [] : super end
def collapsed?
def collapsed? node.type == :preview && node.children.one? end
def href
def href if collapsed? node.first.url_path elsif type != :preview node.url_path end end
def nav_icon
def nav_icon ICONS[collapsed? ? :preview : node.type] || :file end
def search_terms
def search_terms matchers = if collapsed? node.first.search_terms else node.respond_to?(:search_terms) ? Array(node.search_terms) : [] end matchers.flatten.map { |m| m.gsub(/\s/, "").downcase } end
def type
def type collapsed? ? :scenario : node.type end