import { D as DailyLocationType } from "./CalEventParser-tm9lJVKT.js";
import { P as PeriodType, S as SchedulingType, E as EventTypeMetaDataSchema, s as slugify } from "./i18n-tiaWqB1b.js";
import { e as eventTypeMetaDataSchemaWithTypedApps } from "./zod-utils-2ownajiN.js";
const user = {
  metadata: null,
  theme: null,
  credentials: [],
  username: "john.doe",
  timeZone: "",
  bufferTime: 0,
  availability: [],
  id: 0,
  startTime: 0,
  endTime: 0,
  allSelectedCalendars: [],
  userLevelSelectedCalendars: [],
  schedules: [],
  defaultScheduleId: null,
  locale: "en",
  email: "john.doe@example.com",
  name: "John doe",
  destinationCalendar: null,
  hideBranding: true,
  brandColor: "#797979",
  darkBrandColor: "#efefef",
  allowDynamicBooking: true,
  timeFormat: 12,
  travelSchedules: [],
  locked: false,
  isPlatformManaged: false
};
const customInputs = [];
const commons = {
  isDynamic: true,
  periodCountCalendarDays: true,
  periodStartDate: null,
  periodEndDate: null,
  beforeEventBuffer: 0,
  afterEventBuffer: 0,
  periodType: PeriodType.UNLIMITED,
  periodDays: null,
  slotInterval: null,
  offsetStart: 0,
  locations: [{ type: DailyLocationType }],
  customInputs,
  disableGuests: true,
  minimumBookingNotice: 120,
  schedule: null,
  timeZone: null,
  successRedirectUrl: "",
  forwardParamsSuccessRedirect: true,
  teamId: null,
  scheduleId: null,
  availability: [],
  price: 0,
  currency: "usd",
  schedulingType: SchedulingType.COLLECTIVE,
  seatsPerTimeSlot: null,
  seatsShowAttendees: null,
  seatsShowAvailabilityCount: null,
  disableCancelling: false,
  disableRescheduling: false,
  onlyShowFirstAvailableSlot: false,
  allowReschedulingPastBookings: false,
  hideOrganizerEmail: false,
  showOptimizedSlots: false,
  id: 0,
  hideCalendarNotes: false,
  hideCalendarEventDetails: false,
  recurringEvent: null,
  destinationCalendar: null,
  team: null,
  lockTimeZoneToggleOnBookingPage: false,
  lockedTimeZone: null,
  requiresConfirmation: false,
  requiresConfirmationForFreeEmail: false,
  requiresBookerEmailVerification: false,
  bookingLimits: null,
  maxActiveBookingsPerBooker: null,
  maxActiveBookingPerBookerOfferReschedule: false,
  durationLimits: null,
  hidden: false,
  userId: 0,
  parentId: null,
  parent: null,
  owner: null,
  workflows: [],
  users: [user],
  hosts: [],
  subsetOfHosts: [],
  metadata: EventTypeMetaDataSchema.parse({}),
  bookingFields: [],
  assignAllTeamMembers: false,
  assignRRMembersUsingSegment: false,
  rrSegmentQueryValue: null,
  isRRWeightsEnabled: false,
  rescheduleWithSameRoundRobinHost: false,
  useEventTypeDestinationCalendarEmail: false,
  secondaryEmailId: null,
  secondaryEmail: null,
  autoTranslateDescriptionEnabled: false,
  fieldTranslations: [],
  maxLeadThreshold: null,
  includeNoShowInRRCalculation: false,
  useEventLevelSelectedCalendars: false,
  rrResetInterval: null,
  rrTimestampBasis: null,
  interfaceLanguage: null,
  customReplyToEmail: null,
  restrictionScheduleId: null,
  useBookerTimezone: false,
  profileId: null,
  requiresConfirmationWillBlockSlot: false,
  canSendCalVideoTranscriptionEmails: false,
  instantMeetingExpiryTimeOffsetInSeconds: 0,
  instantMeetingScheduleId: null,
  instantMeetingParameters: [],
  eventTypeColor: null,
  hostGroups: [],
  bookingRequiresAuthentication: false
};
const dynamicEvent = {
  length: 30,
  slug: "dynamic",
  title: "Group Meeting",
  eventName: "Group Meeting",
  description: "Join us for a meeting with multiple people",
  descriptionAsSafeHTML: "",
  position: 0,
  ...commons,
  metadata: eventTypeMetaDataSchemaWithTypedApps.parse({ multipleDuration: [15, 30, 45, 60, 90] })
};
const defaultEvents = [dynamicEvent];
const getDefaultEvent = (slug) => {
  const event = defaultEvents.find((obj) => {
    return obj.slug === slug;
  });
  return event || dynamicEvent;
};
const arrayCast = (value) => {
  return Array.isArray(value) ? value : value ? [value] : [];
};
const getUsernameList = (users) => {
  users = arrayCast(users);
  const allUsers = users.map((user2) => user2.replace(/( |%20|%2b)/gi, "+").split("+")).flat().filter(Boolean);
  return Array.prototype.concat(...allUsers.map((userSlug) => slugify(userSlug)));
};
export {
  getUsernameList as a,
  dynamicEvent as d,
  getDefaultEvent as g
};
