{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "gantt-holidays",
  "framework": "blazor",
  "type": "registry:component",
  "component": "Gantt",
  "variant": "holidays",
  "dependencies": [
    "Syncfusion.Blazor.Gantt"
  ],
  "description": "Gantt chart displays scheduled tasks with dependency columns and configured holiday periods highlighted in the timeline.",
  "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-holidays.md"
  },
  "files": [
    {
      "target": "src/components/gantt-holidays/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-holidays/Gantt.razor",
      "content": "@page \"/gantt-chart/holidays\"\n@using Syncfusion.Blazor.Gantt\n@using BlazorDemos.Pages.GanttChart.Data\n<div class=\"control-section e-gantt-holidays-sample\">\n\t<SfGantt @ref=\"GanttInstance\" DataSource=\"@TaskCollection\" Height=\"100%\" Width=\"1200px\" TreeColumnIndex=\"1\"\n\t\t\t ProjectStartDate=\"@(new DateTime(2021, 3, 28))\" ProjectEndDate=\"@(new DateTime(2021, 7, 20))\"\n\t\t\t GridLines=\"Syncfusion.Blazor.Gantt.GridLine.Vertical\" HighlightWeekends=\"true\" ScrollToTaskbarOnClick=\"true\">\n\t\t<GanttTaskFields Id=\"TaskId\" Name=\"TaskName\" StartDate=\"StartDate\"\n\t\t\t\t\t\t EndDate=\"EndDate\" Duration=\"Duration\"\n\t\t\t\t\t\t Progress=\"Progress\" ParentID=\"ParentId\"\n\t\t\t\t\t\t Dependency=\"Predecessor\">\n\t\t</GanttTaskFields>\n\t\t<GanttColumns>\n\t\t\t<GanttColumn Field=\"TaskId\" Width=\"100\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"TaskName\" HeaderText=\"Task Name\"\n\t\t\t\t\t\t Width=\"250\" ClipMode=\"Syncfusion.Blazor.Grids.ClipMode.EllipsisWithTooltip\">\n\t\t\t</GanttColumn>\n\t\t\t<GanttColumn Field=\"StartDate\" HeaderText=\"Start Date\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"EndDate\" HeaderText=\"End Date\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Duration\" HeaderText=\"Duration\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Progress\" HeaderText=\"Progress\"></GanttColumn>\n\t\t\t<GanttColumn Field=\"Predecessor\" HeaderText=\"Dependency\"></GanttColumn>\n\t\t</GanttColumns>\n\t\t<GanttHolidays>\n\t\t\t@foreach (HolidayModel holiday in HolidayCollection)\n\t\t\t{\n\t\t\t\t<GanttHoliday From=\"@holiday.HolidayDate\" To=\"@holiday.HolidayDate\" Label=\"@holiday.HolidayName\"></GanttHoliday>\n\t\t\t}\n\t\t</GanttHolidays>\n\t\t<GanttLabelSettings RightLabel=\"TaskName\" TValue=\"GanttDefaultTaskData\"> </GanttLabelSettings>\n\t\t<GanttSplitterSettings Position=\"28%\"></GanttSplitterSettings>\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        internal List<HolidayModel> HolidayCollection = new List<HolidayModel>()\n        {\n            new HolidayModel() { HolidayDate = new DateTime(2021, 4, 02), HolidayName = \"Good Friday\" },\n            new HolidayModel() { HolidayDate = new DateTime(2021, 4, 04), HolidayName = \"Easter Sunday\" },\n            new HolidayModel() { HolidayDate = new DateTime(2021, 5, 31), HolidayName = \"Memorial Day\" },\n            new HolidayModel() { HolidayDate = new DateTime(2021, 7, 04), HolidayName = \"Independence Day\" }\n        };\n        /// <summary>\n        /// Initializes the sample by loading task data for the Gantt chart.\n        /// </summary>\n        protected override async Task OnInitializedAsync()\n        {\n            TaskCollection = DefaultData.ProjectNewData();\n            await Task.CompletedTask.ConfigureAwait(true);\n        }\n}"
    }
  ]
}