remote-components 0.4.12 → 0.4.14
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/{chunk-CLO56ON2.js → chunk-EIEIT5PG.js} +82 -4
- package/dist/chunk-EIEIT5PG.js.map +1 -0
- package/dist/{chunk-BEGVH64U.js → chunk-GG32LZD3.js} +2 -2
- package/dist/{chunk-SULMNRMJ.cjs → chunk-JKDPK6L5.cjs} +23 -23
- package/dist/{chunk-XWRB6CEA.cjs → chunk-MAVMKFFL.cjs} +3 -3
- package/dist/{chunk-RZGFQTX6.js → chunk-PNKSHWZ3.js} +8 -8
- package/dist/{chunk-HXCW3WDT.cjs → chunk-T2JJIQUJ.cjs} +25 -25
- package/dist/{chunk-TGE3K3TR.cjs → chunk-TIS6PXSQ.cjs} +18 -18
- package/dist/{chunk-YSJ4FKGI.cjs → chunk-WCZKEWRM.cjs} +97 -19
- package/dist/chunk-WCZKEWRM.cjs.map +1 -0
- package/dist/{chunk-3PR3SWYZ.js → chunk-WWHNG5YP.js} +38 -3
- package/dist/chunk-WWHNG5YP.js.map +1 -0
- package/dist/{chunk-M6ACTSVB.js → chunk-XLGLCKZZ.js} +2 -2
- package/dist/{chunk-24LEEDHP.js → chunk-YKCU7RFM.js} +3 -3
- package/dist/{chunk-6PZEDIAK.cjs → chunk-ZPJ5J24T.cjs} +47 -12
- package/dist/chunk-ZPJ5J24T.cjs.map +1 -0
- package/dist/config/nextjs.cjs +10 -10
- package/dist/config/nextjs.js +7 -7
- package/dist/config/tailwind.cjs +53 -0
- package/dist/config/tailwind.cjs.map +1 -0
- package/dist/config/tailwind.d.ts +21 -0
- package/dist/config/tailwind.js +53 -0
- package/dist/config/tailwind.js.map +1 -0
- package/dist/host/html.cjs +20 -20
- package/dist/host/html.js +8 -8
- package/dist/host/nextjs/app/client-only.cjs +21 -12
- package/dist/host/nextjs/app/client-only.cjs.map +1 -1
- package/dist/host/nextjs/app/client-only.js +18 -9
- package/dist/host/nextjs/app/client-only.js.map +1 -1
- package/dist/host/nextjs/app.cjs +2 -0
- package/dist/host/nextjs/app.cjs.map +1 -1
- package/dist/host/nextjs/app.js +2 -0
- package/dist/host/nextjs/app.js.map +1 -1
- package/dist/host/nextjs/pages.cjs +14 -7
- package/dist/host/nextjs/pages.cjs.map +1 -1
- package/dist/host/nextjs/pages.d.ts +2 -0
- package/dist/host/nextjs/pages.js +14 -7
- package/dist/host/nextjs/pages.js.map +1 -1
- package/dist/host/react.cjs +8 -8
- package/dist/host/react.js +7 -7
- package/dist/internal/host/nextjs/app-client.cjs +15 -6
- package/dist/internal/host/nextjs/app-client.cjs.map +1 -1
- package/dist/internal/host/nextjs/app-client.d.ts +3 -2
- package/dist/internal/host/nextjs/app-client.js +15 -6
- package/dist/internal/host/nextjs/app-client.js.map +1 -1
- package/dist/internal/host/nextjs/dom-flight.cjs +1 -0
- package/dist/internal/host/nextjs/dom-flight.cjs.map +1 -1
- package/dist/internal/host/nextjs/dom-flight.d.ts +1 -0
- package/dist/internal/host/nextjs/dom-flight.js +1 -0
- package/dist/internal/host/nextjs/dom-flight.js.map +1 -1
- package/dist/internal/host/nextjs/image-shared.cjs +11 -2
- package/dist/internal/host/nextjs/image-shared.cjs.map +1 -1
- package/dist/internal/host/nextjs/image-shared.d.ts +3 -1
- package/dist/internal/host/nextjs/image-shared.js +11 -2
- package/dist/internal/host/nextjs/image-shared.js.map +1 -1
- package/dist/internal/host/server/fetch-remote-component.cjs +58 -3
- package/dist/internal/host/server/fetch-remote-component.cjs.map +1 -1
- package/dist/internal/host/server/fetch-remote-component.d.ts +1 -0
- package/dist/internal/host/server/fetch-remote-component.js +61 -3
- package/dist/internal/host/server/fetch-remote-component.js.map +1 -1
- package/dist/internal/host/server/types.cjs.map +1 -1
- package/dist/internal/host/server/types.d.ts +2 -0
- package/dist/internal/host/shared/next-image-deployment-id.cjs +50 -0
- package/dist/internal/host/shared/next-image-deployment-id.cjs.map +1 -0
- package/dist/internal/host/shared/next-image-deployment-id.d.ts +14 -0
- package/dist/internal/host/shared/next-image-deployment-id.js +25 -0
- package/dist/internal/host/shared/next-image-deployment-id.js.map +1 -0
- package/dist/internal/host/shared/pipeline.d.ts +2 -1
- package/dist/internal/host/shared/remote-image-loader.cjs +16 -2
- package/dist/internal/host/shared/remote-image-loader.cjs.map +1 -1
- package/dist/internal/host/shared/remote-image-loader.d.ts +2 -1
- package/dist/internal/host/shared/remote-image-loader.js +19 -2
- package/dist/internal/host/shared/remote-image-loader.js.map +1 -1
- package/dist/internal/runtime/html/parse-remote-html.d.ts +1 -0
- package/dist/internal/runtime/loaders/component-loader.d.ts +2 -1
- package/dist/remote/react/utils/portal.cjs +58 -0
- package/dist/remote/react/utils/portal.cjs.map +1 -0
- package/dist/remote/react/utils/portal.d.ts +12 -0
- package/dist/remote/react/utils/portal.js +58 -0
- package/dist/remote/react/utils/portal.js.map +1 -0
- package/dist/{server-handoff-9e905049.d.ts → server-handoff-006f9cb5.d.ts} +2 -0
- package/dist/{turbopack-43N2UJNN.js → turbopack-HK7DVYUG.js} +4 -4
- package/dist/{turbopack-5VGMYUL4.cjs → turbopack-YZOIO55D.cjs} +11 -11
- package/dist/{webpack-LXE2UWTA.js → webpack-2HP73JL7.js} +4 -4
- package/dist/{webpack-FSN5UBA2.cjs → webpack-W2MODB73.cjs} +11 -11
- package/package.json +18 -1
- package/dist/chunk-3PR3SWYZ.js.map +0 -1
- package/dist/chunk-6PZEDIAK.cjs.map +0 -1
- package/dist/chunk-CLO56ON2.js.map +0 -1
- package/dist/chunk-YSJ4FKGI.cjs.map +0 -1
- /package/dist/{chunk-BEGVH64U.js.map → chunk-GG32LZD3.js.map} +0 -0
- /package/dist/{chunk-SULMNRMJ.cjs.map → chunk-JKDPK6L5.cjs.map} +0 -0
- /package/dist/{chunk-XWRB6CEA.cjs.map → chunk-MAVMKFFL.cjs.map} +0 -0
- /package/dist/{chunk-RZGFQTX6.js.map → chunk-PNKSHWZ3.js.map} +0 -0
- /package/dist/{chunk-HXCW3WDT.cjs.map → chunk-T2JJIQUJ.cjs.map} +0 -0
- /package/dist/{chunk-TGE3K3TR.cjs.map → chunk-TIS6PXSQ.cjs.map} +0 -0
- /package/dist/{chunk-M6ACTSVB.js.map → chunk-XLGLCKZZ.js.map} +0 -0
- /package/dist/{chunk-24LEEDHP.js.map → chunk-YKCU7RFM.js.map} +0 -0
- /package/dist/{turbopack-43N2UJNN.js.map → turbopack-HK7DVYUG.js.map} +0 -0
- /package/dist/{turbopack-5VGMYUL4.cjs.map → turbopack-YZOIO55D.cjs.map} +0 -0
- /package/dist/{webpack-LXE2UWTA.js.map → webpack-2HP73JL7.js.map} +0 -0
- /package/dist/{webpack-FSN5UBA2.cjs.map → webpack-W2MODB73.cjs.map} +0 -0
package/dist/config/nextjs.cjs
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var _chunk6PZEDIAKcjs = require('../chunk-6PZEDIAK.cjs');
|
|
6
|
-
require('../chunk-Z2SLBFQL.cjs');
|
|
7
|
-
require('../chunk-5KTAEO52.cjs');
|
|
8
5
|
|
|
6
|
+
var _chunkN5VQR2PWcjs = require('../chunk-N5VQR2PW.cjs');
|
|
9
7
|
|
|
10
8
|
|
|
11
9
|
|
|
12
|
-
var _chunkBBXVML3Dcjs = require('../chunk-BBXVML3D.cjs');
|
|
13
|
-
require('../chunk-KE7QPAQ4.cjs');
|
|
14
10
|
|
|
11
|
+
var _chunkZPJ5J24Tcjs = require('../chunk-ZPJ5J24T.cjs');
|
|
12
|
+
require('../chunk-Z2SLBFQL.cjs');
|
|
13
|
+
require('../chunk-5KTAEO52.cjs');
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
|
|
18
17
|
|
|
19
|
-
var
|
|
18
|
+
var _chunkBBXVML3Dcjs = require('../chunk-BBXVML3D.cjs');
|
|
19
|
+
require('../chunk-KE7QPAQ4.cjs');
|
|
20
20
|
require('../chunk-SHFJ5OQA.cjs');
|
|
21
21
|
|
|
22
22
|
// src/config/nextjs/index.ts
|
|
@@ -155,7 +155,7 @@ function withRemoteComponentsConfig(nextConfig, options) {
|
|
|
155
155
|
".remote-components/shared/pages-host.tsx"
|
|
156
156
|
);
|
|
157
157
|
const appShared = /* @__PURE__ */ new Set([
|
|
158
|
-
...
|
|
158
|
+
..._chunkZPJ5J24Tcjs.CORE_REACT_SHARED_KEYS,
|
|
159
159
|
"next/navigation",
|
|
160
160
|
"next/dist/client/components/navigation",
|
|
161
161
|
"next/link",
|
|
@@ -169,7 +169,7 @@ function withRemoteComponentsConfig(nextConfig, options) {
|
|
|
169
169
|
..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _ => _.shared]), () => ( []))
|
|
170
170
|
]);
|
|
171
171
|
const pagesShared = /* @__PURE__ */ new Set([
|
|
172
|
-
...
|
|
172
|
+
..._chunkZPJ5J24Tcjs.CORE_REACT_SHARED_KEYS,
|
|
173
173
|
"next/router",
|
|
174
174
|
"next/link",
|
|
175
175
|
"next/dist/shared/lib/image-loader",
|
|
@@ -177,7 +177,7 @@ function withRemoteComponentsConfig(nextConfig, options) {
|
|
|
177
177
|
"next/form",
|
|
178
178
|
..._nullishCoalesce(_optionalChain([options, 'optionalAccess', _2 => _2.shared]), () => ( []))
|
|
179
179
|
]);
|
|
180
|
-
const vendorShared = { ...
|
|
180
|
+
const vendorShared = { ..._chunkZPJ5J24Tcjs.VENDOR_SHARED };
|
|
181
181
|
const resolve = _enhancedresolve2.default.create.sync({
|
|
182
182
|
conditionNames: ["browser", "import", "module", "require"],
|
|
183
183
|
..._fs.existsSync.call(void 0, _path.join.call(void 0, process.cwd(), "tsconfig.json")) ? {
|
|
@@ -248,7 +248,7 @@ ${sharedManifest ? `export const sharedManifest = ${sharedManifest};
|
|
|
248
248
|
).join(",\n");
|
|
249
249
|
return generateSharedModule({
|
|
250
250
|
sharedEntries,
|
|
251
|
-
sharedManifest: `{ protocol: '${
|
|
251
|
+
sharedManifest: `{ protocol: '${_chunkZPJ5J24Tcjs.SHARED_MODULE_MANIFEST_PROTOCOL}', requirements: [
|
|
252
252
|
${requirements}
|
|
253
253
|
] }`
|
|
254
254
|
});
|
package/dist/config/nextjs.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ConditionalExecPlugin,
|
|
3
|
+
ModuleIdEmbedPlugin,
|
|
4
|
+
PatchRequirePlugin,
|
|
5
|
+
RemoteWebpackRequirePlugin
|
|
6
|
+
} from "../chunk-CTUJSWCM.js";
|
|
1
7
|
import {
|
|
2
8
|
CORE_REACT_SHARED_KEYS,
|
|
3
9
|
SHARED_MODULE_MANIFEST_PROTOCOL,
|
|
4
10
|
VENDOR_SHARED
|
|
5
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-WWHNG5YP.js";
|
|
6
12
|
import "../chunk-D5GNZB6O.js";
|
|
7
13
|
import "../chunk-STIJO4AG.js";
|
|
8
14
|
import {
|
|
@@ -11,12 +17,6 @@ import {
|
|
|
11
17
|
logWarn
|
|
12
18
|
} from "../chunk-ULXU6XWH.js";
|
|
13
19
|
import "../chunk-X6YKUJKH.js";
|
|
14
|
-
import {
|
|
15
|
-
ConditionalExecPlugin,
|
|
16
|
-
ModuleIdEmbedPlugin,
|
|
17
|
-
PatchRequirePlugin,
|
|
18
|
-
RemoteWebpackRequirePlugin
|
|
19
|
-
} from "../chunk-CTUJSWCM.js";
|
|
20
20
|
import "../chunk-ENYGL5CO.js";
|
|
21
21
|
|
|
22
22
|
// src/config/nextjs/index.ts
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/config/tailwind/index.ts
|
|
2
|
+
var DEFAULT_SELECTORS = [
|
|
3
|
+
":host",
|
|
4
|
+
":host *",
|
|
5
|
+
":host *::before",
|
|
6
|
+
":host *::after",
|
|
7
|
+
":host *::backdrop",
|
|
8
|
+
":host *::file-selector-button"
|
|
9
|
+
];
|
|
10
|
+
function remoteComponentsTailwindShadowDom(options = {}) {
|
|
11
|
+
return {
|
|
12
|
+
postcssPlugin: "remote-components-tailwind-shadow-dom",
|
|
13
|
+
Once(root) {
|
|
14
|
+
const declarations = /* @__PURE__ */ new Map();
|
|
15
|
+
root.walkAtRules("property", (atRule) => {
|
|
16
|
+
const propertyName = atRule.params.trim();
|
|
17
|
+
if (!propertyName.startsWith("--tw-")) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
atRule.walkDecls("initial-value", (declaration) => {
|
|
21
|
+
declarations.set(propertyName, declaration.value);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
if (declarations.size === 0) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
root.append({
|
|
28
|
+
type: "atrule",
|
|
29
|
+
name: "layer",
|
|
30
|
+
params: "properties",
|
|
31
|
+
raws: {},
|
|
32
|
+
nodes: [
|
|
33
|
+
{
|
|
34
|
+
type: "rule",
|
|
35
|
+
raws: {},
|
|
36
|
+
selector: (_nullishCoalesce(options.selectors, () => ( DEFAULT_SELECTORS))).join(",\n"),
|
|
37
|
+
nodes: Array.from(declarations, ([prop, value]) => ({
|
|
38
|
+
type: "decl",
|
|
39
|
+
raws: {},
|
|
40
|
+
prop,
|
|
41
|
+
value
|
|
42
|
+
}))
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
remoteComponentsTailwindShadowDom.postcss = true;
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
exports.remoteComponentsTailwindShadowDom = remoteComponentsTailwindShadowDom;
|
|
53
|
+
//# sourceMappingURL=tailwind.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/tailwind/index.ts"],"names":[],"mappings":";AAsBA,IAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,kCACd,UAAoD,CAAC,GACrD;AACA,SAAO;AAAA,IACL,eAAe;AAAA,IACf,KAAK,MAAmB;AACtB,YAAM,eAAe,oBAAI,IAAoB;AAE7C,WAAK,YAAY,YAAY,CAAC,WAAW;AACvC,cAAM,eAAe,OAAO,OAAO,KAAK;AAExC,YAAI,CAAC,aAAa,WAAW,OAAO,GAAG;AACrC;AAAA,QACF;AAEA,eAAO,UAAU,iBAAiB,CAAC,gBAAgB;AACjD,uBAAa,IAAI,cAAc,YAAY,KAAK;AAAA,QAClD,CAAC;AAAA,MACH,CAAC;AAED,UAAI,aAAa,SAAS,GAAG;AAC3B;AAAA,MACF;AAEA,WAAK,OAAO;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,CAAC;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,MAAM,CAAC;AAAA,YACP,WAAW,QAAQ,aAAa,mBAAmB,KAAK,KAAK;AAAA,YAC7D,OAAO,MAAM,KAAK,cAAc,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,cAClD,MAAM;AAAA,cACN,MAAM,CAAC;AAAA,cACP;AAAA,cACA;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAGE,kCAGA,UAAU","sourcesContent":["export interface RemoteComponentsTailwindShadowDomOptions {\n selectors?: string[];\n}\n\ninterface PostCssDeclaration {\n prop: string;\n value: string;\n}\n\ninterface PostCssAtRule {\n params: string;\n walkDecls(\n name: string,\n callback: (declaration: PostCssDeclaration) => void,\n ): void;\n}\n\ninterface PostCssRoot {\n walkAtRules(name: string, callback: (atRule: PostCssAtRule) => void): void;\n append(node: unknown): void;\n}\n\nconst DEFAULT_SELECTORS = [\n ':host',\n ':host *',\n ':host *::before',\n ':host *::after',\n ':host *::backdrop',\n ':host *::file-selector-button',\n];\n\nexport function remoteComponentsTailwindShadowDom(\n options: RemoteComponentsTailwindShadowDomOptions = {},\n) {\n return {\n postcssPlugin: 'remote-components-tailwind-shadow-dom',\n Once(root: PostCssRoot) {\n const declarations = new Map<string, string>();\n\n root.walkAtRules('property', (atRule) => {\n const propertyName = atRule.params.trim();\n\n if (!propertyName.startsWith('--tw-')) {\n return;\n }\n\n atRule.walkDecls('initial-value', (declaration) => {\n declarations.set(propertyName, declaration.value);\n });\n });\n\n if (declarations.size === 0) {\n return;\n }\n\n root.append({\n type: 'atrule',\n name: 'layer',\n params: 'properties',\n raws: {},\n nodes: [\n {\n type: 'rule',\n raws: {},\n selector: (options.selectors ?? DEFAULT_SELECTORS).join(',\\n'),\n nodes: Array.from(declarations, ([prop, value]) => ({\n type: 'decl',\n raws: {},\n prop,\n value,\n })),\n },\n ],\n });\n },\n };\n}\n\n(\n remoteComponentsTailwindShadowDom as typeof remoteComponentsTailwindShadowDom & {\n postcss?: boolean;\n }\n).postcss = true;\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface RemoteComponentsTailwindShadowDomOptions {
|
|
2
|
+
selectors?: string[];
|
|
3
|
+
}
|
|
4
|
+
interface PostCssDeclaration {
|
|
5
|
+
prop: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
interface PostCssAtRule {
|
|
9
|
+
params: string;
|
|
10
|
+
walkDecls(name: string, callback: (declaration: PostCssDeclaration) => void): void;
|
|
11
|
+
}
|
|
12
|
+
interface PostCssRoot {
|
|
13
|
+
walkAtRules(name: string, callback: (atRule: PostCssAtRule) => void): void;
|
|
14
|
+
append(node: unknown): void;
|
|
15
|
+
}
|
|
16
|
+
declare function remoteComponentsTailwindShadowDom(options?: RemoteComponentsTailwindShadowDomOptions): {
|
|
17
|
+
postcssPlugin: string;
|
|
18
|
+
Once(root: PostCssRoot): void;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { RemoteComponentsTailwindShadowDomOptions, remoteComponentsTailwindShadowDom };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// src/config/tailwind/index.ts
|
|
2
|
+
var DEFAULT_SELECTORS = [
|
|
3
|
+
":host",
|
|
4
|
+
":host *",
|
|
5
|
+
":host *::before",
|
|
6
|
+
":host *::after",
|
|
7
|
+
":host *::backdrop",
|
|
8
|
+
":host *::file-selector-button"
|
|
9
|
+
];
|
|
10
|
+
function remoteComponentsTailwindShadowDom(options = {}) {
|
|
11
|
+
return {
|
|
12
|
+
postcssPlugin: "remote-components-tailwind-shadow-dom",
|
|
13
|
+
Once(root) {
|
|
14
|
+
const declarations = /* @__PURE__ */ new Map();
|
|
15
|
+
root.walkAtRules("property", (atRule) => {
|
|
16
|
+
const propertyName = atRule.params.trim();
|
|
17
|
+
if (!propertyName.startsWith("--tw-")) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
atRule.walkDecls("initial-value", (declaration) => {
|
|
21
|
+
declarations.set(propertyName, declaration.value);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
if (declarations.size === 0) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
root.append({
|
|
28
|
+
type: "atrule",
|
|
29
|
+
name: "layer",
|
|
30
|
+
params: "properties",
|
|
31
|
+
raws: {},
|
|
32
|
+
nodes: [
|
|
33
|
+
{
|
|
34
|
+
type: "rule",
|
|
35
|
+
raws: {},
|
|
36
|
+
selector: (options.selectors ?? DEFAULT_SELECTORS).join(",\n"),
|
|
37
|
+
nodes: Array.from(declarations, ([prop, value]) => ({
|
|
38
|
+
type: "decl",
|
|
39
|
+
raws: {},
|
|
40
|
+
prop,
|
|
41
|
+
value
|
|
42
|
+
}))
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
remoteComponentsTailwindShadowDom.postcss = true;
|
|
50
|
+
export {
|
|
51
|
+
remoteComponentsTailwindShadowDom
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=tailwind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/config/tailwind/index.ts"],"sourcesContent":["export interface RemoteComponentsTailwindShadowDomOptions {\n selectors?: string[];\n}\n\ninterface PostCssDeclaration {\n prop: string;\n value: string;\n}\n\ninterface PostCssAtRule {\n params: string;\n walkDecls(\n name: string,\n callback: (declaration: PostCssDeclaration) => void,\n ): void;\n}\n\ninterface PostCssRoot {\n walkAtRules(name: string, callback: (atRule: PostCssAtRule) => void): void;\n append(node: unknown): void;\n}\n\nconst DEFAULT_SELECTORS = [\n ':host',\n ':host *',\n ':host *::before',\n ':host *::after',\n ':host *::backdrop',\n ':host *::file-selector-button',\n];\n\nexport function remoteComponentsTailwindShadowDom(\n options: RemoteComponentsTailwindShadowDomOptions = {},\n) {\n return {\n postcssPlugin: 'remote-components-tailwind-shadow-dom',\n Once(root: PostCssRoot) {\n const declarations = new Map<string, string>();\n\n root.walkAtRules('property', (atRule) => {\n const propertyName = atRule.params.trim();\n\n if (!propertyName.startsWith('--tw-')) {\n return;\n }\n\n atRule.walkDecls('initial-value', (declaration) => {\n declarations.set(propertyName, declaration.value);\n });\n });\n\n if (declarations.size === 0) {\n return;\n }\n\n root.append({\n type: 'atrule',\n name: 'layer',\n params: 'properties',\n raws: {},\n nodes: [\n {\n type: 'rule',\n raws: {},\n selector: (options.selectors ?? DEFAULT_SELECTORS).join(',\\n'),\n nodes: Array.from(declarations, ([prop, value]) => ({\n type: 'decl',\n raws: {},\n prop,\n value,\n })),\n },\n ],\n });\n },\n };\n}\n\n(\n remoteComponentsTailwindShadowDom as typeof remoteComponentsTailwindShadowDom & {\n postcss?: boolean;\n }\n).postcss = true;\n"],"mappings":";AAsBA,IAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,kCACd,UAAoD,CAAC,GACrD;AACA,SAAO;AAAA,IACL,eAAe;AAAA,IACf,KAAK,MAAmB;AACtB,YAAM,eAAe,oBAAI,IAAoB;AAE7C,WAAK,YAAY,YAAY,CAAC,WAAW;AACvC,cAAM,eAAe,OAAO,OAAO,KAAK;AAExC,YAAI,CAAC,aAAa,WAAW,OAAO,GAAG;AACrC;AAAA,QACF;AAEA,eAAO,UAAU,iBAAiB,CAAC,gBAAgB;AACjD,uBAAa,IAAI,cAAc,YAAY,KAAK;AAAA,QAClD,CAAC;AAAA,MACH,CAAC;AAED,UAAI,aAAa,SAAS,GAAG;AAC3B;AAAA,MACF;AAEA,WAAK,OAAO;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,MAAM,CAAC;AAAA,QACP,OAAO;AAAA,UACL;AAAA,YACE,MAAM;AAAA,YACN,MAAM,CAAC;AAAA,YACP,WAAW,QAAQ,aAAa,mBAAmB,KAAK,KAAK;AAAA,YAC7D,OAAO,MAAM,KAAK,cAAc,CAAC,CAAC,MAAM,KAAK,OAAO;AAAA,cAClD,MAAM;AAAA,cACN,MAAM,CAAC;AAAA,cACP;AAAA,cACA;AAAA,YACF,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAGE,kCAGA,UAAU;","names":[]}
|
package/dist/host/html.cjs
CHANGED
|
@@ -7,16 +7,17 @@
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
var
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
10
|
+
var _chunkT2JJIQUJcjs = require('../chunk-T2JJIQUJ.cjs');
|
|
11
|
+
require('../chunk-TCFLEBQM.cjs');
|
|
12
|
+
require('../chunk-MAVMKFFL.cjs');
|
|
13
|
+
require('../chunk-TIS6PXSQ.cjs');
|
|
14
|
+
require('../chunk-JKDPK6L5.cjs');
|
|
14
15
|
require('../chunk-3AX5WLZD.cjs');
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
var
|
|
20
|
+
var _chunkZPJ5J24Tcjs = require('../chunk-ZPJ5J24T.cjs');
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
var _chunkZ2SLBFQLcjs = require('../chunk-Z2SLBFQL.cjs');
|
|
@@ -28,7 +29,6 @@ require('../chunk-5KTAEO52.cjs');
|
|
|
28
29
|
|
|
29
30
|
var _chunkBBXVML3Dcjs = require('../chunk-BBXVML3D.cjs');
|
|
30
31
|
require('../chunk-KE7QPAQ4.cjs');
|
|
31
|
-
require('../chunk-TCFLEBQM.cjs');
|
|
32
32
|
require('../chunk-SHFJ5OQA.cjs');
|
|
33
33
|
|
|
34
34
|
// src/host/html/index.tsx
|
|
@@ -125,10 +125,10 @@ async function getRuntime(type, url, bundle, shared, remoteShared, resolveClient
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
if (type === "webpack") {
|
|
128
|
-
const { webpackRuntime } = await Promise.resolve().then(() => _interopRequireWildcard(require("../webpack-
|
|
128
|
+
const { webpackRuntime } = await Promise.resolve().then(() => _interopRequireWildcard(require("../webpack-W2MODB73.cjs")));
|
|
129
129
|
return webpackRuntime(bundle, shared, remoteShared, resolveClientUrl);
|
|
130
130
|
} else if (type === "turbopack") {
|
|
131
|
-
const { turbopackRuntime } = await Promise.resolve().then(() => _interopRequireWildcard(require("../turbopack-
|
|
131
|
+
const { turbopackRuntime } = await Promise.resolve().then(() => _interopRequireWildcard(require("../turbopack-YZOIO55D.cjs")));
|
|
132
132
|
return turbopackRuntime(
|
|
133
133
|
url,
|
|
134
134
|
bundle,
|
|
@@ -149,15 +149,15 @@ async function getRuntime(type, url, bundle, shared, remoteShared, resolveClient
|
|
|
149
149
|
var _jsxruntime = require('react/jsx-runtime');
|
|
150
150
|
if (typeof HTMLElement !== "undefined") {
|
|
151
151
|
class RemoteComponent extends HTMLElement {constructor(...args) { super(...args); RemoteComponent.prototype.__init.call(this);RemoteComponent.prototype.__init2.call(this);RemoteComponent.prototype.__init3.call(this);RemoteComponent.prototype.__init4.call(this);RemoteComponent.prototype.__init5.call(this);RemoteComponent.prototype.__init6.call(this);RemoteComponent.prototype.__init7.call(this); }
|
|
152
|
-
__init() {this.name =
|
|
153
|
-
__init2() {this.bundle =
|
|
152
|
+
__init() {this.name = _chunkZPJ5J24Tcjs.DEFAULT_COMPONENT_NAME}
|
|
153
|
+
__init2() {this.bundle = _chunkZPJ5J24Tcjs.DEFAULT_BUNDLE_NAME}
|
|
154
154
|
|
|
155
155
|
__init3() {this.__next = null}
|
|
156
156
|
__init4() {this.fouc = null}
|
|
157
|
-
__init5() {this.hostState =
|
|
157
|
+
__init5() {this.hostState = _chunkT2JJIQUJcjs.createHostState.call(void 0, )}
|
|
158
158
|
__init6() {this.root = null}
|
|
159
159
|
|
|
160
|
-
__init7() {this.emitter =
|
|
160
|
+
__init7() {this.emitter = _chunkT2JJIQUJcjs.makeEventEmitter.call(void 0, this)}
|
|
161
161
|
|
|
162
162
|
|
|
163
163
|
|
|
@@ -279,10 +279,10 @@ if (typeof HTMLElement !== "undefined") {
|
|
|
279
279
|
let url = null;
|
|
280
280
|
let html = this.innerHTML;
|
|
281
281
|
if (src) {
|
|
282
|
-
url =
|
|
283
|
-
this.name =
|
|
282
|
+
url = _chunkT2JJIQUJcjs.getClientOrServerUrl.call(void 0, src, window.location.href);
|
|
283
|
+
this.name = _chunkT2JJIQUJcjs.resolveNameFromSrc.call(void 0, src, this.name);
|
|
284
284
|
}
|
|
285
|
-
const resolveClientUrl = url ?
|
|
285
|
+
const resolveClientUrl = url ? _chunkT2JJIQUJcjs.bindResolveClientUrl.call(void 0, this.resolveClientUrl, url.href) : void 0;
|
|
286
286
|
if (!remoteComponentChild && url) {
|
|
287
287
|
const fetchInit = {
|
|
288
288
|
credentials: this.credentials || "same-origin"
|
|
@@ -293,7 +293,7 @@ if (typeof HTMLElement !== "undefined") {
|
|
|
293
293
|
);
|
|
294
294
|
let res;
|
|
295
295
|
try {
|
|
296
|
-
res = await
|
|
296
|
+
res = await _chunkT2JJIQUJcjs.fetchWithHooks.call(void 0, resolvedUrl, fetchInit, {
|
|
297
297
|
onRequest: this.onRequest,
|
|
298
298
|
onResponse: this.onResponse,
|
|
299
299
|
abortController: this.hostState.abortController
|
|
@@ -320,7 +320,7 @@ if (typeof HTMLElement !== "undefined") {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
const effectiveUrl = _nullishCoalesce(url, () => ( new URL(window.location.href)));
|
|
323
|
-
const { doc, parsed } =
|
|
323
|
+
const { doc, parsed } = _chunkT2JJIQUJcjs.preparePipeline.call(void 0, {
|
|
324
324
|
html,
|
|
325
325
|
name: this.name,
|
|
326
326
|
url: effectiveUrl,
|
|
@@ -569,9 +569,9 @@ if (typeof HTMLElement !== "undefined") {
|
|
|
569
569
|
};
|
|
570
570
|
if (rsc) {
|
|
571
571
|
_optionalChain([rsc, 'access', _65 => _65.parentElement, 'optionalAccess', _66 => _66.removeChild, 'call', _67 => _67(rsc)]);
|
|
572
|
-
const rscName = `__remote_component_rsc_${
|
|
572
|
+
const rscName = `__remote_component_rsc_${_chunkZPJ5J24Tcjs.escapeString.call(void 0,
|
|
573
573
|
url.href
|
|
574
|
-
)}_${
|
|
574
|
+
)}_${_chunkZPJ5J24Tcjs.escapeString.call(void 0, this.name)}`;
|
|
575
575
|
const rscClone = document.createElement("script");
|
|
576
576
|
rscClone.id = `${rscName}_rsc`;
|
|
577
577
|
rscClone.textContent = _nullishCoalesce(_optionalChain([rsc, 'access', _68 => _68.textContent, 'optionalAccess', _69 => _69.replace, 'call', _70 => _70(
|
|
@@ -584,7 +584,7 @@ if (typeof HTMLElement !== "undefined") {
|
|
|
584
584
|
name,
|
|
585
585
|
initial
|
|
586
586
|
}) => {
|
|
587
|
-
const stream =
|
|
587
|
+
const stream = _chunkT2JJIQUJcjs.createRSCStream.call(void 0,
|
|
588
588
|
rscName,
|
|
589
589
|
_nullishCoalesce(self[rscName], () => ( [`0:[null]
|
|
590
590
|
`]))
|
package/dist/host/html.js
CHANGED
|
@@ -7,16 +7,17 @@ import {
|
|
|
7
7
|
makeEventEmitter,
|
|
8
8
|
preparePipeline,
|
|
9
9
|
resolveNameFromSrc
|
|
10
|
-
} from "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
10
|
+
} from "../chunk-PNKSHWZ3.js";
|
|
11
|
+
import "../chunk-GAXJTFBV.js";
|
|
12
|
+
import "../chunk-XLGLCKZZ.js";
|
|
13
|
+
import "../chunk-YKCU7RFM.js";
|
|
14
|
+
import "../chunk-GG32LZD3.js";
|
|
14
15
|
import "../chunk-LEKG4YWI.js";
|
|
15
16
|
import {
|
|
16
17
|
DEFAULT_BUNDLE_NAME,
|
|
17
18
|
DEFAULT_COMPONENT_NAME,
|
|
18
19
|
escapeString
|
|
19
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-WWHNG5YP.js";
|
|
20
21
|
import {
|
|
21
22
|
getNamespace
|
|
22
23
|
} from "../chunk-D5GNZB6O.js";
|
|
@@ -28,7 +29,6 @@ import {
|
|
|
28
29
|
logError
|
|
29
30
|
} from "../chunk-ULXU6XWH.js";
|
|
30
31
|
import "../chunk-X6YKUJKH.js";
|
|
31
|
-
import "../chunk-GAXJTFBV.js";
|
|
32
32
|
import "../chunk-ENYGL5CO.js";
|
|
33
33
|
|
|
34
34
|
// src/host/html/index.tsx
|
|
@@ -125,10 +125,10 @@ async function getRuntime(type, url, bundle, shared, remoteShared, resolveClient
|
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
127
|
if (type === "webpack") {
|
|
128
|
-
const { webpackRuntime } = await import("../webpack-
|
|
128
|
+
const { webpackRuntime } = await import("../webpack-2HP73JL7.js");
|
|
129
129
|
return webpackRuntime(bundle, shared, remoteShared, resolveClientUrl);
|
|
130
130
|
} else if (type === "turbopack") {
|
|
131
|
-
const { turbopackRuntime } = await import("../turbopack-
|
|
131
|
+
const { turbopackRuntime } = await import("../turbopack-HK7DVYUG.js");
|
|
132
132
|
return turbopackRuntime(
|
|
133
133
|
url,
|
|
134
134
|
bundle,
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkWCZKEWRMcjs = require('../../../chunk-WCZKEWRM.cjs');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
8
|
-
require('../../../chunk-
|
|
9
|
-
require('../../../chunk-
|
|
10
|
-
require('../../../chunk-
|
|
7
|
+
var _chunkT2JJIQUJcjs = require('../../../chunk-T2JJIQUJ.cjs');
|
|
8
|
+
require('../../../chunk-TCFLEBQM.cjs');
|
|
9
|
+
require('../../../chunk-MAVMKFFL.cjs');
|
|
10
|
+
require('../../../chunk-TIS6PXSQ.cjs');
|
|
11
|
+
require('../../../chunk-JKDPK6L5.cjs');
|
|
11
12
|
require('../../../chunk-3AX5WLZD.cjs');
|
|
12
13
|
require('../../../chunk-N3SQTOSE.cjs');
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
var
|
|
17
|
+
var _chunkZPJ5J24Tcjs = require('../../../chunk-ZPJ5J24T.cjs');
|
|
17
18
|
require('../../../chunk-Z2SLBFQL.cjs');
|
|
18
19
|
require('../../../chunk-5KTAEO52.cjs');
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
var _chunkBBXVML3Dcjs = require('../../../chunk-BBXVML3D.cjs');
|
|
22
23
|
require('../../../chunk-KE7QPAQ4.cjs');
|
|
23
|
-
require('../../../chunk-TCFLEBQM.cjs');
|
|
24
24
|
require('../../../chunk-SHFJ5OQA.cjs');
|
|
25
25
|
|
|
26
26
|
// src/host/nextjs/app-client-only.tsx
|
|
@@ -31,23 +31,32 @@ var _react = require('react');
|
|
|
31
31
|
function resolveForBundle(unbound, bundle) {
|
|
32
32
|
if (!unbound)
|
|
33
33
|
return void 0;
|
|
34
|
-
const remoteSrc = _nullishCoalesce(_optionalChain([
|
|
35
|
-
return
|
|
34
|
+
const remoteSrc = _nullishCoalesce(_optionalChain([_chunkZPJ5J24Tcjs.getScope.call(void 0, bundle), 'optionalAccess', _2 => _2.url, 'access', _3 => _3.href]), () => ( ""));
|
|
35
|
+
return _chunkT2JJIQUJcjs.bindResolveClientUrl.call(void 0, unbound, remoteSrc);
|
|
36
36
|
}
|
|
37
37
|
function createImageLoaderSharedEntries({
|
|
38
38
|
bound,
|
|
39
|
+
ssrImageDeploymentIds,
|
|
39
40
|
unbound
|
|
40
41
|
} = {}) {
|
|
41
42
|
const loaderEntry = (bundle) => {
|
|
42
43
|
const resolveClientUrl = _nullishCoalesce(bound, () => ( resolveForBundle(unbound, bundle)));
|
|
43
44
|
return Promise.resolve({
|
|
44
|
-
default:
|
|
45
|
+
default: _chunkZPJ5J24Tcjs.createRemoteImageLoader.call(void 0,
|
|
46
|
+
bundle,
|
|
47
|
+
resolveClientUrl,
|
|
48
|
+
ssrImageDeploymentIds
|
|
49
|
+
),
|
|
45
50
|
__esModule: true
|
|
46
51
|
});
|
|
47
52
|
};
|
|
48
53
|
const imageEntry = async (bundle) => {
|
|
49
54
|
const resolveClientUrl = _nullishCoalesce(bound, () => ( resolveForBundle(unbound, bundle)));
|
|
50
|
-
const rawLoader =
|
|
55
|
+
const rawLoader = _chunkZPJ5J24Tcjs.createRemoteImageLoader.call(void 0,
|
|
56
|
+
bundle,
|
|
57
|
+
resolveClientUrl,
|
|
58
|
+
ssrImageDeploymentIds
|
|
59
|
+
);
|
|
51
60
|
const remoteLoader = Object.assign(
|
|
52
61
|
(p) => rawLoader({ ...p, config: { path: "/_next/image" } }),
|
|
53
62
|
{ __next_img_default: true }
|
|
@@ -191,7 +200,7 @@ function ConsumeRemoteComponent2(props) {
|
|
|
191
200
|
return _nullishCoalesce(props.children, () => ( null));
|
|
192
201
|
}
|
|
193
202
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
194
|
-
|
|
203
|
+
_chunkWCZKEWRMcjs.ConsumeRemoteComponent,
|
|
195
204
|
{
|
|
196
205
|
...props,
|
|
197
206
|
shared: sharedModules(props.shared, props.resolveClientUrl)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/host/nextjs/app-client-only.tsx","../../../../src/host/nextjs/image-shared.ts","../../../../src/host/nextjs/shared-import.ts","../../../../src/host/nextjs/app-compat.tsx"],"names":["ConsumeRemoteComponent"],"mappings":"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","sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useMemo } from 'react';\nimport { createImageLoaderSharedEntries } from '#internal/host/nextjs/image-shared';\nimport { tryImportShared } from '#internal/host/nextjs/shared-import';\nimport { RemoteComponentsContext } from '#internal/host/react/context';\nimport type { ConsumeClientOnlyConfig } from '#internal/host/shared/config';\nimport type { ResolveClientUrl } from '#internal/runtime/url/resolve-client-url';\nimport {\n type ConsumeRemoteComponentProps,\n ConsumeRemoteComponent as ConsumeRemoteComponentReact,\n} from '#remote-components/host/react';\nimport { routerImpl } from './app-compat';\n\nconst sharedModules = async (\n userShared?: ConsumeRemoteComponentProps['shared'],\n resolveClientUrl?: ResolveClientUrl,\n) => {\n const [resolvedShared, resolvedUserShared] = await Promise.all([\n tryImportShared(),\n userShared ?? Promise.resolve({}),\n ]);\n return {\n ...resolvedShared,\n 'next/router': routerImpl,\n ...createImageLoaderSharedEntries({ unbound: resolveClientUrl }),\n ...resolvedUserShared,\n };\n};\n\n/**\n * Provider for Next.js App Router hosts. Provides real Next.js implementations\n * of `next/image`, `next/navigation`, `next/link`, etc. to all nested\n * `<ConsumeRemoteComponent>` instances.\n *\n * Works in both Server and Client Components — set it up once in your layout\n * and use `<ConsumeRemoteComponent>` from `remote-components/react` everywhere:\n *\n * ```tsx\n * import { RemoteComponentsClientProvider } from 'remote-components/host/nextjs/app/client-only';\n *\n * <RemoteComponentsClientProvider resolveClientUrl={proxyClientRequestsThroughHost}>\n * {children}\n * </RemoteComponentsClientProvider>\n * ```\n */\nexport function RemoteComponentsClientProvider({\n shared,\n resolveClientUrl,\n children,\n ...props\n}: ConsumeClientOnlyConfig & { children: React.ReactNode }) {\n const mergedShared = useMemo(\n () => sharedModules(shared, resolveClientUrl),\n [shared, resolveClientUrl],\n );\n return (\n <RemoteComponentsContext\n value={{ shared: mergedShared, resolveClientUrl, ...props }}\n >\n {children}\n </RemoteComponentsContext>\n );\n}\n\n/**\n * `ConsumeRemoteComponent` for Next.js App Router hosts. Provides real Next.js\n * implementations of `next/image`, `next/navigation`, `next/link`, etc.\n *\n * The provider approach is recommended because it works in both Server and Client\n * Components — set up `RemoteComponentsClientProvider` from this module once in\n * your layout, and use `<ConsumeRemoteComponent>` from `remote-components/react`\n * everywhere. Import this component only when adding a provider is not practical.\n */\nexport function ConsumeRemoteComponent(props: ConsumeRemoteComponentProps) {\n if (typeof props.src !== 'string' && !(props.src instanceof URL)) {\n return props.children ?? null;\n }\n\n return (\n <ConsumeRemoteComponentReact\n {...props}\n shared={sharedModules(props.shared, props.resolveClientUrl)}\n />\n );\n}\n","import { createElement, forwardRef } from 'react';\nimport { createRemoteImageLoader } from '#internal/host/shared/remote-image-loader';\nimport { getScope } from '#internal/runtime/turbopack/remote-scope';\nimport { bindResolveClientUrl } from '#internal/runtime/url/default-resolve-client-url';\nimport type {\n InternalResolveClientUrl,\n ResolveClientUrl,\n} from '#internal/runtime/url/resolve-client-url';\n\ntype SharedImageModule = (bundle: string) => Promise<unknown>;\n\nfunction resolveForBundle(\n unbound: ResolveClientUrl | undefined,\n bundle: string,\n): InternalResolveClientUrl | undefined {\n if (!unbound) return undefined;\n const remoteSrc = getScope(bundle)?.url.href ?? '';\n return bindResolveClientUrl(unbound, remoteSrc);\n}\n\n/**\n * Creates shared module entries for image-related modules that route\n * optimization requests through the remote's `/_next/image` endpoint.\n *\n * Pass `bound` when the resolver already has `remoteSrc` applied (App Router).\n * Pass `unbound` when only the raw 2-arg `ResolveClientUrl` is available\n * (Pages Router, client-only provider).\n */\nexport function createImageLoaderSharedEntries({\n bound,\n unbound,\n}: {\n bound?: InternalResolveClientUrl;\n unbound?: ResolveClientUrl;\n} = {}): Record<string, SharedImageModule> {\n const loaderEntry: SharedImageModule = (bundle: string) => {\n const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);\n return Promise.resolve({\n default: createRemoteImageLoader(bundle, resolveClientUrl),\n __esModule: true,\n });\n };\n\n // Cross-version compat: remotes <=0.2.x request `next/image` as a shared module.\n // Wraps the host's Image component with the remote image loader injected\n // via the `loader` prop. Can be removed once 0.2.x support is dropped.\n const imageEntry: SharedImageModule = async (bundle: string) => {\n const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);\n const rawLoader = createRemoteImageLoader(bundle, resolveClientUrl);\n // Wrap to match Next.js `ImageLoader` signature (no `config` param).\n // The raw loader expects `{ config, src, width, quality }` but the public\n // `loader` prop is called with `{ src, width, quality }` only.\n const remoteLoader = Object.assign(\n (p: { src: string; width: number; quality?: number }) =>\n rawLoader({ ...p, config: { path: '/_next/image' } }),\n { __next_img_default: true as const },\n );\n const mod = await import('next/image');\n const OriginalImage = mod.default;\n type ImageProps = Parameters<typeof OriginalImage>[0];\n const RemoteImage = forwardRef<HTMLImageElement, ImageProps>((props, ref) =>\n createElement(OriginalImage, {\n ...props,\n loader: props.loader ?? remoteLoader,\n ref,\n }),\n );\n RemoteImage.displayName = 'RemoteImage';\n return { ...mod, default: RemoteImage, __esModule: true };\n };\n\n return {\n 'next/dist/shared/lib/image-loader': loaderEntry,\n 'next/dist/esm/shared/lib/image-loader': loaderEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/image': imageEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/dist/client/image-component': imageEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/dist/api/image': imageEntry,\n };\n}\n","export async function tryImportShared() {\n try {\n const { shared } = await import('#remote-components/host/defaults/app');\n return shared;\n } catch {\n return {};\n }\n}\n","import type { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';\nimport { usePathname, useSearchParams } from 'next/navigation';\nimport { logWarn } from '#internal/utils/logger';\n\nexport const routerImpl = async () => {\n const { useRouter } = await import('next/navigation');\n return Promise.resolve({\n useRouter: () => {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const query = Object.fromEntries(searchParams.entries());\n return {\n pathname,\n query,\n asPath: searchParams.toString()\n ? `${pathname}?${searchParams.toString()}`\n : pathname,\n push: (href: string, _: string, options?: NavigateOptions) => {\n router.push(href, options);\n return Promise.resolve(true);\n },\n replace: (href: string, _: string, options?: NavigateOptions) => {\n router.replace(href, options);\n return Promise.resolve(true);\n },\n refresh: () => Promise.resolve(router.refresh()),\n prefetch: async () => {\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.prefetch() in a remote component loaded in the Next.js App Router. prefetch() is a no-op in the App Router.',\n );\n return Promise.resolve();\n },\n back: () => {\n // there's no back() in the App Router\n if (typeof window !== 'undefined') {\n window.history.back();\n }\n },\n reload: () => {\n router.refresh();\n },\n beforePopState: () => {\n // there's no beforePopState() in the App Router\n },\n events: {\n on: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.on() in a remote component loaded in the Next.js App Router. events.on() is a no-op in the App Router.',\n );\n },\n off: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.off() in a remote component loaded in the Next.js App Router. events.off() is a no-op in the App Router.',\n );\n },\n emit: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.emit() in a remote component loaded in the Next.js App Router. events.emit() is a no-op in the App Router.',\n );\n },\n },\n };\n },\n });\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/host/nextjs/app-client-only.tsx","../../../../src/host/nextjs/image-shared.ts","../../../../src/host/nextjs/shared-import.ts","../../../../src/host/nextjs/app-compat.tsx"],"names":["ConsumeRemoteComponent"],"mappings":"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","sourcesContent":["'use client';\n\nimport type React from 'react';\nimport { useMemo } from 'react';\nimport { createImageLoaderSharedEntries } from '#internal/host/nextjs/image-shared';\nimport { tryImportShared } from '#internal/host/nextjs/shared-import';\nimport { RemoteComponentsContext } from '#internal/host/react/context';\nimport type { ConsumeClientOnlyConfig } from '#internal/host/shared/config';\nimport type { ResolveClientUrl } from '#internal/runtime/url/resolve-client-url';\nimport {\n type ConsumeRemoteComponentProps,\n ConsumeRemoteComponent as ConsumeRemoteComponentReact,\n} from '#remote-components/host/react';\nimport { routerImpl } from './app-compat';\n\nconst sharedModules = async (\n userShared?: ConsumeRemoteComponentProps['shared'],\n resolveClientUrl?: ResolveClientUrl,\n) => {\n const [resolvedShared, resolvedUserShared] = await Promise.all([\n tryImportShared(),\n userShared ?? Promise.resolve({}),\n ]);\n return {\n ...resolvedShared,\n 'next/router': routerImpl,\n ...createImageLoaderSharedEntries({ unbound: resolveClientUrl }),\n ...resolvedUserShared,\n };\n};\n\n/**\n * Provider for Next.js App Router hosts. Provides real Next.js implementations\n * of `next/image`, `next/navigation`, `next/link`, etc. to all nested\n * `<ConsumeRemoteComponent>` instances.\n *\n * Works in both Server and Client Components — set it up once in your layout\n * and use `<ConsumeRemoteComponent>` from `remote-components/react` everywhere:\n *\n * ```tsx\n * import { RemoteComponentsClientProvider } from 'remote-components/host/nextjs/app/client-only';\n *\n * <RemoteComponentsClientProvider resolveClientUrl={proxyClientRequestsThroughHost}>\n * {children}\n * </RemoteComponentsClientProvider>\n * ```\n */\nexport function RemoteComponentsClientProvider({\n shared,\n resolveClientUrl,\n children,\n ...props\n}: ConsumeClientOnlyConfig & { children: React.ReactNode }) {\n const mergedShared = useMemo(\n () => sharedModules(shared, resolveClientUrl),\n [shared, resolveClientUrl],\n );\n return (\n <RemoteComponentsContext\n value={{ shared: mergedShared, resolveClientUrl, ...props }}\n >\n {children}\n </RemoteComponentsContext>\n );\n}\n\n/**\n * `ConsumeRemoteComponent` for Next.js App Router hosts. Provides real Next.js\n * implementations of `next/image`, `next/navigation`, `next/link`, etc.\n *\n * The provider approach is recommended because it works in both Server and Client\n * Components — set up `RemoteComponentsClientProvider` from this module once in\n * your layout, and use `<ConsumeRemoteComponent>` from `remote-components/react`\n * everywhere. Import this component only when adding a provider is not practical.\n */\nexport function ConsumeRemoteComponent(props: ConsumeRemoteComponentProps) {\n if (typeof props.src !== 'string' && !(props.src instanceof URL)) {\n return props.children ?? null;\n }\n\n return (\n <ConsumeRemoteComponentReact\n {...props}\n shared={sharedModules(props.shared, props.resolveClientUrl)}\n />\n );\n}\n","import { createElement, forwardRef } from 'react';\nimport type { NextImageDeploymentId } from '#internal/host/shared/next-image-deployment-id';\nimport { createRemoteImageLoader } from '#internal/host/shared/remote-image-loader';\nimport { getScope } from '#internal/runtime/turbopack/remote-scope';\nimport { bindResolveClientUrl } from '#internal/runtime/url/default-resolve-client-url';\nimport type {\n InternalResolveClientUrl,\n ResolveClientUrl,\n} from '#internal/runtime/url/resolve-client-url';\n\ntype SharedImageModule = (bundle: string) => Promise<unknown>;\n\nfunction resolveForBundle(\n unbound: ResolveClientUrl | undefined,\n bundle: string,\n): InternalResolveClientUrl | undefined {\n if (!unbound) return undefined;\n const remoteSrc = getScope(bundle)?.url.href ?? '';\n return bindResolveClientUrl(unbound, remoteSrc);\n}\n\n/**\n * Creates shared module entries for image-related modules that route\n * optimization requests through the remote's `/_next/image` endpoint.\n *\n * Pass `bound` when the resolver already has `remoteSrc` applied (App Router).\n * Pass `unbound` when only the raw 2-arg `ResolveClientUrl` is available\n * (Pages Router, client-only provider).\n */\nexport function createImageLoaderSharedEntries({\n bound,\n ssrImageDeploymentIds,\n unbound,\n}: {\n bound?: InternalResolveClientUrl;\n ssrImageDeploymentIds?: readonly NextImageDeploymentId[];\n unbound?: ResolveClientUrl;\n} = {}): Record<string, SharedImageModule> {\n const loaderEntry: SharedImageModule = (bundle: string) => {\n const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);\n return Promise.resolve({\n default: createRemoteImageLoader(\n bundle,\n resolveClientUrl,\n ssrImageDeploymentIds,\n ),\n __esModule: true,\n });\n };\n\n // Cross-version compat: remotes <=0.2.x request `next/image` as a shared module.\n // Wraps the host's Image component with the remote image loader injected\n // via the `loader` prop. Can be removed once 0.2.x support is dropped.\n const imageEntry: SharedImageModule = async (bundle: string) => {\n const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);\n const rawLoader = createRemoteImageLoader(\n bundle,\n resolveClientUrl,\n ssrImageDeploymentIds,\n );\n // Wrap to match Next.js `ImageLoader` signature (no `config` param).\n // The raw loader expects `{ config, src, width, quality }` but the public\n // `loader` prop is called with `{ src, width, quality }` only.\n const remoteLoader = Object.assign(\n (p: { src: string; width: number; quality?: number }) =>\n rawLoader({ ...p, config: { path: '/_next/image' } }),\n { __next_img_default: true as const },\n );\n const mod = await import('next/image');\n const OriginalImage = mod.default;\n type ImageProps = Parameters<typeof OriginalImage>[0];\n const RemoteImage = forwardRef<HTMLImageElement, ImageProps>((props, ref) =>\n createElement(OriginalImage, {\n ...props,\n loader: props.loader ?? remoteLoader,\n ref,\n }),\n );\n RemoteImage.displayName = 'RemoteImage';\n return { ...mod, default: RemoteImage, __esModule: true };\n };\n\n return {\n 'next/dist/shared/lib/image-loader': loaderEntry,\n 'next/dist/esm/shared/lib/image-loader': loaderEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/image': imageEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/dist/client/image-component': imageEntry,\n // Can be removed once 0.2.x support is dropped.\n 'next/dist/api/image': imageEntry,\n };\n}\n","export async function tryImportShared() {\n try {\n const { shared } = await import('#remote-components/host/defaults/app');\n return shared;\n } catch {\n return {};\n }\n}\n","import type { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';\nimport { usePathname, useSearchParams } from 'next/navigation';\nimport { logWarn } from '#internal/utils/logger';\n\nexport const routerImpl = async () => {\n const { useRouter } = await import('next/navigation');\n return Promise.resolve({\n useRouter: () => {\n const router = useRouter();\n const pathname = usePathname();\n const searchParams = useSearchParams();\n const query = Object.fromEntries(searchParams.entries());\n return {\n pathname,\n query,\n asPath: searchParams.toString()\n ? `${pathname}?${searchParams.toString()}`\n : pathname,\n push: (href: string, _: string, options?: NavigateOptions) => {\n router.push(href, options);\n return Promise.resolve(true);\n },\n replace: (href: string, _: string, options?: NavigateOptions) => {\n router.replace(href, options);\n return Promise.resolve(true);\n },\n refresh: () => Promise.resolve(router.refresh()),\n prefetch: async () => {\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.prefetch() in a remote component loaded in the Next.js App Router. prefetch() is a no-op in the App Router.',\n );\n return Promise.resolve();\n },\n back: () => {\n // there's no back() in the App Router\n if (typeof window !== 'undefined') {\n window.history.back();\n }\n },\n reload: () => {\n router.refresh();\n },\n beforePopState: () => {\n // there's no beforePopState() in the App Router\n },\n events: {\n on: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.on() in a remote component loaded in the Next.js App Router. events.on() is a no-op in the App Router.',\n );\n },\n off: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.off() in a remote component loaded in the Next.js App Router. events.off() is a no-op in the App Router.',\n );\n },\n emit: () => {\n // there's no router.events in the App Router\n logWarn(\n 'NextAppRouterCompat',\n 'You are using router.events.emit() in a remote component loaded in the Next.js App Router. events.emit() is a no-op in the App Router.',\n );\n },\n },\n };\n },\n });\n};\n"]}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ConsumeRemoteComponent
|
|
4
|
-
} from "../../../chunk-
|
|
4
|
+
} from "../../../chunk-EIEIT5PG.js";
|
|
5
5
|
import {
|
|
6
6
|
bindResolveClientUrl
|
|
7
|
-
} from "../../../chunk-
|
|
8
|
-
import "../../../chunk-
|
|
9
|
-
import "../../../chunk-
|
|
10
|
-
import "../../../chunk-
|
|
7
|
+
} from "../../../chunk-PNKSHWZ3.js";
|
|
8
|
+
import "../../../chunk-GAXJTFBV.js";
|
|
9
|
+
import "../../../chunk-XLGLCKZZ.js";
|
|
10
|
+
import "../../../chunk-YKCU7RFM.js";
|
|
11
|
+
import "../../../chunk-GG32LZD3.js";
|
|
11
12
|
import "../../../chunk-LEKG4YWI.js";
|
|
12
13
|
import "../../../chunk-RHGEBXPL.js";
|
|
13
14
|
import {
|
|
14
15
|
createRemoteImageLoader,
|
|
15
16
|
getScope
|
|
16
|
-
} from "../../../chunk-
|
|
17
|
+
} from "../../../chunk-WWHNG5YP.js";
|
|
17
18
|
import "../../../chunk-D5GNZB6O.js";
|
|
18
19
|
import "../../../chunk-STIJO4AG.js";
|
|
19
20
|
import {
|
|
20
21
|
logWarn
|
|
21
22
|
} from "../../../chunk-ULXU6XWH.js";
|
|
22
23
|
import "../../../chunk-X6YKUJKH.js";
|
|
23
|
-
import "../../../chunk-GAXJTFBV.js";
|
|
24
24
|
import "../../../chunk-ENYGL5CO.js";
|
|
25
25
|
|
|
26
26
|
// src/host/nextjs/app-client-only.tsx
|
|
@@ -36,18 +36,27 @@ function resolveForBundle(unbound, bundle) {
|
|
|
36
36
|
}
|
|
37
37
|
function createImageLoaderSharedEntries({
|
|
38
38
|
bound,
|
|
39
|
+
ssrImageDeploymentIds,
|
|
39
40
|
unbound
|
|
40
41
|
} = {}) {
|
|
41
42
|
const loaderEntry = (bundle) => {
|
|
42
43
|
const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);
|
|
43
44
|
return Promise.resolve({
|
|
44
|
-
default: createRemoteImageLoader(
|
|
45
|
+
default: createRemoteImageLoader(
|
|
46
|
+
bundle,
|
|
47
|
+
resolveClientUrl,
|
|
48
|
+
ssrImageDeploymentIds
|
|
49
|
+
),
|
|
45
50
|
__esModule: true
|
|
46
51
|
});
|
|
47
52
|
};
|
|
48
53
|
const imageEntry = async (bundle) => {
|
|
49
54
|
const resolveClientUrl = bound ?? resolveForBundle(unbound, bundle);
|
|
50
|
-
const rawLoader = createRemoteImageLoader(
|
|
55
|
+
const rawLoader = createRemoteImageLoader(
|
|
56
|
+
bundle,
|
|
57
|
+
resolveClientUrl,
|
|
58
|
+
ssrImageDeploymentIds
|
|
59
|
+
);
|
|
51
60
|
const remoteLoader = Object.assign(
|
|
52
61
|
(p) => rawLoader({ ...p, config: { path: "/_next/image" } }),
|
|
53
62
|
{ __next_img_default: true }
|