The calendar settings atom can be used to configure how your event types interact with your calendars. This atom gives you the ability to select where to add events when you’re booked. Additionally, you can also select which calendars you want to check for conflicts to prevent double bookings.

Below code snippet can be used to render the calendar settings button

import { CalendarSettings } from "@calcom/atoms";

export default function CalendarSettingsComponent() {
  return (
    <>
      <CalendarSettings />
    </>
  )
}

For a demonstration of the calendar settings atom, please refer to the video below.

Customizations can be done to the calendar settings atom via props and classnames. Below is a list of props that can be passed to the calendar settings atom

NameRequiredDescription
classNamesNoTo pass in custom classnames from outside for styling the atom

Along with the props, calendar settings atom accepts custom styles via the classNames prop. Below is a list of props that fall under this classNames prop.

NameDescription
calendarSettingsCustomClassnamesAdds styling to the entire calendar settings atom
destinationCalendarSettingsCustomClassnamesAdds styling only to the destination calendar container
selectedCalendarSettingsCustomClassnamesAdds styling only to the selected calendar container

Additionally, if you wish to select either the Destination Calendar or the Selected Calendar, we also provide atoms specifically designed for this purpose.

1. Destination calendar settings atom

The destination calendar settings atom lets you can select which calendar you want to add events to when you’re booked. Below code snippet can be used to render the destination calendar settings atom.

import { DestinationCalendarSettings } from "@calcom/atoms";

export default function DestinationCalendars() {
  const loadingStatus = <>Loading...</>

  return (
    <>
      <DestinationCalendarSettings classNames="mx-5" statusLoader={loadingStatus} />
    </>
  )
}

This is how the destination calendar settings atom looks:

Customizations can be done to the destination calendar settings atom via props. Below is a list of props that can be passed to the calendar settings atom

NameRequiredDescription
statusLoaderNoTo pass in a custom component for the loading state
classNamesNoTo pass in custom classnames from outside for styling the atom

2. Selected calendar settings atom

The selected calendar settings atom lets you select which calendars you want to check for conflicts to prevent double bookings. Below code snippet can be used to render the selected calendar settings atom.

import { SelectedCalendarSettings } from "@calcom/atoms";

export default function SelectedCalendars( props : SelectedCalendarsProps ) {
  return (
    <>
      <SelectedCalendarSettings classNames="mx-5 mb-6" />
    </>
  )
}

This is how the selected calendar settings atom looks:

Customizations can be done to the destination calendar settings atom via props. Below is a list of props that can be passed to the calendar settings atom

NameRequiredDescription
classNamesNoTo pass in custom classnames from outside for styling the atom