vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
32 lines (29 loc) • 3.73 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import React from 'react';
const Css = ({ cssFiles }) => {
if (!cssFiles) return null;
const cssFilesArray = Array.isArray(cssFiles) ? cssFiles : Array.from(cssFiles.values());
if (!cssFilesArray.length) return null;
const arr = cssFilesArray.map((cssFile) => {
const {
as: As = React.Fragment,
id,
children,
precedence,
type,
...rest
} = cssFile;
if (As !== "link" && (typeof children === "string" || React.isValidElement(children))) {
return /* @__PURE__ */ React.createElement(As, { ...rest, type: type ?? "text/css", key: id }, children ?? null);
}
return /* @__PURE__ */ React.createElement(As, { ...rest, key: id, precedence });
});
if (!arr.length) return null;
return arr;
};
export { Css };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vY29tcG9uZW50cy9jc3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3NzQ29tcG9uZW50VHlwZSwgQ3NzQ29udGVudCB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuXG4vLyBDcmVhdGUgbGluayBlbGVtZW50cyBmb3IgZWFjaCBDU1MgZmlsZVxuZXhwb3J0IGNvbnN0IENzczogQ3NzQ29tcG9uZW50VHlwZSA9ICh7IGNzc0ZpbGVzIH0pID0+IHtcbiAgaWYgKCFjc3NGaWxlcykgcmV0dXJuIG51bGw7XG4gIGNvbnN0IGNzc0ZpbGVzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNzc0ZpbGVzKVxuICAgID8gY3NzRmlsZXNcbiAgICA6IEFycmF5LmZyb20oY3NzRmlsZXMudmFsdWVzKCkpO1xuICBpZiAoIWNzc0ZpbGVzQXJyYXkubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgY29uc3QgYXJyID0gY3NzRmlsZXNBcnJheS5tYXAoKGNzc0ZpbGU6IENzc0NvbnRlbnQpID0+IHtcbiAgICAvLyBFbWl0IHN0eWxlIHRhZyBmb3IgaW5saW5lIENTU1xuICAgIGNvbnN0IHtcbiAgICAgIGFzOiBBcyA9IFJlYWN0LkZyYWdtZW50LFxuICAgICAgaWQsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIHByZWNlZGVuY2UsXG4gICAgICB0eXBlLFxuICAgICAgLi4ucmVzdFxuICAgIH0gPSBjc3NGaWxlO1xuICAgIGlmIChcbiAgICAgIEFzICE9PSBcImxpbmtcIiAmJlxuICAgICAgKHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiB8fCBSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpXG4gICAgKSB7XG4gICAgICAvLyBzdHlsZSB0YWdcbiAgICAgIC8vIHNpbmNlIHdlIGNhbid0IGJ1YmJsZSB1cCB0aGUgc3R5bGUgdGFncywgd2UgbmVlZCB0byBiZSBjcmVhdGl2ZVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEFzIHsuLi5yZXN0fSB0eXBlPXt0eXBlID8/IFwidGV4dC9jc3NcIn0ga2V5PXtpZH0+XG4gICAgICAgICAge2NoaWxkcmVuID8/IG51bGx9XG4gICAgICAgIDwvQXM+XG4gICAgICApO1xuICAgIH1cbiAgICAvLyBsaW5rIHRhZ1xuICAgIHJldHVybiA8QXMgey4uLnJlc3R9IGtleT17aWR9IHByZWNlZGVuY2U9e3ByZWNlZGVuY2V9IC8+O1xuICB9KTtcbiAgaWYgKCFhcnIubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIGFycjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlPLE1BQU0sR0FBd0IsR0FBQSxDQUFDLEVBQUUsUUFBQSxFQUFlLEtBQUE7QUFDckQsRUFBSSxJQUFBLENBQUMsVUFBaUIsT0FBQSxJQUFBO0FBQ3RCLEVBQU0sTUFBQSxhQUFBLEdBQWdCLEtBQU0sQ0FBQSxPQUFBLENBQVEsUUFBUSxDQUFBLEdBQ3hDLFdBQ0EsS0FBTSxDQUFBLElBQUEsQ0FBSyxRQUFTLENBQUEsTUFBQSxFQUFRLENBQUE7QUFDaEMsRUFBSSxJQUFBLENBQUMsYUFBYyxDQUFBLE1BQUEsRUFBZSxPQUFBLElBQUE7QUFDbEMsRUFBQSxNQUFNLEdBQU0sR0FBQSxhQUFBLENBQWMsR0FBSSxDQUFBLENBQUMsT0FBd0IsS0FBQTtBQUVyRCxJQUFNLE1BQUE7QUFBQSxNQUNKLEVBQUEsRUFBSSxLQUFLLEtBQU0sQ0FBQSxRQUFBO0FBQUEsTUFDZixFQUFBO0FBQUEsTUFDQSxRQUFBO0FBQUEsTUFDQSxVQUFBO0FBQUEsTUFDQSxJQUFBO0FBQUEsTUFDQSxHQUFHO0FBQUEsS0FDRCxHQUFBLE9BQUE7QUFDSixJQUNFLElBQUEsRUFBQSxLQUFPLFdBQ04sT0FBTyxRQUFBLEtBQWEsWUFBWSxLQUFNLENBQUEsY0FBQSxDQUFlLFFBQVEsQ0FDOUQsQ0FBQSxFQUFBO0FBR0EsTUFDRSx1QkFBQSxLQUFBLENBQUEsYUFBQSxDQUFDLEVBQUksRUFBQSxFQUFBLEdBQUcsSUFBTSxFQUFBLElBQUEsRUFBTSxRQUFRLFVBQVksRUFBQSxHQUFBLEVBQUssRUFDMUMsRUFBQSxFQUFBLFFBQUEsSUFBWSxJQUNmLENBQUE7QUFBQTtBQUlKLElBQUEsMkNBQVEsRUFBSSxFQUFBLEVBQUEsR0FBRyxJQUFNLEVBQUEsR0FBQSxFQUFLLElBQUksVUFBd0IsRUFBQSxDQUFBO0FBQUEsR0FDdkQsQ0FBQTtBQUNELEVBQUksSUFBQSxDQUFDLEdBQUksQ0FBQSxNQUFBLEVBQWUsT0FBQSxJQUFBO0FBQ3hCLEVBQU8sT0FBQSxHQUFBO0FBQ1Q7Ozs7In0=