UNPKG

@tanstack/router-core

Version:

Modern and scalable routing for React applications

66 lines (65 loc) 1.98 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 export { DEV_STYLES_ATTR, appendUniqueUserTags, createInlineCssPlaceholderAsset, createInlineCssStyleAsset, getAssetCrossOrigin, getManifestScriptFormat, getScriptPreloadAttrs, getStylesheetHref, resolveManifestAssetLink, resolveManifestCssLink }; //# sourceMappingURL=manifest.js.map