UNPKG

@tanstack/router-core

Version:

Modern and scalable routing for React applications

75 lines (74 loc) 2.29 kB
//#region src/manifest.ts const DEV_STYLES_ATTR = "data-tanstack-router-dev-styles"; function getAssetCrossOrigin(assetCrossOrigin, kind) { if (!assetCrossOrigin) return; if (typeof assetCrossOrigin === "string") return assetCrossOrigin; return assetCrossOrigin[kind]; } function getManifestScriptFormat(manifest) { return manifest?.scriptFormat ?? "module"; } function getScriptPreloadAttrs(manifest, link, assetCrossOrigin) { const preloadLink = resolveManifestAssetLink(link); const crossOrigin = getAssetCrossOrigin(assetCrossOrigin, "script") ?? preloadLink.crossOrigin; return { ...getManifestScriptFormat(manifest) === "iife" ? { rel: "preload", as: "script" } : { rel: "modulepreload" }, href: preloadLink.href, ...crossOrigin ? { crossOrigin } : {} }; } function resolveManifestAssetLink(link) { if (typeof link === "string") return { href: link, crossOrigin: void 0 }; return link; } function appendUniqueUserTags(target, tags) { if (tags.length === 0) return; if (tags.length === 1) { target.push(tags[0]); return; } const seen = /* @__PURE__ */ new Set(); for (const tag of tags) { const key = JSON.stringify(tag); if (seen.has(key)) continue; seen.add(key); target.push(tag); } } function getStylesheetHref(asset) { return resolveManifestCssLink(asset).href; } function resolveManifestCssLink(link) { if (typeof link === "string") return { href: link, crossOrigin: void 0 }; return link; } function createInlineCssStyleAsset(css) { return { attrs: { suppressHydrationWarning: true }, children: css }; } function createInlineCssPlaceholderAsset() { return { attrs: { suppressHydrationWarning: true } }; } //#endregion exports.DEV_STYLES_ATTR = DEV_STYLES_ATTR; exports.appendUniqueUserTags = appendUniqueUserTags; exports.createInlineCssPlaceholderAsset = createInlineCssPlaceholderAsset; exports.createInlineCssStyleAsset = createInlineCssStyleAsset; exports.getAssetCrossOrigin = getAssetCrossOrigin; exports.getManifestScriptFormat = getManifestScriptFormat; exports.getScriptPreloadAttrs = getScriptPreloadAttrs; exports.getStylesheetHref = getStylesheetHref; exports.resolveManifestAssetLink = resolveManifestAssetLink; exports.resolveManifestCssLink = resolveManifestCssLink; //# sourceMappingURL=manifest.cjs.map