root = Card([header, drinksTable, foodTable, specialCallout, vegToggle, vegList, openingHoursText])
header = CardHeader("Cafe Menu")
drinkLabelCol = Col("Drink", ["Coffee", "Tea", "Juice", "Smoothie"], "string")
drinkPriceCol = Col("Price", ["$3.50", "$2.75", "$4.00", "$5.25"], "string")
drinksTable = Table(columns: [drinkLabelCol, drinkPriceCol])
foodLabelCol = Col("Food", ["Hamburger", "Salad", "Sandwich", "Soup"], "string")
foodPriceCol = Col("Price", ["$8.00", "$7.50", "$6.00", "$4.50"], "string")
foodTable = Table(columns: [foodLabelCol, foodPriceCol])
specialCallout = Callout(variant: "info", title: "Today's Special", description: "Avocado Toast - $8.50")
vegSwitchItem = SwitchItem("Vegetarian only", "Show only vegetarian items", "veg_filter", false)
vegToggle = SwitchGroup(name: "veg_filter", items: [vegSwitchItem])
vegItem1 = ListItem(title: "Avocado Toast", subtitle: "Creamy avocado on toast", image: ["https://picsum.photos/seed/avocado/200/150"])
vegItem2 = ListItem(title: "Greek Salad", subtitle: "Tomatoes, cucumbers, feta", image: ["https://picsum.photos/seed/greek/200/150"])
vegItem3 = ListItem(title: "Vegetable Stir Fry", subtitle: "Mixed veggies with sauce", image: ["https://picsum.photos/seed/stirfry/200/150"])
vegList = ListBlock(items: [vegItem1, vegItem2, vegItem3], variant: "number")
openingHoursText = TextContent("Opening hours: Mon-Fri 8am-6pm, Sat 9am-5pm, Sun closed", "default")