import { InstallationIcon } from "@syntax/icons/InstallationIcon"; import { LightbulbIcon } from "@syntax/icons/LightbulbIcon"; import { QuestionIcon } from "@syntax/icons/QuestionIcon"; import { PluginsIcon } from "@syntax/icons/PluginsIcon"; import { PresetsIcon } from "@syntax/icons/PresetsIcon"; import { ThemingIcon } from "@syntax/icons/ThemingIcon"; import { WarningIcon } from "@syntax/icons/WarningIcon"; import React, { useId } from "react"; import clsx from "clsx"; const icons = { installation: InstallationIcon, presets: PresetsIcon, plugins: PluginsIcon, theming: ThemingIcon, lightbulb: LightbulbIcon, warning: WarningIcon, question: QuestionIcon, }; const iconStyles = { blue: "[--icon-foreground:var(--color-slate-900)] [--icon-background:var(--color-white)]", amber: "[--icon-foreground:var(--color-amber-900)] [--icon-background:var(--color-amber-100)]", }; export function Icon({ icon, color = "blue", className, ...props }: { color?: keyof typeof iconStyles; icon: keyof typeof icons; } & Omit, "color">) { const id = useId(); const IconComponent = icons[icon]; return ( ); } const gradients = { blue: [{ stopColor: "#0EA5E9" }, { stopColor: "#22D3EE", offset: ".527" }, { stopColor: "#818CF8", offset: 1 }], amber: [ { stopColor: "#FDE68A", offset: ".08" }, { stopColor: "#F59E0B", offset: ".837" }, ], }; export function Gradient({ color = "blue", ...props }: { color?: keyof typeof gradients; } & Omit, "color">) { return ( {gradients[color].map((stop, stopIndex) => ( ))} ); } export function LightMode({ className, ...props }: React.ComponentPropsWithoutRef<"g">) { return ; } export function DarkMode({ className, ...props }: React.ComponentPropsWithoutRef<"g">) { return ; }