@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
48 lines (47 loc) • 1.59 kB
JavaScript
//#region src/static-css/vite/index.ts
const ANTD_STATIC_CSS_MODULE_ID = "virtual:lobehub/antd-static-css";
const THEME_VARS_CSS_MODULE_ID = "virtual:lobehub/theme-vars-css";
const moduleSource = (payload) => [...Object.entries(payload).map(([key, value]) => `export const ${key} = ${JSON.stringify(value)};`), `export default ${JSON.stringify(payload)};`].join("\n");
const lobeStaticCssPlugin = (options = {}) => {
let antdPayload;
let themeVarsPayload;
return {
name: "lobehub-static-css",
resolveId(id) {
if (id === "virtual:lobehub/antd-static-css" || id === "virtual:lobehub/theme-vars-css") return `\0${id}`;
},
async load(id) {
if (id === `\0virtual:lobehub/antd-static-css`) {
if (options.antd === false) return moduleSource({
css: "",
href: "",
styleKeys: []
});
const { buildAntdStaticCss } = await import("../buildAntdStaticCss.mjs");
antdPayload ??= buildAntdStaticCss(options.antd);
const { css, href, styleKeys } = antdPayload;
return moduleSource({
css,
href,
styleKeys
});
}
if (id === `\0virtual:lobehub/theme-vars-css`) {
if (options.themeVars === false) return moduleSource({
css: "",
href: ""
});
const { buildThemeVarsCss } = await import("../themeVars.mjs");
themeVarsPayload ??= buildThemeVarsCss(options.themeVars);
const { css, href } = themeVarsPayload;
return moduleSource({
css,
href
});
}
}
};
};
//#endregion
export { ANTD_STATIC_CSS_MODULE_ID, THEME_VARS_CSS_MODULE_ID, lobeStaticCssPlugin };
//# sourceMappingURL=index.mjs.map