import { Rate, RateTermDetails } from '../types' import { cx } from 'class-variance-authority' import { Button as ButtonRAC } from 'react-aria-components' import { useIntl } from 'react-intl' import { IconButton } from '../../IconButton' import { MaterialIcon } from '../../Icons/MaterialIcon' import { Typography } from '../../Typography' import Modal from '../Modal' import styles from '../rate-card.module.css' import { variants } from '../variants' interface RegularRateCardProps { id: string isSelected: boolean rateTitle: string paymentTerm: string rate?: Rate memberRate?: Rate omnibusRate?: Rate approximateRate?: Rate isMemberRateActive?: boolean handleChange: () => void roomTypeCode: string rateTermDetails: RateTermDetails[] } export default function RegularRateCard({ id, isSelected, rateTitle, paymentTerm, approximateRate, omnibusRate, rate, roomTypeCode, memberRate, isMemberRateActive, handleChange, rateTermDetails, }: RegularRateCardProps) { const classNames = variants({ variant: 'Regular' }) const intl = useIntl() return (

} > {rateTermDetails.map((termGroup) => (

{termGroup.title}

{termGroup.terms.map((term) => (

{term}

))}
))}
{rateTitle} {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {` / ${paymentTerm}`}

{!isMemberRateActive && rate ? (

{rate.label}

{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`${rate.price} `} {rate.unit}

) : null} {memberRate ? (

{memberRate.label}

{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`${memberRate.price} `} {memberRate.unit}
) : null} {isMemberRateActive && rate ? (
{/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */} {`${rate.price} `} {rate.unit}
) : null} {approximateRate ? (

{approximateRate.label}

{approximateRate.price} {approximateRate.unit}

) : null}
{omnibusRate ? (

{omnibusRate.label}

{omnibusRate.price} {omnibusRate.unit}

) : null}
{isSelected && ( )}
) }