e8fcf8b569
Adds `data-next-font` data attribute to the preload tag if added by `@next/font`. ```js // Using `size-adjust` fallback font. <link data-next-font="size-adjust" rel="preload" href="..." as="font" type="font/woff2" crossorigin="anonymous"> // Not using `size-adjust` fallback font. <link data-next-font="" rel="preload" href="..." as="font" type="font/woff2" crossorigin="anonymous"> ``` If no fonts are preloaded, the tag is added on the preconnect tag. Fixes NEXT-350 ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/contributing.md) ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm build && pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
31 lines
648 B
TypeScript
31 lines
648 B
TypeScript
export type AdjustFontFallback = {
|
|
fallbackFont: string
|
|
ascentOverride?: string
|
|
descentOverride?: string
|
|
lineGapOverride?: string
|
|
sizeAdjust?: string
|
|
}
|
|
|
|
export type FontLoader = (options: {
|
|
functionName: string
|
|
variableName: string
|
|
data: any[]
|
|
config: any
|
|
emitFontFile: (
|
|
content: Buffer,
|
|
ext: string,
|
|
preload: boolean,
|
|
isUsingSizeAdjust?: boolean
|
|
) => string
|
|
resolve: (src: string) => string
|
|
isDev: boolean
|
|
isServer: boolean
|
|
loaderContext: any
|
|
}) => Promise<{
|
|
css: string
|
|
fallbackFonts?: string[]
|
|
variable?: string
|
|
adjustFontFallback?: AdjustFontFallback
|
|
weight?: string
|
|
style?: string
|
|
}>
|