{
  "$schema": "https://ai.syncfusion.com/schema/registry-item.json",
  "name": "scheduler-recurring-events",
  "framework": "react",
  "type": "registry:component",
  "component": "Scheduler",
  "variant": "recurring-events",
  "dependencies": [
    "@syncfusion/ej2-react-schedule"
  ],
  "description": "Scheduler displays recurring appointments configured with RFC5545 recurrence rules.",
  "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/ts/scheduler-recurring-events.md"
  },
  "files": [
    {
      "target": "src/components/scheduler-recurring-events/Scheduler.tsx",
      "content": "import { useState, useRef } from 'react';\nimport { ScheduleComponent, ViewsDirective, ViewDirective, Day, Week, Month, type EventRenderedArgs, Inject, Resize, DragAndDrop, type EventSettingsModel } from '@syncfusion/ej2-react-schedule';\nimport { extend } from '@syncfusion/ej2-base';\n\n/**\n * Schedule Recurrence events sample\n */\nlet recurrenceData = [\n        {\n            \"Id\": 1,\n            \"Subject\": \"Project demo meeting with Andrew\",\n            \"Location\": \"Office\",\n            \"StartTime\": \"2021-02-14T06:30:00.000Z\",\n            \"EndTime\": \"2021-02-14T07:30:00.000Z\",\n            \"RecurrenceRule\": \"FREQ=WEEKLY;INTERVAL=2;BYDAY=MO;COUNT=10\",\n            \"CategoryColor\": \"#1aaa55\"\n        },\n        {\n            \"Id\": 2,\n            \"Subject\": \"Scrum Meeting\",\n            \"Location\": \"Office\",\n            \"StartTime\": \"2021-02-12T04:00:00.000Z\",\n            \"EndTime\": \"2021-02-12T05:00:00.000Z\",\n            \"RecurrenceRule\": \"FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;INTERVAL=1\",\n            \"CategoryColor\": \"#357cd2\"\n        },\n        {\n            \"Id\": 3,\n            \"Subject\": \"Meeting with Core team\",\n            \"Location\": \"Office\",\n            \"StartTime\": \"2021-02-16T06:30:00.000Z\",\n            \"EndTime\": \"2021-02-16T08:30:00.000Z\",\n            \"RecurrenceRule\": \"FREQ=WEEKLY;INTERVAL=1;BYDAY=FR\",\n            \"CategoryColor\": \"#7fa900\"\n        },\n        {\n            \"Id\": 4,\n            \"Subject\": \"Customer meeting – John Mackenzie\",\n            \"Location\": \"Office\",\n            \"StartTime\": \"2021-02-20T06:00:00.000Z\",\n            \"EndTime\": \"2021-02-20T08:00:00.000Z\",\n            \"RecurrenceRule\": \"FREQ=MONTHLY;BYMONTHDAY=20;INTERVAL=1;COUNT=5\",\n            \"CategoryColor\": \"#ea7a57\"\n        },\n        {\n            \"Id\": 5,\n            \"Subject\": \"Team Fun Activities\",\n            \"Location\": \"Office\",\n            \"StartTime\": \"2021-02-21T18:30:00.000Z\",\n            \"EndTime\": \"2021-02-22T18:30:00.000Z\",\n            \"IsAllDay\": true,\n            \"RecurrenceRule\": \"FREQ=YEARLY;BYDAY=TH;BYMONTH=2;BYSETPOS=4;INTERVAL=1;COUNT=10\",\n            \"CategoryColor\": \"#00bdae\"\n        }\n    ];\n\nconst RecurrenceEvents = () => {\n  const scheduleObj = useRef<ScheduleComponent>(null);\n  const data: Record<string, any>[] = extend([], recurrenceData, null, true) as Record<string, any>[];\n  const [eventSettings] = useState<EventSettingsModel>({ dataSource: data, editFollowingEvents: false });\n  const onEventRendered = (args: EventRenderedArgs): void => {\n\n  }\n\n  return (\n    <div className='schedule-control-section'>\n      <div className='col-lg-9 control-section'>\n        <div className='control-wrapper'>\n          <ScheduleComponent width='100%' height='650px' selectedDate={new Date(2021, 1, 20)} ref={scheduleObj} eventSettings={eventSettings} eventRendered={onEventRendered}>\n            <ViewsDirective>\n              <ViewDirective option='Day' />\n              <ViewDirective option='Week' />\n              <ViewDirective option='Month' />\n            </ViewsDirective>\n            <Inject services={[Day, Week, Month, Resize, DragAndDrop]} />\n          </ScheduleComponent>\n        </div>\n      </div>\n    </div>\n  );\n}\nexport default RecurrenceEvents;"
    }
  ]
}