@umijs/renderer-react 4.6.54 → 4.6.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/html.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IHtmlProps } from './types';
3
+ export declare function getClientCssPaths(manifest: any): string[];
3
4
  export declare function Html({ children, loaderData, manifest, htmlPageOpts, __INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, mountElementId, }: React.PropsWithChildren<IHtmlProps>): React.JSX.Element;
package/dist/html.js CHANGED
@@ -16,16 +16,37 @@ var EnableJsScript = function EnableJsScript() {
16
16
  }
17
17
  });
18
18
  };
19
+ function normalizeClientCssPaths(css) {
20
+ if (Array.isArray(css)) {
21
+ return css.filter(Boolean);
22
+ }
23
+ return css ? [css] : [];
24
+ }
25
+ function isCssAsset(asset) {
26
+ return /\.css(?:[?#].*)?$/.test(asset) && !/\.css\.map(?:[?#].*)?$/.test(asset);
27
+ }
28
+ function isUtoopackSingleCss(asset) {
29
+ return /\.single\.css(?:[?#].*)?$/.test(asset);
30
+ }
31
+ export function getClientCssPaths(manifest) {
32
+ var assets = (manifest === null || manifest === void 0 ? void 0 : manifest.assets) || {};
33
+ var umiCss = normalizeClientCssPaths(assets['umi.css']);
34
+ if (umiCss.length) {
35
+ return umiCss;
36
+ }
37
+ return Object.values(assets).filter(function (asset) {
38
+ return typeof asset === 'string' && isCssAsset(asset) && !isUtoopackSingleCss(asset);
39
+ });
40
+ }
19
41
  var GlobalDataScript = function GlobalDataScript(props) {
20
- var _manifest$assets;
21
42
  var loaderData = props.loaderData,
22
43
  htmlPageOpts = props.htmlPageOpts,
23
44
  manifest = props.manifest;
24
- var clientCssPath = (manifest === null || manifest === void 0 || (_manifest$assets = manifest.assets) === null || _manifest$assets === void 0 ? void 0 : _manifest$assets['umi.css']) || '';
45
+ var clientCssPaths = getClientCssPaths(manifest);
25
46
  return /*#__PURE__*/React.createElement("script", {
26
47
  suppressHydrationWarning: true,
27
48
  dangerouslySetInnerHTML: {
28
- __html: "window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(loaderData || {}), "; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(htmlPageOpts || {}), "; window.__UMI_BUILD_ClIENT_CSS__ = '").concat(clientCssPath, "'")
49
+ __html: "window.__UMI_LOADER_DATA__ = ".concat(JSON.stringify(loaderData || {}), "; window.__UMI_METADATA_LOADER_DATA__ = ").concat(JSON.stringify(htmlPageOpts || {}), "; window.__UMI_BUILD_ClIENT_CSS__ = ").concat(JSON.stringify(clientCssPaths.length <= 1 ? clientCssPaths[0] || '' : clientCssPaths))
29
50
  }
30
51
  });
31
52
  };
@@ -130,7 +151,7 @@ export function Html(_ref) {
130
151
  if (__INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== null && __INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== void 0 && __INTERNAL_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.pureApp) {
131
152
  return /*#__PURE__*/React.createElement(React.Fragment, null, children);
132
153
  }
133
- var clientCss = typeof window === 'undefined' ? manifest === null || manifest === void 0 ? void 0 : manifest.assets['umi.css'] : window.__UMI_BUILD_ClIENT_CSS__;
154
+ var clientCssPaths = typeof window === 'undefined' ? getClientCssPaths(manifest) : normalizeClientCssPaths(window.__UMI_BUILD_ClIENT_CSS__);
134
155
  return (
135
156
  /*#__PURE__*/
136
157
  // FIXME: Resolve the hydrate warning for suppressHydrationWarning(3)
@@ -142,10 +163,13 @@ export function Html(_ref) {
142
163
  }), /*#__PURE__*/React.createElement("meta", {
143
164
  name: "viewport",
144
165
  content: "width=device-width, initial-scale=1"
145
- }), clientCss && /*#__PURE__*/React.createElement("link", {
146
- suppressHydrationWarning: true,
147
- rel: "stylesheet",
148
- href: clientCss
166
+ }), clientCssPaths.map(function (clientCss) {
167
+ return /*#__PURE__*/React.createElement("link", {
168
+ key: clientCss,
169
+ suppressHydrationWarning: true,
170
+ rel: "stylesheet",
171
+ href: clientCss
172
+ });
149
173
  }), /*#__PURE__*/React.createElement(HydrateMetadata, {
150
174
  htmlPageOpts: htmlPageOpts
151
175
  })), /*#__PURE__*/React.createElement("body", null, /*#__PURE__*/React.createElement(EnableJsScript, null), /*#__PURE__*/React.createElement("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/renderer-react",
3
- "version": "4.6.54",
3
+ "version": "4.6.55",
4
4
  "description": "@umijs/renderer-react",
5
5
  "homepage": "https://github.com/umijs/umi/tree/master/packages/renderer-react#readme",
6
6
  "bugs": "https://github.com/umijs/umi/issues",