93 lines
2.3 KiB
TypeScript
93 lines
2.3 KiB
TypeScript
import BouquetIcon from "@scandic-hotels/design-system/Icons/BouquetIcon"
|
|
import DiscountIcon from "@scandic-hotels/design-system/Icons/DiscountIcon"
|
|
import {
|
|
MaterialIcon,
|
|
type MaterialIconProps,
|
|
} from "@scandic-hotels/design-system/Icons/MaterialIcon"
|
|
import PalmTreeIcon from "@scandic-hotels/design-system/Icons/PalmTreeIcon"
|
|
|
|
import type { IconProps } from "@scandic-hotels/design-system/Icons"
|
|
|
|
interface IconByCSSelectProps extends IconProps {
|
|
identifier: string
|
|
}
|
|
|
|
export default function IconByCSSelect({
|
|
identifier,
|
|
color = "CurrentColor",
|
|
size = 24,
|
|
...props
|
|
}: IconByCSSelectProps) {
|
|
switch (identifier) {
|
|
// These are custom icons
|
|
case "discount-2-2":
|
|
return <DiscountIcon size={size} color={color} {...props} />
|
|
case "bouquet":
|
|
return <BouquetIcon size={size} color={color} {...props} />
|
|
case "palm_tree":
|
|
return <PalmTreeIcon size={size} color={color} {...props} />
|
|
|
|
// These are all Material Icons
|
|
case "electric_car":
|
|
case "golf_course":
|
|
case "museum":
|
|
case "spa":
|
|
case "airplane_ticket":
|
|
case "apartment":
|
|
case "attractions":
|
|
case "award_star":
|
|
case "beach_access":
|
|
case "box":
|
|
case "deck":
|
|
case "directions_run":
|
|
case "directions_subway":
|
|
case "downhill_skiing":
|
|
case "emoji_transportation":
|
|
case "exercise":
|
|
case "family_restroom":
|
|
case "festival":
|
|
case "forest":
|
|
case "garage":
|
|
case "hiking":
|
|
case "houseboat":
|
|
case "kayaking":
|
|
case "landscape":
|
|
case "location_city":
|
|
case "location_on":
|
|
case "loyalty":
|
|
case "music_note":
|
|
case "night_shelter":
|
|
case "nightlife":
|
|
case "pedal_bike":
|
|
case "pets":
|
|
case "pool":
|
|
case "recommend":
|
|
case "redeem":
|
|
case "restaurant":
|
|
case "sauna":
|
|
case "sell":
|
|
case "shopping_bag":
|
|
case "sports_handball":
|
|
case "sports_tennis":
|
|
case "theater_comedy":
|
|
case "things_to_do":
|
|
case "tram":
|
|
case "transit_ticket":
|
|
case "travel":
|
|
case "travel_luggage_and_bags":
|
|
case "favorite":
|
|
return (
|
|
<MaterialIcon
|
|
icon={identifier as MaterialIconProps["icon"]}
|
|
size={size}
|
|
color={color}
|
|
{...props}
|
|
/>
|
|
)
|
|
default:
|
|
return (
|
|
<MaterialIcon size={size} icon="favorite" color={color} {...props} />
|
|
)
|
|
}
|
|
}
|