root = Card([header, currentHeadcount, openRolesCard, candidatesPipelineCard, avgTimeHireCard, headcountChartCard, interviewsScheduledCard, attritionChartCard, actionsCard])
header = CardHeader("Hiring Overview", "Key metrics")
currentHeadcount = TextContent("Current Headcount: 124")
openRolesHeader = CardHeader("Open Roles", null)
openRolesList = ListBlock([roleEngineer, roleMarketing, roleSales])
roleEngineer = ListItem("Software Engineer", "Engineering")
roleMarketing = ListItem("Marketing Specialist", "Marketing")
roleSales = ListItem("Sales Representative", "Sales")
candidatesPipelineHeader = CardHeader("Candidates Pipeline", null)
candidatesPipelineList = ListBlock([stageApp, stageReview, stageInterview, stageOffer])
stageApp = ListItem("Application Review", "12 candidates")
stageReview = ListItem("Resume Review", "8 candidates")
stageInterview = ListItem("Technical Interview", "5 candidates")
stageOffer = ListItem("Offer Stage", "3 candidates")
avgTimeHeader = CardHeader("Average Time to Hire", null)
avgTimeText = TextContent("Average time to hire: 42 days")
deptChartHeader = CardHeader("Headcount by Department", null)
deptLabels = ["Engineering", "Marketing", "Sales", "HR"]
deptValues = [55, 30, 20, 19]
deptSeries = Series("Headcount", [55, 30, 20, 19])
headcountChart = HorizontalBarChart(deptLabels, deptSeries, "stacked", "Department", "Headcount")
interviewsHeader = CardHeader("Interviews Scheduled This Week", null)
interviewsList = ListBlock([interview1, interview2, interview3])
interview1 = ListItem("John Doe - Marketing", "Mon 10am")
interview2 = ListItem("Jane Smith - Engineering", "Tue 2pm")
interview3 = ListItem("Alex Johnson - Sales", "Wed 11am")
attritionHeader = CardHeader("Attrition Over Past 6 Months", null)
monthLabels = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
attritionValues = [5, 3, 4, 6, 2, 1]
attritionSeries = Series("Attrition", [5, 3, 4, 6, 2, 1])
attritionChart = LineChart(monthLabels, attritionSeries, "natural", "Month", "Attritions")
addNewRoleButton = Button("Open New Role", null, "primary")
actionsCard = Card([addNewRoleButton])