feat(SW-2879): Move BookingWidget to booking-flow package * Fix lockfile * Fix styling * a tiny little booking widget test * Tiny fixes * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Remove unused scripts * lint:fix * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Tiny lint fixes * update test * Update Input in booking-flow * Clean up comments etc * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Setup tracking context for booking-flow * Add missing use client * Fix temp tracking function * Pass booking to booking-widget * Remove comment * Add use client to booking widget tracking provider * Add use client to tracking functions * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Move debug page * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package Approved-by: Bianca Widstam
37 lines
805 B
TypeScript
37 lines
805 B
TypeScript
import type { Dispatch, JSX, SetStateAction } from "react"
|
|
|
|
export enum AnimationStateEnum {
|
|
unmounted = "unmounted",
|
|
hidden = "hidden",
|
|
visible = "visible",
|
|
}
|
|
|
|
export type AnimationState = keyof typeof AnimationStateEnum
|
|
|
|
export type ModalProps = {
|
|
onAnimationComplete?: () => void
|
|
title?: string
|
|
subtitle?: string
|
|
withActions?: boolean
|
|
hideHeader?: boolean
|
|
className?: string
|
|
} & (
|
|
| {
|
|
trigger: JSX.Element
|
|
isOpen?: never
|
|
onToggle?: never
|
|
onOpenChange?: (open: boolean) => void
|
|
}
|
|
| {
|
|
trigger?: never
|
|
isOpen: boolean
|
|
onToggle: (open: boolean) => void
|
|
onOpenChange?: never
|
|
}
|
|
)
|
|
|
|
export type InnerModalProps = Omit<ModalProps, "trigger"> & {
|
|
animation: AnimationState
|
|
setAnimation: Dispatch<SetStateAction<AnimationState>>
|
|
}
|