import { Anybody, Cormorant, EB_Garamond, Funnel_Display, Funnel_Sans, Host_Grotesk, Hubot_Sans, Manrope, Mona_Sans, Noto_Serif_Display, Parkinsans, Rethink_Sans, } from "next/font/google" import type { FontPair } from "../../lib/types" // Schriften der Baukasten-Vorlagen; jede Vorlage wählt in ihrer fonts.ts daraus. // preload: false – siehe restaurant/fonts.ts. Mona Sans, Hubot Sans und Anybody laden die Breiten-Achse (wdth) // mit, die der Baustein „Kinetik“ für seine reagierende Schrift nutzt. const notoDisplay = Noto_Serif_Display({ subsets: ["latin"], style: ["normal", "italic"], variable: "--font-blocks-noto", preload: false }) const host = Host_Grotesk({ subsets: ["latin"], variable: "--font-blocks-host", preload: false }) const hubot = Hubot_Sans({ subsets: ["latin"], axes: ["wdth"], variable: "--font-blocks-hubot", preload: false }) const funnelDisplay = Funnel_Display({ subsets: ["latin"], variable: "--font-blocks-funnel-display", preload: false }) const funnelSans = Funnel_Sans({ subsets: ["latin"], variable: "--font-blocks-funnel-sans", preload: false }) // Für Parkinsans kennt next/font keine Fallback-Metriken const parkinsans = Parkinsans({ subsets: ["latin"], variable: "--font-blocks-parkinsans", preload: false, adjustFontFallback: false }) const rethink = Rethink_Sans({ subsets: ["latin"], variable: "--font-blocks-rethink", preload: false }) const cormorant = Cormorant({ subsets: ["latin"], style: ["normal", "italic"], variable: "--font-blocks-cormorant", preload: false }) const manrope = Manrope({ subsets: ["latin"], variable: "--font-blocks-manrope", preload: false }) const garamond = EB_Garamond({ subsets: ["latin"], style: ["normal", "italic"], variable: "--font-blocks-garamond", preload: false }) const mona = Mona_Sans({ subsets: ["latin"], axes: ["wdth"], variable: "--font-blocks-mona", preload: false }) const anybody = Anybody({ subsets: ["latin"], axes: ["wdth"], variable: "--font-blocks-anybody", preload: false }) export const pairs = { kino: { className: `${notoDisplay.variable} ${host.variable}`, display: "var(--font-blocks-noto)", body: "var(--font-blocks-host)" }, hubot: { className: `${hubot.variable} ${host.variable}`, display: "var(--font-blocks-hubot)", body: "var(--font-blocks-host)" }, grotesk: { className: host.variable, display: "var(--font-blocks-host)", body: "var(--font-blocks-host)" }, funnel: { className: `${funnelDisplay.variable} ${funnelSans.variable}`, display: "var(--font-blocks-funnel-display)", body: "var(--font-blocks-funnel-sans)" }, park: { className: `${parkinsans.variable} ${rethink.variable}`, display: "var(--font-blocks-parkinsans)", body: "var(--font-blocks-rethink)" }, cormorant: { className: `${cormorant.variable} ${manrope.variable}`, display: "var(--font-blocks-cormorant)", body: "var(--font-blocks-manrope)" }, garamond: { className: `${garamond.variable} ${host.variable}`, display: "var(--font-blocks-garamond)", body: "var(--font-blocks-host)" }, mona: { className: mona.variable, display: "var(--font-blocks-mona)", body: "var(--font-blocks-mona)" }, anybody: { className: `${anybody.variable} ${host.variable}`, display: "var(--font-blocks-anybody)", body: "var(--font-blocks-host)" }, } satisfies Record