feat(SW-892) Show toolTip on button hover
This commit is contained in:
@@ -98,26 +98,38 @@ export default function RoomFilter({
|
|||||||
<FormProvider {...methods}>
|
<FormProvider {...methods}>
|
||||||
<form onSubmit={handleSubmit(submitFilter)}>
|
<form onSubmit={handleSubmit(submitFilter)}>
|
||||||
<div className={styles.roomsFilter}>
|
<div className={styles.roomsFilter}>
|
||||||
{filterOptions.map((option) => (
|
{filterOptions.map((option) => {
|
||||||
|
const { code, description } = option
|
||||||
|
const isPetRoom = code === RoomPackageCodeEnum.PET_ROOM
|
||||||
|
const isAllergyRoom = code === RoomPackageCodeEnum.ALLERGY_ROOM
|
||||||
|
const isDisabled =
|
||||||
|
(isAllergyRoom && petFriendly) || (isPetRoom && allergyFriendly)
|
||||||
|
|
||||||
|
const checkboxChip = (
|
||||||
<CheckboxChip
|
<CheckboxChip
|
||||||
name={option.code}
|
name={code}
|
||||||
key={option.code}
|
key={code}
|
||||||
label={intl.formatMessage({ id: option.description })}
|
label={intl.formatMessage({ id: description })}
|
||||||
disabled={
|
disabled={isDisabled}
|
||||||
(option.code === RoomPackageCodeEnum.ALLERGY_ROOM &&
|
selected={getValues(code)}
|
||||||
petFriendly) ||
|
Icon={getIconForFeatureCode(code)}
|
||||||
(option.code === RoomPackageCodeEnum.PET_ROOM &&
|
hasTooltip={isPetRoom}
|
||||||
allergyFriendly)
|
|
||||||
}
|
|
||||||
selected={getValues(option.code)}
|
|
||||||
Icon={getIconForFeatureCode(option.code)}
|
|
||||||
tooltipText={
|
|
||||||
option.code === RoomPackageCodeEnum.PET_ROOM
|
|
||||||
? tooltipText
|
|
||||||
: undefined
|
|
||||||
}
|
|
||||||
/>
|
/>
|
||||||
))}
|
)
|
||||||
|
|
||||||
|
return isPetRoom ? (
|
||||||
|
<Tooltip
|
||||||
|
key={option.code}
|
||||||
|
text={tooltipText}
|
||||||
|
position="bottom"
|
||||||
|
arrow="right"
|
||||||
|
>
|
||||||
|
{checkboxChip}
|
||||||
|
</Tooltip>
|
||||||
|
) : (
|
||||||
|
checkboxChip
|
||||||
|
)
|
||||||
|
})}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import { useFormContext } from "react-hook-form"
|
|||||||
|
|
||||||
import { HeartIcon, InfoCircleIcon } from "@/components/Icons"
|
import { HeartIcon, InfoCircleIcon } from "@/components/Icons"
|
||||||
import Caption from "@/components/TempDesignSystem/Text/Caption"
|
import Caption from "@/components/TempDesignSystem/Text/Caption"
|
||||||
import { Tooltip } from "@/components/TempDesignSystem/Tooltip"
|
|
||||||
|
|
||||||
import styles from "./chip.module.css"
|
import styles from "./chip.module.css"
|
||||||
|
|
||||||
@@ -20,7 +19,7 @@ export default function FilterChip({
|
|||||||
value,
|
value,
|
||||||
selected,
|
selected,
|
||||||
disabled,
|
disabled,
|
||||||
tooltipText,
|
hasTooltip,
|
||||||
}: FilterChipProps) {
|
}: FilterChipProps) {
|
||||||
const { register } = useFormContext()
|
const { register } = useFormContext()
|
||||||
|
|
||||||
@@ -45,11 +44,11 @@ export default function FilterChip({
|
|||||||
<Caption type="bold" color={color} className={styles.caption}>
|
<Caption type="bold" color={color} className={styles.caption}>
|
||||||
{label}
|
{label}
|
||||||
</Caption>
|
</Caption>
|
||||||
{tooltipText && (
|
|
||||||
<Tooltip text={tooltipText} position="bottom" arrow="right">
|
{hasTooltip && (
|
||||||
<InfoCircleIcon color={color} height={iconHeight} width={iconWidth} />
|
<InfoCircleIcon color={color} height={iconHeight} width={iconWidth} />
|
||||||
</Tooltip>
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<input
|
<input
|
||||||
aria-hidden
|
aria-hidden
|
||||||
id={id || name}
|
id={id || name}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ export interface FilterChipProps {
|
|||||||
value?: string
|
value?: string
|
||||||
selected?: boolean
|
selected?: boolean
|
||||||
disabled?: boolean
|
disabled?: boolean
|
||||||
tooltipText: string | undefined
|
hasTooltip?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type FilterChipCheckboxProps = Omit<FilterChipProps, "type">
|
export type FilterChipCheckboxProps = Omit<FilterChipProps, "type">
|
||||||
|
|||||||
Reference in New Issue
Block a user