feat(LOY-203): Enable Opening Team Member Card from Employee Benefits Page When Connected * feat(LOY-203): add support for opening team member card modal from employee benefits page when connected * fix(LOY-203): add id_card to material symbol icons * fix(LOY-203): remove uneeded dtmc btb style Approved-by: Erik Tiekstra Approved-by: Linus Flood
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>>
|
|
}
|