
* WIP bookings page ui changes, created api endpoint * Ui changes mobile/desktop * Added translations * Fix lib import and common names * WIP reschedule * WIP * Save wip * [WIP] builder and class for CalendarEvent, email for attende * update rescheduled emails, booking view and availability page view * Working version reschedule * Fix for req.user as array * Added missing translation and refactor dialog to self component * Test for reschedule * update on types * Update lib no required * Update type on createBooking * fix types * remove preview stripe sub * remove unused file * remove unused import * Fix reschedule test * Refactor and cleaning up code * Email reschedule title fixes * Adding calendar delete and recreate placeholder of cancelled * Add translation * Removed logs, notes, fixed types * Fixes process.env types * Use strict compare * Fixes type inference * Type fixing is my middle name * Update apps/web/components/booking/BookingListItem.tsx * Update apps/web/components/dialog/RescheduleDialog.tsx * Update packages/core/builders/CalendarEvent/director.ts * Update apps/web/pages/success.tsx * Updates rescheduling labels * Update packages/core/builders/CalendarEvent/builder.ts * Type fixes * Update packages/core/builders/CalendarEvent/builder.ts * Only validating input blocked once * E2E fixes * Stripe tests fixes Co-authored-by: Peer Richelsen <peer@cal.com> Co-authored-by: zomars <zomars@me.com>
30 lines
844 B
TypeScript
30 lines
844 B
TypeScript
import BasePhoneInput, { Props } from "react-phone-number-input/react-hook-form";
|
|
import "react-phone-number-input/style.css";
|
|
|
|
import classNames from "@lib/classNames";
|
|
|
|
export type PhoneInputProps<FormValues> = Props<
|
|
{
|
|
value: string;
|
|
id: string;
|
|
placeholder: string;
|
|
required: boolean;
|
|
},
|
|
FormValues
|
|
>;
|
|
|
|
function PhoneInput<FormValues>({ control, name, ...rest }: PhoneInputProps<FormValues>) {
|
|
return (
|
|
<BasePhoneInput
|
|
{...rest}
|
|
name={name}
|
|
control={control}
|
|
className={classNames(
|
|
"border-1 focus-within:border-brand block w-full rounded-sm border border-gray-300 py-px px-3 shadow-sm ring-black focus-within:ring-1 dark:border-black dark:bg-black dark:text-white",
|
|
rest.disabled ? "bg-gray-200 dark:text-gray-500" : ""
|
|
)}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default PhoneInput;
|