{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "gantt-default",
  "framework": "blazor",
  "type": "registry:component",
  "component": "Gantt",
  "variant": "default",
  "dependencies": [
    "Syncfusion.Blazor.Gantt"
  ],
  "description": "Gantt chart presents task columns, dependencies, weekend highlighting, and custom task and parent progress templates.",
  "meta": {
    "essentialStudioRelease": "2026 Volume 2 (v34.1.29)",
    "license": "commercial-or-community",
    "licenseNote": "The Syncfusion package is licensed. The composition in this file is source you own and edit. See https://ai.syncfusion.com/licensing.md",
    "requiresLicenseKey": true,
    "requiresServerEndpoint": false,
    "platformIndex": "https://ai.syncfusion.com/blazor/llms.txt",
    "skillPack": "syncfusion/blazor-ui-components-skills",
    "docs": "https://ai.syncfusion.com/gallery/blazor/gantt-default.md"
  },
  "files": [
    {
      "target": "src/components/gantt-default/DataSource.cs",
      "content": "using System;\nusing System.Collections.Generic;\nnamespace BlazorDemos.Pages.GanttChart.Data\n{\n    public class GanttDefaultTaskData\n    {\n        public int TaskId { get; set; }\n        public string? TaskName { get; set; }\n        public DateTime? StartDate { get; set; }\n        public DateTime? EndDate { get; set; }\n        public DateTime? BaselineStartDate { get; set; }\n        public DateTime? BaselineEndDate { get; set; }\n        public string? Duration { get; set; }\n        public int Progress { get; set; }\n        public string? Predecessor { get; set; }\n        public object? ResourceId { get; set; }\n        public string? Notes { get; set; }\n        public string? TaskType { get; set; }\n        public int? ParentId { get; set; }\n    }\n    public class HolidayModel\n    {\n        public DateTime HolidayDate { get; set; }\n        public string? HolidayName { get; set; }\n    }\n    internal static class DefaultData\n    {\n        /// <summary>\n        /// Generates and returns a collection of Gantt task data.\n        /// </summary>\n        internal static List<GanttDefaultTaskData> ProjectNewData()\n        {\n            List<GanttDefaultTaskData> Tasks = new List<GanttDefaultTaskData>() {\n                new GanttDefaultTaskData() { TaskId = 1, TaskName = \"Product concept\", StartDate = new DateTime(2021, 04, 02), EndDate = new DateTime(2021, 04, 08), Duration = \"5days\" },\n                new GanttDefaultTaskData() { TaskId = 2, TaskName = \"Define the product usage\", StartDate = new DateTime(2021, 04, 02), EndDate = new DateTime(2021, 04, 08), Duration = \"3\", Progress = 30, ParentId = 1, BaselineStartDate = new DateTime(2021, 04, 02), BaselineEndDate = new DateTime(2021, 04, 02) },\n                new GanttDefaultTaskData() { TaskId = 3, TaskName = \"Define the target audience\", StartDate = new DateTime(2021, 04, 02), EndDate = new DateTime(2021, 04, 04), Progress = 40, Duration = \"2Days\", ParentId = 1 },\n                new GanttDefaultTaskData() { TaskId = 4, TaskName = \"Prepare product sketch and notes\", StartDate = new DateTime(2021, 04, 05), Duration = \"4\", Progress = 30, ParentId = 1, Predecessor = \"2\" },\n                new GanttDefaultTaskData() { TaskId = 5, TaskName = \"Concept approval\", StartDate = new DateTime(2021, 04, 08), EndDate = new DateTime(2021, 04, 08), Duration = \"0\", ParentId = 1, Predecessor = \"3,4\" },\n            };\n            return Tasks;\n        }\n    }\n}"
    },
    {
      "target": "src/components/gantt-default/Gantt.razor",
      "content": "@page \"/gantt-chart/default-functionalities\"\n@using Syncfusion.Blazor.Gantt\n@using BlazorDemos.Pages.GanttChart.Data\n\n<div class=\"control-section e-gantt-default-functionalities-sample\">\n\t<SfGantt @ref=\"GanttInstance\" DataSource=\"@TaskCollection\" Height=\"450px\" Width=\"100%\" HighlightWeekends=\"true\" TreeColumnIndex=\"1\"\n\t\t\t ProjectStartDate=\"@(new DateTime(2021, 3, 24))\" ProjectEndDate=\"@(new DateTime(2021, 7, 25))\" ScrollToTaskbarOnClick=\"true\">\n\t\t<GanttTaskFields Id=\"TaskId\" Name=\"TaskName\" StartDate=\"StartDate\" EndDate=\"EndDate\"\n\t\t\t\t\t\t Duration=\"Duration\" Progress=\"Progress\" Dependency=\"Predecessor\" ParentID=\"ParentId\">\n\t\t</GanttTaskFields>\n\t\t<GanttColumns>\n\t\t\t<GanttColumn Field=\"TaskId\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"TaskName\" Width=\"250\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"StartDate\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"EndDate\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Duration\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Progress\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Predecessor\"></GanttColumn>\n\t\t</GanttColumns>\n\t\t<GanttLabelSettings LeftLabel=\"TaskName\" TValue=\"GanttDefaultTaskData\"> </GanttLabelSettings>\n\t\t<GanttSplitterSettings Position=\"30%\"> </GanttSplitterSettings>\n\t\t<GanttTemplates TValue=\"GanttDefaultTaskData\">\n\t\t\t<TaskbarTemplate>\n\t\t\t\t@{\n\t\t\t\t\tvar task = (context as GanttDefaultTaskData);\n\t\t\t\t}\n\t\t\t\t<div class=\"e-gantt-child-taskbar-inner-div e-gantt-child-taskbar\" tabindex=\"-1\">\n\t\t\t\t\t<div class=\"e-gantt-child-progressbar-inner-div e-gantt-child-progressbar\" style=\"height:100%;width:@task?.Progress%;border-radius:0;\">\n\t\t\t\t\t\t<span class=\"e-task-label\">\n\t\t\t\t\t\t\t@(task?.Progress + \"%\")\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</TaskbarTemplate>\n\t\t\t<ParentTaskbarTemplate>\n\t\t\t\t@{\n\t\t\t\t\tvar task = (context as GanttDefaultTaskData);\n\t\t\t\t}\n\t\t\t\t<div class=\"e-gantt-parent-taskbar-inner-div e-gantt-parent-taskbar\" style=\"text-overflow:ellipsis;width:100%;\" tabindex=\"-1\">\n\t\t\t\t\t<div class=\"e-gantt-parent-progressbar-inner-div e-row-expand e-gantt-parent-progressbar\" style=\"height:100%;text-overflow:ellipsis;width:@task?.Progress%;border-radius:0;\">\n\t\t\t\t\t\t<span class=\"e-task-label\">\n\t\t\t\t\t\t\t@(task?.Progress + \"%\")\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ParentTaskbarTemplate>\n\t\t</GanttTemplates>\n\t</SfGantt>\n</div>\n\n@code {\n        internal SfGantt<GanttDefaultTaskData>? GanttInstance { get; set; }\n        internal List<GanttDefaultTaskData> TaskCollection { get; set; } = new List<GanttDefaultTaskData>();\n        /// <summary>\n        /// Initializes the Gantt chart with default task data.\n        /// </summary>\n        protected override async Task OnInitializedAsync()\n        {\n            TaskCollection = DefaultData.ProjectNewData();\n            await Task.CompletedTask.ConfigureAwait(true);\n        }\n\n\n}"
    }
  ]
}