component Footer { props { @event select = function @event action = function size = "default" color = "primary" label = "Footer navigation" items = [] columns = 3 maxWidth = "compact" copyright = "" class = "" } functions { function groupedItems() { const groups = [] let group = null items.forEach((item) => { if (item.type === "header") { group = { heading: item, links: [] } groups.push(group) return } if (!group) { group = { heading: null, links: [] } groups.push(group) } group.links.push(item) }) return groups } function selectItem(item) { $emit(item.type === "action" ? "action" : "select", { item: item, value: item.value || "" }) } } view { } }