{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "gantt-holidays",
  "framework": "react",
  "type": "registry:component",
  "component": "Gantt",
  "variant": "holidays",
  "dependencies": [
    "@syncfusion/ej2-react-gantt"
  ],
  "description": "Gantt timeline marks holidays and excludes them from working-day task calculations.",
  "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/react/llms.txt",
    "skillPack": "syncfusion/react-ui-components-skills",
    "docs": "https://ai.syncfusion.com/gallery/react/js/gantt-holidays.md"
  },
  "files": [
    {
      "target": "src/components/gantt-holidays/Gantt.jsx",
      "content": "import { GanttComponent, Inject, Selection, DayMarkers, HolidaysDirective, HolidayDirective, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-gantt';\n\nlet projectNewData = [\n    { TaskID: 1, TaskName: \"Product concept\", StartDate: new Date(\"04/02/2025\"), EndDate: new Date(\"04/08/2025\") },\n    { TaskID: 2, TaskName: \"Define the product usage\", StartDate: new Date(\"04/02/2025\"), EndDate: new Date(\"04/08/2025\"), Duration: 1, Progress: 30, ParentId: 1, BaselineStartDate: new Date(\"04/02/2025\"), BaselineEndDate: new Date(\"04/02/2025\") },\n    { TaskID: 3, TaskName: \"Define the target audience\", StartDate: new Date(\"04/02/2025\"), EndDate: new Date(\"04/04/2025\"), Duration: 2, Progress: 40, ParentId: 1 },\n    { TaskID: 4, TaskName: \"Prepare product sketch and notes\", StartDate: new Date(\"04/05/2025\"), Duration: 2, Progress: 30, ParentId: 1, Predecessor: \"2\" },\n    { TaskID: 5, TaskName: \"Concept approval\", StartDate: new Date(\"04/08/2025\"), EndDate: new Date(\"04/08/2025\"), Duration: 0, ParentId: 1, Predecessor: \"3,4\", Indicators: [{ date: new Date(\"04/07/2025\"), name: \"Design Phase\", tooltip: \"Design phase completed\", iconClass: \"okIcon e-icons\" }] },\n    { TaskID: 6, TaskName: \"Market research\", StartDate: new Date(\"04/09/2025\"), EndDate: new Date(\"04/18/2025\"), Progress: 30, BaselineStartDate: new Date(\"04/09/2025\"), BaselineEndDate: new Date(\"04/09/2025\") },\n    { TaskID: 7, TaskName: \"Demand analysis\", Progress: 40, ParentId: 6 },\n    { TaskID: 8, TaskName: \"Customer strength\", StartDate: new Date(\"04/09/2025\"), EndDate: new Date(\"04/12/2025\"), Duration: 4, Progress: 30, ParentId: 7, Predecessor: \"5\", BaselineStartDate: new Date(\"04/12/2025\"), BaselineEndDate: new Date(\"04/13/2025\") },\n    { TaskID: 9, TaskName: \"Market opportunity analysis\", StartDate: new Date(\"04/09/2025\"), EndDate: new Date(\"04/12/2025\"), Duration: 4, ParentId: 7, Predecessor: \"5\" },\n    { TaskID: 10, TaskName: \"Competitor analysis\", StartDate: new Date(\"04/15/2025\"), EndDate: new Date(\"04/18/2025\"), Duration: 4, Progress: 30, ParentId: 6, Predecessor: \"7,8\" },\n    { TaskID: 11, TaskName: \"Product strength analysis\", StartDate: new Date(\"04/15/2025\"), EndDate: new Date(\"04/18/2025\"), Duration: 4, Progress: 40, ParentId: 6, Predecessor: \"9\" },\n    { TaskID: 12, TaskName: \"Research completed\", StartDate: new Date(\"04/18/2025\"), EndDate: new Date(\"04/18/2025\"), Duration: 0, Progress: 30, ParentId: 6, Predecessor: \"10\", Indicators: [{ date: new Date(\"04/20/2025\"), name: \"Research completed\", tooltip: \"Research completed\", iconClass: \"description e-icons\" }] },\n    { TaskID: 13, TaskName: \"Product design and development\", StartDate: new Date(\"04/19/2025\"), EndDate: new Date(\"05/16/2025\") },\n    { TaskID: 14, TaskName: \"Functionality design\", StartDate: new Date(\"04/19/2025\"), EndDate: new Date(\"04/23/2025\"), Duration: 4, Progress: 30, ParentId: 13, Predecessor: \"12\" },\n    { TaskID: 15, TaskName: \"Quality design\", StartDate: new Date(\"04/19/2025\"), EndDate: new Date(\"04/23/2025\"), Duration: 3, Progress: 40, ParentId: 13, Predecessor: \"12\" },\n    { TaskID: 16, TaskName: \"Define reliability\", StartDate: new Date(\"04/24/2025\"), EndDate: new Date(\"04/25/2025\"), Duration: 4, Progress: 30, ParentId: 13, Predecessor: \"15\" },\n    { TaskID: 17, TaskName: \"Identifying raw materials\", StartDate: new Date(\"04/24/2025\"), EndDate: new Date(\"04/25/2025\"), Duration: 2, ParentId: 13, Predecessor: \"15\" },\n    { TaskID: 18, TaskName: \"Define cost plan\", StartDate: new Date(\"04/26/2025\"), EndDate: new Date(\"04/29/2025\"), Progress: 30, ParentId: 13, Predecessor: \"17\" },\n    { TaskID: 19, TaskName: \"Estimate manufacturing cost\", StartDate: new Date(\"04/26/2025\"), EndDate: new Date(\"04/29/2025\"), Duration: 3, Progress: 40, ParentId: 18, Predecessor: \"17\" },\n    { TaskID: 20, TaskName: \"Estimate selling cost\", StartDate: new Date(\"04/26/2025\"), EndDate: new Date(\"04/29/2025\"), Duration: 3, Progress: 30, ParentId: 18, Predecessor: \"17\" },\n    { TaskID: 21, TaskName: \"Development of final design\", StartDate: new Date(\"04/30/2025\"), EndDate: new Date(\"05/08/2025\"), ParentId: 13 },\n    { TaskID: 22, TaskName: \"Develop dimensions and design\", StartDate: new Date(\"04/30/2025\"), EndDate: new Date(\"05/01/2025\"), Duration: 4, Progress: 30, ParentId: 21, Predecessor: \"19,20\" },\n    { TaskID: 23, TaskName: \"Develop designs to meet industry\", StartDate: new Date(\"05/02/2025\"), EndDate: new Date(\"05/03/2025\"), Duration: 3, Progress: 40, ParentId: 21, Predecessor: \"22\" },\n    { TaskID: 24, TaskName: \"Include all the details\", StartDate: new Date(\"05/06/2025\"), EndDate: new Date(\"05/08/2025\"), Duration: 4, Progress: 30, ParentId: 21, Predecessor: \"23\" },\n    { TaskID: 25, TaskName: \"CAD - Computer Aided Design\", StartDate: new Date(\"05/09/2025\"), EndDate: new Date(\"05/13/2025\"), Duration: 3, Predecessor: \"24\" },\n    { TaskID: 26, TaskName: \"CAM - Computer Aided Manufacturing\", StartDate: new Date(\"05/14/2025\"), EndDate: new Date(\"05/16/2025\"), Duration: 4, Progress: 30, Predecessor: \"25\" },\n    { TaskID: 27, TaskName: \"Finalize the design\", StartDate: new Date(\"04/16/2025\"), EndDate: new Date(\"04/16/2025\"), Duration: 0, Progress: 40, Predecessor: \"26\" },\n    { TaskID: 28, TaskName: \"Prototype testing\", StartDate: new Date(\"05/17/2025\"), EndDate: new Date(\"05/22/2025\"), Duration: 4, Progress: 30, Predecessor: \"27\" },\n    { TaskID: 29, TaskName: \"Include feedback\", StartDate: new Date(\"05/17/2025\"), EndDate: new Date(\"05/22/2025\"), Duration: 4, Predecessor: \"28ss\", Indicators: [{ date: new Date(\"05/30/2025\"), name: \"Production phase\", tooltip: \"Production phase completed\", iconClass: \"okIcon e-icons\" }] },\n    { TaskID: 30, TaskName: \"Manufacturing\", StartDate: new Date(\"05/23/2025\"), EndDate: new Date(\"05/29/2025\"), Duration: 5, Progress: 30, Predecessor: \"28,29\" },\n    { TaskID: 31, TaskName: \"Assembling material into finished goods\", StartDate: new Date(\"05/30/2025\"), EndDate: new Date(\"06/05/2025\"), Duration: 5, Progress: 40, Predecessor: \"30\" },\n    { TaskID: 32, TaskName: \"Final product development\", StartDate: new Date(\"06/06/2025\"), EndDate: new Date(\"06/13/2025\"), Progress: 30 },\n    { TaskID: 33, TaskName: \"Important improvement\", StartDate: new Date(\"06/06/2025\"), EndDate: new Date(\"06/10/2025\"), Duration: 3, ParentId: 32, Predecessor: \"31\" },\n    { TaskID: 34, TaskName: \"Customer testing and feedback\", StartDate: new Date(\"06/11/2025\"), EndDate: new Date(\"06/13/2025\"), Duration: 4, Progress: 30, ParentId: 32, Predecessor: \"33\" },\n    { TaskID: 35, TaskName: \"Final product development\", StartDate: new Date(\"06/14/2025\"), EndDate: new Date(\"06/19/2025\"), Progress: 40 },\n    { TaskID: 36, TaskName: \"Important improvement\", StartDate: new Date(\"06/14/2025\"), EndDate: new Date(\"06/19/2025\"), Duration: 4, Progress: 30, ParentId: 35, Predecessor: \"34\" },\n    { TaskID: 37, TaskName: \"Address any unforeseen issues\", StartDate: new Date(\"06/14/2025\"), EndDate: new Date(\"06/19/2025\"), Duration: 4, Progress: 30, Predecessor: \"36ss\", ParentId: 35, Indicators: [{ date: new Date(\"06/30/2025\"), name: \"Sales and marketing\", tooltip: \"Sales and marketing\", iconClass: \"description e-icons\" }] },\n    { TaskID: 38, TaskName: \"Finalize the product\", StartDate: new Date(\"06/20/2025\"), EndDate: new Date(\"07/01/2025\"), Progress: 40 },\n    { TaskID: 39, TaskName: \"Branding the product\", StartDate: new Date(\"06/20/2025\"), EndDate: new Date(\"06/25/2025\"), Duration: 4, Progress: 30, ParentId: 38, Predecessor: \"37\" },\n    { TaskID: 40, TaskName: \"Marketing and presales\", StartDate: new Date(\"06/26/2025\"), EndDate: new Date(\"07/01/2025\"), Duration: 4, ParentId: 38, Predecessor: \"39\" }\n];\n\nconst Holidays = () => {\n    const taskFields = {\n        id: 'TaskID',\n        name: 'TaskName',\n        startDate: 'StartDate',\n        endDate: 'EndDate',\n        duration: 'Duration',\n        progress: 'Progress',\n        dependency: 'Predecessor',\n        parentID: 'ParentId'\n    };\n    const labelSettings = {\n        rightLabel: 'TaskName'\n    };\n    const splitterSettings = {\n        columnIndex: 1\n    };\n    const projectStartDate = new Date('03/25/2025');\n    const projectEndDate = new Date('07/20/2025');\n    return (<div className='control-pane'>\n      <div className='control-section'>\n        <GanttComponent id='Holidays' dataSource={projectNewData} highlightWeekends={true} treeColumnIndex={1} taskFields={taskFields} labelSettings={labelSettings} height='650px' taskbarHeight={25} rowHeight={46} projectStartDate={projectStartDate} projectEndDate={projectEndDate} splitterSettings={splitterSettings}>\n          <ColumnsDirective>\n            <ColumnDirective field='TaskID' visible={false} width='80'></ColumnDirective>\n            <ColumnDirective field='TaskName' width='280'></ColumnDirective>\n            <ColumnDirective field='StartDate'></ColumnDirective>\n            <ColumnDirective field='EndDate'></ColumnDirective>\n            <ColumnDirective field='Duration'></ColumnDirective>\n            <ColumnDirective field='Predecessor'></ColumnDirective>\n            <ColumnDirective field='Progress'></ColumnDirective>\n          </ColumnsDirective>\n          <HolidaysDirective>\n            <HolidayDirective from='03/28/2025' to='03/28/2025' label='Good Friday'></HolidayDirective>\n            <HolidayDirective from='03/30/2025' to='03/30/2025' label='Easter Sunday'></HolidayDirective>\n            <HolidayDirective from='05/26/2025' to='05/26/2025' label='Memorial Day'></HolidayDirective>\n            <HolidayDirective from='07/04/2025' to='07/04/2025' label='Independence Day'></HolidayDirective>\n          </HolidaysDirective>\n          <Inject services={[Selection, DayMarkers]}/>\n        </GanttComponent>\n      </div>\n    </div>);\n};\nexport default Holidays;"
    }
  ]
}