@calcom/atoms 2.8.1 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -16,8 +16,8 @@ import { ITimezoneOption } from 'react-timezone-select';
16
16
  import { MotionProps } from 'framer-motion';
17
17
  import { MutableRefObject } from 'react';
18
18
  import { Options } from 'react-select';
19
- import { Props as Props_2 } from 'react-select';
20
- import { Props as Props_5 } from 'react-timezone-select';
19
+ import { Props as Props_3 } from 'react-select';
20
+ import { Props as Props_6 } from 'react-timezone-select';
21
21
  import { PropsWithChildren } from 'react';
22
22
  import { ReactElement } from 'react';
23
23
  import { ReactNode } from 'react';
@@ -323,6 +323,71 @@ declare type AvailableCellProps = {
323
323
 
324
324
  export declare function AvailableCellsForDay({ timezone, availableSlots, day, startHour, renderOutOfOffice, }: AvailableCellProps): JSX.Element | null;
325
325
 
326
+ export declare const AvailableTimes: ({ slots, showTimeFormatToggle, className, isPlatform, ...props }: AvailableTimesProps) => JSX.Element;
327
+
328
+ export declare const AvailableTimesHeader: ({ date, showTimeFormatToggle, availableMonth, customClassNames, }: AvailableTimesHeaderProps) => JSX.Element;
329
+
330
+ declare type AvailableTimesHeaderProps = {
331
+ date: Dayjs;
332
+ showTimeFormatToggle?: boolean;
333
+ availableMonth?: string | undefined;
334
+ customClassNames?: {
335
+ availableTimeSlotsHeaderContainer?: string;
336
+ availableTimeSlotsTitle?: string;
337
+ availableTimeSlotsTimeFormatToggle?: string;
338
+ };
339
+ };
340
+
341
+ export declare const AvailableTimeSlots: ({ extraDays, limitHeight, showAvailableSeatsCount, schedule, isLoading, customClassNames, skipConfirmStep, seatsPerTimeSlot, onSubmit, unavailableTimeSlots, confirmButtonDisabled, confirmStepClassNames, onAvailableTimeSlotSelect, hideAvailableTimesHeader, isPlatform, invalidateAvailableSlotsOnBookingForm, ...props }: AvailableTimeSlotsProps) => JSX.Element;
342
+
343
+ declare type AvailableTimeSlotsProps = {
344
+ extraDays?: number;
345
+ limitHeight?: boolean;
346
+ schedule?: ScheduleData;
347
+ isLoading: boolean;
348
+ seatsPerTimeSlot?: number | null;
349
+ showAvailableSeatsCount?: boolean | null;
350
+ event: {
351
+ data?: Pick<BookerEvent, "length" | "bookingFields" | "price" | "currency" | "metadata"> | null;
352
+ };
353
+ customClassNames?: {
354
+ availableTimeSlotsContainer?: string;
355
+ availableTimeSlotsTitle?: string;
356
+ availableTimeSlotsHeaderContainer?: string;
357
+ availableTimeSlotsTimeFormatToggle?: string;
358
+ availableTimes?: string;
359
+ };
360
+ confirmStepClassNames?: {
361
+ confirmButton?: string;
362
+ };
363
+ loadingStates: IUseBookingLoadingStates;
364
+ isVerificationCodeSending: boolean;
365
+ renderConfirmNotVerifyEmailButtonCond: boolean;
366
+ onSubmit: (timeSlot?: string) => void;
367
+ skipConfirmStep: boolean;
368
+ shouldRenderCaptcha?: boolean;
369
+ watchedCfToken?: string;
370
+ unavailableTimeSlots: string[];
371
+ confirmButtonDisabled?: boolean;
372
+ onAvailableTimeSlotSelect: (time: string) => void;
373
+ hideAvailableTimesHeader?: boolean;
374
+ isPlatform?: boolean;
375
+ invalidateAvailableSlotsOnBookingForm?: boolean;
376
+ };
377
+
378
+ export declare type AvailableTimesProps = {
379
+ slots: Slot[];
380
+ showTimeFormatToggle?: boolean;
381
+ className?: string;
382
+ onTentativeTimeSelect?: TOnTentativeTimeSelect;
383
+ unavailableTimeSlots?: string[];
384
+ isPlatform?: boolean;
385
+ } & Omit<SlotItemProps, "slot">;
386
+
387
+ export declare const AvailableTimesSkeleton: () => JSX.Element;
388
+
389
+ export declare const Away: () => JSX.Element;
390
+
326
391
  declare type BaseCalProviderProps = {
327
392
  children?: ReactNode;
328
393
  clientId: string;
@@ -775,6 +840,51 @@ declare type BookerTimezone = string;
775
840
 
776
841
  declare type BookerView = "MONTH_VIEW" | "WEEK_VIEW" | "COLUMN_VIEW";
777
842
 
843
+ export declare const BookEventForm: ({ onCancel, eventQuery, onSubmit, errorRef, errors, loadingStates, renderConfirmNotVerifyEmailButtonCond, bookingForm, children, extraOptions, isVerificationCodeSending, isPlatform, isPlatformBookerEmbed, isTimeslotUnavailable, shouldRenderCaptcha, confirmButtonDisabled, classNames, timeslot, }: Omit<BookEventFormProps, "event"> & {
844
+ eventQuery: {
845
+ isError: boolean;
846
+ isPending: boolean;
847
+ data?: Pick<BookerEvent, "price" | "currency" | "metadata" | "bookingFields" | "locations"> | null;
848
+ };
849
+ }) => JSX.Element;
850
+
851
+ declare type BookEventFormProps = {
852
+ onCancel?: () => void;
853
+ onSubmit: () => void;
854
+ errorRef: React.RefObject<HTMLDivElement>;
855
+ errors: UseBookingFormReturnType["errors"] & IUseBookingErrors;
856
+ loadingStates: IUseBookingLoadingStates;
857
+ children?: React.ReactNode;
858
+ bookingForm: UseBookingFormReturnType["bookingForm"];
859
+ renderConfirmNotVerifyEmailButtonCond: boolean;
860
+ extraOptions: Record<string, string | string[]>;
861
+ isPlatform?: boolean;
862
+ isPlatformBookerEmbed?: boolean;
863
+ isVerificationCodeSending: boolean;
864
+ isTimeslotUnavailable: boolean;
865
+ shouldRenderCaptcha?: boolean;
866
+ confirmButtonDisabled?: boolean;
867
+ classNames?: {
868
+ confirmButton?: string;
869
+ backButton?: string;
870
+ };
871
+ timeslot: string | null;
872
+ };
873
+
874
+ export declare const BookEventFormWrapperComponent: ({ child, eventLength, }: {
875
+ onCancel: () => void;
876
+ child: ReactNode;
877
+ eventLength?: number;
878
+ }) => JSX.Element | null;
879
+
880
+ export declare const BookFormAsModal: ({ visible, onCancel, children, isPlatform: _isPlatform, eventLength, }: {
881
+ visible: boolean;
882
+ onCancel: () => void;
883
+ children: ReactNode;
884
+ isPlatform?: boolean;
885
+ eventLength?: number;
886
+ }) => JSX.Element;
887
+
778
888
  declare type BookingAppStatus = {
779
889
  appName: string;
780
890
  success: number;
@@ -1184,7 +1294,14 @@ declare type ChildrenEventType = {
1184
1294
  [key: string]: unknown;
1185
1295
  };
1186
1296
 
1187
- declare type ChildrenEventTypesCustomClassNames = {
1297
+ export declare const ChildrenEventTypes: ({ childrenEventTypeOptions, assignAllTeamMembers, setAssignAllTeamMembers, customClassNames, }: {
1298
+ childrenEventTypeOptions: ReturnType<typeof mapMemberToChildrenOption>[];
1299
+ assignAllTeamMembers: boolean;
1300
+ setAssignAllTeamMembers: (value: boolean) => void;
1301
+ customClassNames?: ChildrenEventTypesCustomClassNames;
1302
+ }) => JSX.Element;
1303
+
1304
+ export declare type ChildrenEventTypesCustomClassNames = {
1188
1305
  container?: string;
1189
1306
  assignAllTeamMembers?: {
1190
1307
  container?: string;
@@ -1194,7 +1311,7 @@ declare type ChildrenEventTypesCustomClassNames = {
1194
1311
  childrenEventTypesList?: ChildrenEventTypeSelectCustomClassNames;
1195
1312
  };
1196
1313
 
1197
- export declare const ChildrenEventTypeSelect: ({ options, value, customClassNames, ...props }: Omit<Props_2<ChildrenEventType, true>, "value" | "onChange"> & {
1314
+ export declare const ChildrenEventTypeSelect: ({ options, value, customClassNames, ...props }: Omit<Props_3<ChildrenEventType, true>, "value" | "onChange"> & {
1198
1315
  value?: ChildrenEventType[];
1199
1316
  onChange: (value: readonly ChildrenEventType[]) => void;
1200
1317
  customClassNames?: ChildrenEventTypeSelectCustomClassNames;
@@ -3837,6 +3954,37 @@ declare type EventBusyDate = {
3837
3954
  source?: string | null;
3838
3955
  };
3839
3956
 
3957
+ export declare enum EventDetailBlocks {
3958
+ DURATION = "DURATION",
3959
+ LOCATION = "LOCATION",
3960
+ REQUIRES_CONFIRMATION = "REQUIRES_CONFIRMATION",
3961
+ OCCURENCES = "OCCURENCES",
3962
+ PRICE = "PRICE"
3963
+ }
3964
+
3965
+ declare type EventDetailCustomBlock = {
3966
+ blocks?: default_2.FC[];
3967
+ name: string;
3968
+ };
3969
+
3970
+ declare type EventDetailDefaultBlock = {
3971
+ blocks?: EventDetailBlocks[];
3972
+ };
3973
+
3974
+ export declare const EventDetails: ({ event, blocks }: EventDetailsProps) => JSX.Element;
3975
+
3976
+ declare type EventDetailsProps = EventDetailsPropsBase & (EventDetailDefaultBlock | EventDetailCustomBlock);
3977
+
3978
+ declare type EventDetailsPropsBase = {
3979
+ event: Pick<BookerEvent, "currency" | "price" | "locations" | "enablePerHostLocations" | "requiresConfirmation" | "recurringEvent" | "length" | "metadata" | "isDynamic">;
3980
+ className?: string;
3981
+ };
3982
+
3983
+ export declare const EventDuration: ({ event, isPlatform, }: {
3984
+ event: Pick<BookerEvent, "length" | "metadata" | "isDynamic">;
3985
+ isPlatform?: boolean;
3986
+ }) => JSX.Element | null;
3987
+
3840
3988
  declare interface EventFromTime {
3841
3989
  date: string;
3842
3990
  timeFormat: TimeFormat;
@@ -3861,7 +4009,33 @@ export declare interface EventLayout {
3861
4009
  indexInGroup: number;
3862
4010
  }
3863
4011
 
3864
- export declare function EventList({ day }: Props): JSX.Element;
4012
+ export declare function EventList({ day }: Props_2): JSX.Element;
4013
+
4014
+ export declare const EventMembers: ({ schedulingType, users, profile, entity, isPrivateLink, roundRobinHideOrgAndTeam, hideOrgTeamAvatar, isPlatform, }: EventMembersProps) => JSX.Element;
4015
+
4016
+ export declare interface EventMembersProps {
4017
+ schedulingType: BookerEvent["schedulingType"];
4018
+ users: BookerEvent["subsetOfUsers"];
4019
+ profile: BookerEvent["profile"];
4020
+ entity: BookerEvent["entity"];
4021
+ isPrivateLink: boolean;
4022
+ roundRobinHideOrgAndTeam?: boolean;
4023
+ hideOrgTeamAvatar?: boolean;
4024
+ isPlatform?: boolean;
4025
+ }
4026
+
4027
+ export declare const EventMetaBlock: ({ customIcon, icon, iconUrl, children, highlight, contentClassName, className, isDark, ...rest }: EventMetaProps) => JSX.Element | null;
4028
+
4029
+ declare interface EventMetaProps extends default_2.HTMLAttributes<HTMLDivElement> {
4030
+ customIcon?: default_2.ReactNode;
4031
+ icon?: IconName;
4032
+ iconUrl?: string;
4033
+ highlight?: boolean;
4034
+ contentClassName?: string;
4035
+ isDark?: boolean;
4036
+ }
4037
+
4038
+ export declare const EventMetaSkeleton: () => JSX.Element;
3865
4039
 
3866
4040
  declare type EventProps = {
3867
4041
  event: CalendarEvent;
@@ -3933,7 +4107,23 @@ export declare type EventSettingsFromRef = {
3933
4107
  [key: string]: unknown;
3934
4108
  };
3935
4109
 
3936
- declare type EventTeamAssignmentTabCustomClassNames = {
4110
+ declare const EventTeamAssignmentTab: ({ team, teamMembers, eventType, customClassNames, orgId, isSegmentApplicable, hideFixedHostsForCollective, weightsEditorSlot, }: EventTeamAssignmentTabBaseProps) => JSX.Element;
4111
+ export { EventTeamAssignmentTab }
4112
+ export { EventTeamAssignmentTab as EventTeamAssignmentTabDefault }
4113
+
4114
+ export declare type EventTeamAssignmentTabBaseProps = Pick<EventTypeSetupProps, "teamMembers" | "team" | "eventType"> & {
4115
+ customClassNames?: EventTeamAssignmentTabCustomClassNames;
4116
+ orgId: number | null;
4117
+ isSegmentApplicable: boolean;
4118
+ hideFixedHostsForCollective?: boolean;
4119
+ /**
4120
+ * Optional slot for the RAQB-driven weights editor sheet
4121
+ * (EditWeightsForAllTeamMembers — webapp-only, out of atoms surface).
4122
+ */
4123
+ weightsEditorSlot?: React.ReactNode;
4124
+ };
4125
+
4126
+ export declare type EventTeamAssignmentTabCustomClassNames = {
3937
4127
  assignmentType?: {
3938
4128
  container?: string;
3939
4129
  label?: string;
@@ -3949,6 +4139,14 @@ declare type EventTeamAssignmentTabCustomClassNames = {
3949
4139
  childrenEventTypes?: ChildrenEventTypesCustomClassNames;
3950
4140
  };
3951
4141
 
4142
+ export declare const EventTitle: ({ children, as, className }: EventTitleProps) => JSX.Element;
4143
+
4144
+ declare interface EventTitleProps {
4145
+ children: ReactNode;
4146
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "span";
4147
+ className?: string;
4148
+ }
4149
+
3952
4150
  declare type EventType = {
3953
4151
  id: number;
3954
4152
  slug?: string;
@@ -4172,6 +4370,8 @@ declare type GetBookingType = AtomBookingForReschedule;
4172
4370
 
4173
4371
  export declare function getDaysBetweenDates(dateFrom: Date, dateTo: Date): default_3.Dayjs[];
4174
4372
 
4373
+ export declare const getDurationFormatted: (mins: number | undefined, t: TFunction) => string | null;
4374
+
4175
4375
  export declare function getHoursToDisplay(startHour: number, endHour: number, timezone?: string): default_3.Dayjs[];
4176
4376
 
4177
4377
  declare type GetOrganizationsBookingsInput = {
@@ -4216,6 +4416,8 @@ export declare interface HasExternalId {
4216
4416
  externalId: string;
4217
4417
  }
4218
4418
 
4419
+ export declare function HavingTroubleFindingTime(props: Props): JSX.Element | null;
4420
+
4219
4421
  export declare function Header({ extraDays, isMobile, enabledLayouts, nextSlots, eventSlug, isMyLink, renderOverlay, isCalendarView, isPlatform, webappUrl, }: {
4220
4422
  extraDays: number;
4221
4423
  isMobile: boolean;
@@ -4243,7 +4445,19 @@ declare type Host = {
4243
4445
  [key: string]: any;
4244
4446
  };
4245
4447
 
4246
- declare type HostsCustomClassNames = {
4448
+ export declare const Hosts: ({ orgId, teamId, teamMembers, assignAllTeamMembers, setAssignAllTeamMembers, customClassNames, isSegmentApplicable, hideFixedHostsForCollective, weightsEditorSlot, }: {
4449
+ orgId: number | null;
4450
+ teamId: number;
4451
+ teamMembers: TeamMember[];
4452
+ assignAllTeamMembers: boolean;
4453
+ setAssignAllTeamMembers: (value: boolean) => void;
4454
+ customClassNames?: HostsCustomClassNames;
4455
+ isSegmentApplicable: boolean;
4456
+ hideFixedHostsForCollective?: boolean;
4457
+ weightsEditorSlot?: React.ReactNode;
4458
+ }) => JSX.Element;
4459
+
4460
+ export declare type HostsCustomClassNames = {
4247
4461
  fixedHosts?: FixedHostsCustomClassNames;
4248
4462
  roundRobinHosts?: RoundRobinHostsCustomClassNames;
4249
4463
  };
@@ -4403,6 +4617,19 @@ export declare interface IGetAvailableSlots {
4403
4617
  troubleshooter?: any;
4404
4618
  }
4405
4619
 
4620
+ declare interface IInstantBookingProps {
4621
+ onConnectNow: () => void;
4622
+ event: Pick<BookerEvent, "entity" | "schedulingType"> & {
4623
+ subsetOfUsers: Array<{
4624
+ name?: string | null;
4625
+ username?: string | null;
4626
+ avatarUrl?: string | null;
4627
+ bookerUrl: string;
4628
+ }>;
4629
+ };
4630
+ cooldownMs?: number;
4631
+ }
4632
+
4406
4633
  declare type InferredVariantProps = VariantProps<typeof buttonClasses>;
4407
4634
 
4408
4635
  declare type InputClassNamesLoose = {
@@ -4412,6 +4639,20 @@ declare type InputClassNamesLoose = {
4412
4639
  addOn?: string;
4413
4640
  };
4414
4641
 
4642
+ export declare const InstantBooking: ({ onConnectNow, event, cooldownMs }: IInstantBookingProps) => JSX.Element;
4643
+
4644
+ declare interface IOutOfOfficeInSlotsProps {
4645
+ date: string;
4646
+ fromUser?: OutOfOfficeUser;
4647
+ toUser?: OutOfOfficeUser;
4648
+ emoji?: string;
4649
+ reason?: string;
4650
+ notes?: string | null;
4651
+ showNotePublicly?: boolean;
4652
+ borderDashed?: boolean;
4653
+ className?: string;
4654
+ }
4655
+
4415
4656
  declare interface IOverlayCalendarStore {
4416
4657
  overlayBusyDates: EventBusyDate[] | undefined;
4417
4658
  setOverlayBusyDates: (busyDates: EventBusyDate[]) => void;
@@ -4453,7 +4694,7 @@ export declare function isOverlapping(aStart: default_3.Dayjs, aEnd: default_3.D
4453
4694
  export declare const isPrefetchNextMonthEnabled: (bookerLayout: string, date: string, dateMonth: number, monthAfterAddingExtraDays: number, monthAfterAddingExtraDaysColumnView: number, month: string | null, extraDays?: number) => boolean;
4454
4695
 
4455
4696
  export declare const isTimeSlotAvailable: ({ scheduleData, slotToCheckInIso, quickAvailabilityChecks, }: {
4456
- scheduleData: ScheduleData | null;
4697
+ scheduleData: ScheduleData_2 | null;
4457
4698
  slotToCheckInIso: SlotInIsoFormat;
4458
4699
  quickAvailabilityChecks: QuickAvailabilityCheck[];
4459
4700
  }) => boolean;
@@ -4480,6 +4721,17 @@ declare interface IUseAddVerifiedEmail {
4480
4721
  onError?: (err: ApiErrorResponse | Error) => void;
4481
4722
  }
4482
4723
 
4724
+ declare interface IUseBookingErrors {
4725
+ hasDataErrors: boolean;
4726
+ dataErrors: unknown;
4727
+ }
4728
+
4729
+ declare interface IUseBookingLoadingStates {
4730
+ creatingBooking: boolean;
4731
+ creatingRecurringBooking: boolean;
4732
+ creatingInstantBooking: boolean;
4733
+ }
4734
+
4483
4735
  declare interface IUseCancelBooking {
4484
4736
  onSuccess?: () => void;
4485
4737
  onError?: (err: ApiErrorResponse | Error) => void;
@@ -4570,6 +4822,33 @@ declare interface ManagedEventDialogProps {
4570
4822
  }) => void;
4571
4823
  }
4572
4824
 
4825
+ export declare const mapMemberToChildrenOption: (member: {
4826
+ id: number;
4827
+ name?: string | null;
4828
+ email: string;
4829
+ username?: string | null;
4830
+ avatar: string;
4831
+ membership?: string;
4832
+ eventTypes?: string[];
4833
+ profile?: Record<string, unknown>;
4834
+ }, slug: string, pendingString: string) => {
4835
+ slug: string;
4836
+ hidden: boolean;
4837
+ created: boolean;
4838
+ owner: {
4839
+ id: number;
4840
+ name: string;
4841
+ email: string;
4842
+ username: string;
4843
+ membership: string | undefined;
4844
+ eventTypeSlugs: string[];
4845
+ avatar: string;
4846
+ profile: Record<string, unknown> | undefined;
4847
+ };
4848
+ value: string;
4849
+ label: string;
4850
+ };
4851
+
4573
4852
  export declare function mergeOverlappingDateRanges(dateRanges: TimeRange[]): TimeRange[];
4574
4853
 
4575
4854
  declare type nlTranslationKeys = keyof typeof _default_7;
@@ -4650,6 +4929,8 @@ declare type OrgTeamOutputDto = {
4650
4929
 
4651
4930
  export declare const OutlookConnect: FC<Partial<OAuthConnectProps>>;
4652
4931
 
4932
+ export declare const OutOfOfficeInSlots: (props: IOutOfOfficeInSlotsProps) => JSX.Element | null;
4933
+
4653
4934
  export declare type OutOfOfficeRenderProps = {
4654
4935
  date: string;
4655
4936
  fromUser?: IFromUser;
@@ -4662,6 +4943,12 @@ export declare type OutOfOfficeRenderProps = {
4662
4943
  className?: string;
4663
4944
  };
4664
4945
 
4946
+ declare type OutOfOfficeUser = {
4947
+ id?: number | null;
4948
+ username?: string | null;
4949
+ displayName?: string | null;
4950
+ } | null | undefined;
4951
+
4665
4952
  export declare interface OverlapLayoutConfig {
4666
4953
  baseZIndex?: number;
4667
4954
  safetyMarginPercent?: number;
@@ -4669,6 +4956,8 @@ export declare interface OverlapLayoutConfig {
4669
4956
  curveExponent?: number;
4670
4957
  }
4671
4958
 
4959
+ export declare const OverlayCalendar: ({ connectedCalendars, overlayBusyDates, onToggleCalendar, isOverlayCalendarEnabled, handleClickNoCalendar, handleSwitchStateChange, handleClickContinue, hasSession, isPlatform, }: OverlayCalendarProps) => JSX.Element | null;
4960
+
4672
4961
  declare type OverlayCalendarConnectedCalendar = {
4673
4962
  calendars?: {
4674
4963
  externalId: string;
@@ -4677,6 +4966,32 @@ declare type OverlayCalendarConnectedCalendar = {
4677
4966
  credentialId: number;
4678
4967
  };
4679
4968
 
4969
+ declare type OverlayCalendarProps = {
4970
+ connectedCalendars: Array<{
4971
+ calendars?: Array<{
4972
+ externalId: string;
4973
+ primary: boolean | null;
4974
+ }>;
4975
+ credentialId: number;
4976
+ [key: string]: unknown;
4977
+ }>;
4978
+ overlayBusyDates?: Array<{
4979
+ start: Date | string;
4980
+ end: Date | string;
4981
+ [k: string]: unknown;
4982
+ }>;
4983
+ onToggleCalendar: (calendarsToLoad: Set<{
4984
+ credentialId: number;
4985
+ externalId: string;
4986
+ }>) => void;
4987
+ isOverlayCalendarEnabled: boolean;
4988
+ handleClickNoCalendar: () => void;
4989
+ hasSession: boolean;
4990
+ handleClickContinue: () => void;
4991
+ handleSwitchStateChange: (state: boolean) => void;
4992
+ isPlatform?: boolean;
4993
+ };
4994
+
4680
4995
  export declare const PaymentForm: ({ paymentUid, onPaymentSuccess, onPaymentCancellation, onEventTypePaymentInfoSuccess, onEventTypePaymentInfoFailure, }: {
4681
4996
  paymentUid: string;
4682
4997
  onPaymentSuccess?: (input: PaymentPageProps) => void;
@@ -4749,6 +5064,11 @@ declare type PeriodData = {
4749
5064
 
4750
5065
  declare type PlatformTabs = keyof Omit<TabMap, "workflows" | "webhooks" | "instant" | "ai" | "apps">;
4751
5066
 
5067
+ export declare function PriceIcon(props: {
5068
+ currency: string;
5069
+ className?: string;
5070
+ }): JSX.Element;
5071
+
4752
5072
  export declare const PriorityDialog: (props: IDialog & {
4753
5073
  customClassNames?: PriorityDialogCustomClassNames;
4754
5074
  }) => JSX.Element;
@@ -4758,10 +5078,17 @@ export declare type PriorityDialogCustomClassNames = SelectClassNamesLoose & {
4758
5078
  };
4759
5079
 
4760
5080
  declare type Props = {
5081
+ onButtonClick: () => void;
5082
+ dayCount: number | null;
5083
+ visible: boolean;
5084
+ isScheduleLoading: boolean;
5085
+ };
5086
+
5087
+ declare type Props_2 = {
4761
5088
  day: default_3.Dayjs;
4762
5089
  };
4763
5090
 
4764
- declare type Props_3 = {
5091
+ declare type Props_4 = {
4765
5092
  permissions: {
4766
5093
  canCreateEventType: boolean;
4767
5094
  };
@@ -4776,7 +5103,7 @@ declare type Props_3 = {
4776
5103
  isPlatform?: boolean;
4777
5104
  };
4778
5105
 
4779
- declare type Props_4 = {
5106
+ declare type Props_5 = {
4780
5107
  formMethods: UseFormReturn<FormValues>;
4781
5108
  eventType: EventTypeSetupProps["eventType"];
4782
5109
  team: EventTypeSetupProps["team"];
@@ -4907,6 +5234,13 @@ declare type ScheduleClassNames = {
4907
5234
  declare type scheduleClassNames = ScheduleClassNames;
4908
5235
 
4909
5236
  declare type ScheduleData = {
5237
+ data?: {
5238
+ slots?: Record<string, Slot[]>;
5239
+ } | null;
5240
+ invalidate?: () => void;
5241
+ };
5242
+
5243
+ declare type ScheduleData_2 = {
4910
5244
  slots: Record<DateInBookerTimeZone, SlotsInIso>;
4911
5245
  };
4912
5246
 
@@ -5049,6 +5383,31 @@ declare type SlotInfo_2 = {
5049
5383
 
5050
5384
  declare type SlotInIsoFormat = string;
5051
5385
 
5386
+ declare type SlotItemProps = {
5387
+ slot: Slot;
5388
+ seatsPerTimeSlot?: number | null;
5389
+ selectedSlots?: string[];
5390
+ onTimeSelect?: TOnTimeSelect;
5391
+ onTentativeTimeSelect?: TOnTentativeTimeSelect;
5392
+ showAvailableSeatsCount?: boolean | null;
5393
+ event: {
5394
+ data?: Pick<BookerEvent, "length" | "bookingFields" | "price" | "currency" | "metadata"> | null;
5395
+ };
5396
+ customClassNames?: string;
5397
+ confirmStepClassNames?: {
5398
+ confirmButton?: string;
5399
+ };
5400
+ loadingStates?: IUseBookingLoadingStates;
5401
+ isVerificationCodeSending?: boolean;
5402
+ renderConfirmNotVerifyEmailButtonCond?: boolean;
5403
+ skipConfirmStep?: boolean;
5404
+ shouldRenderCaptcha?: boolean;
5405
+ watchedCfToken?: string;
5406
+ unavailableTimeSlots?: string[];
5407
+ confirmButtonDisabled?: boolean;
5408
+ handleSlotClick?: (slot: Slot, isOverlapping: boolean) => void;
5409
+ };
5410
+
5052
5411
  /** Map of YYYY-MM-DD keys to slot info arrays. */
5053
5412
  declare type Slots = Record<string, SlotInfo[]>;
5054
5413
 
@@ -5135,7 +5494,7 @@ declare type TabMap = {
5135
5494
  payments?: () => default_2.ReactNode;
5136
5495
  };
5137
5496
 
5138
- declare const TeamEventTypeForm: ({ permissions, teamSlug, teamId, form, urlPrefix, isPending, handleSubmit, isManagedEventType, SubmitButton, isPlatform, }: Props_3) => JSX.Element;
5497
+ declare const TeamEventTypeForm: ({ permissions, teamSlug, teamId, form, urlPrefix, isPending, handleSubmit, isManagedEventType, SubmitButton, isPlatform, }: Props_4) => JSX.Element;
5139
5498
  export { TeamEventTypeForm }
5140
5499
  export { TeamEventTypeForm as TeamEventTypeFormDefault }
5141
5500
 
@@ -5151,6 +5510,8 @@ declare type TeamMember = {
5151
5510
  [key: string]: any;
5152
5511
  };
5153
5512
 
5513
+ declare type TFunction = (key: string, options?: Record<string, unknown>) => string;
5514
+
5154
5515
  declare enum TimeFormat {
5155
5516
  TWELVE_HOUR = "h:mma",
5156
5517
  TWENTY_FOUR_HOUR = "HH:mm"
@@ -5189,7 +5550,7 @@ declare type Timezones = {
5189
5550
 
5190
5551
  export declare function TimezoneSelectComponent({ className, classNames: timezoneClassNames, timezoneSelectCustomClassname, components, variant: _variant, isPending, value, size, grow, isWebTimezoneSelect, ...props }: TimezoneSelectComponentProps): JSX.Element;
5191
5552
 
5192
- export declare type TimezoneSelectComponentProps = Props_5 & {
5553
+ export declare type TimezoneSelectComponentProps = Props_6 & {
5193
5554
  variant?: "default" | "minimal";
5194
5555
  isPending: boolean;
5195
5556
  data?: Timezones;
@@ -5205,6 +5566,15 @@ declare type ToggledConnectedCalendars = {
5205
5566
  externalId: string;
5206
5567
  };
5207
5568
 
5569
+ declare type TOnTentativeTimeSelect = ({ time, attendees, seatsPerTimeSlot, bookingUid, }: {
5570
+ time: string;
5571
+ attendees: number;
5572
+ seatsPerTimeSlot?: number | null;
5573
+ bookingUid?: string;
5574
+ }) => void;
5575
+
5576
+ declare type TOnTimeSelect = (time: string, attendees: number, seatsPerTimeSlot?: number | null, bookingUid?: string) => void;
5577
+
5208
5578
  declare type TranslationFunction = (key: string, options?: Record<string, unknown>) => string;
5209
5579
 
5210
5580
  declare type TranslationFunction_2 = (key: string, options?: Record<string, unknown>) => string;
@@ -5721,7 +6091,7 @@ export declare function useStableTimezone(timezone: string, restrictionSchedule?
5721
6091
  useBookerTimezone: boolean;
5722
6092
  }): string;
5723
6093
 
5724
- export declare const useTabsNavigations: ({ formMethods, eventType, team, eventTypeApps, allActiveWorkflows, canReadWorkflows, }: Props_4) => {
6094
+ export declare const useTabsNavigations: ({ formMethods, eventType, team, eventTypeApps, allActiveWorkflows, canReadWorkflows, }: Props_5) => {
5725
6095
  tabsNavigation: {
5726
6096
  onClick: () => void;
5727
6097
  name: string;
@@ -1,6 +1,6 @@
1
1
  import { jsxs as V, jsx as _ } from "react/jsx-runtime";
2
2
  import m, { useState as L, useEffect as ie } from "react";
3
- import { g as Ce, u as se, C as we, B as X, W as Re } from "./index-r67FKmIH.js";
3
+ import { g as Ce, u as se, C as we, B as X, W as Re } from "./index-uxS4DSg-.js";
4
4
  var N = { exports: {} }, W, z;
5
5
  function xe() {
6
6
  if (z) return W;
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Customizable UI components to integrate scheduling into your product.",
6
6
  "author": "Cal.com, Inc.",
7
7
  "license": "AGPL-3.0-or-later",
8
- "version": "2.8.1",
8
+ "version": "2.8.2",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "https://github.com/calcom/atoms",