@common-stack/components-pro 7.0.4-alpha.27 → 7.1.1-alpha.0
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/lib/index.js +1 -1
- package/lib/plugin/dynamic-render.d.ts +4 -1
- package/lib/plugin/dynamic-render.js +29 -16
- package/lib/plugin/dynamic-render.js.map +1 -1
- package/lib/plugin/index.d.ts +1 -2
- package/lib/plugin/plugin-render.d.ts +14 -6
- package/lib/plugin/plugin-render.js +26 -17
- package/lib/plugin/plugin-render.js.map +1 -1
- package/lib/plugin/reset-rendered-fills.d.ts +2 -0
- package/lib/plugin/reset-rendered-fills.js +4 -0
- package/lib/plugin/reset-rendered-fills.js.map +1 -0
- package/lib/slot-fill/base/context.js +3 -0
- package/lib/slot-fill/base/context.js.map +1 -1
- package/lib/slot-fill/base/provider.d.ts +3 -0
- package/lib/slot-fill/base/provider.js +37 -1
- package/lib/slot-fill/base/provider.js.map +1 -1
- package/lib/slot-fill/base/slot.js +4 -4
- package/lib/slot-fill/base/slot.js.map +1 -1
- package/lib/slot-fill/interfaces/index.d.ts +8 -0
- package/package.json +2 -2
- package/lib/index.server.d.ts +0 -1
- package/lib/index.server.js +0 -1
- package/lib/index.server.js.map +0 -1
- package/lib/plugin/context.d.ts +0 -6
- package/lib/plugin/context.js +0 -1
- package/lib/plugin/context.js.map +0 -1
- package/lib/plugin/loader.d.ts +0 -6
- package/lib/plugin/loader.js +0 -20
- package/lib/plugin/loader.js.map +0 -1
- package/lib/plugin/middleware.d.ts +0 -3
- package/lib/plugin/middleware.js +0 -19
- package/lib/plugin/middleware.js.map +0 -1
- package/lib/plugin/provider.d.ts +0 -6
- package/lib/plugin/provider.js +0 -4
- package/lib/plugin/provider.js.map +0 -1
- package/lib/slot-fill/utils/index.js +0 -9
- package/lib/slot-fill/utils/index.js.map +0 -1
package/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{Fill,Slot,Provider as SlotFillProvider,createSlotFill}from'./slot-fill/index.js';export{removeUniversalPortals}from'./slot-fill/utils/removeUniversalPortals.js';export{
|
|
1
|
+
export{Fill,Slot,Provider as SlotFillProvider,createSlotFill}from'./slot-fill/index.js';export{removeUniversalPortals}from'./slot-fill/utils/removeUniversalPortals.js';export{renderedFillsPath,resetRenderedFills}from'./plugin/reset-rendered-fills.js';export{default as __experimentalUseSlot}from'./slot-fill/bubbles-virtually/use-slot.js';//# sourceMappingURL=index.js.map
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const DynamicRender: ({ renderImporter, ...props }: {
|
|
2
|
+
export declare const DynamicRender: ({ renderImporter, registerPluginData, loadPluginData, loaderContext, ...props }: {
|
|
3
3
|
[x: string]: any;
|
|
4
4
|
renderImporter: any;
|
|
5
|
+
registerPluginData: any;
|
|
6
|
+
loadPluginData: any;
|
|
7
|
+
loaderContext: any;
|
|
5
8
|
}) => React.JSX.Element;
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
-
import React__default,{
|
|
2
|
-
|
|
3
|
-
useEffect(() => {
|
|
4
|
-
if (renderImporter) {
|
|
5
|
-
renderImporter()
|
|
6
|
-
.then((module) => {
|
|
7
|
-
const ImportedComponent = module.default;
|
|
8
|
-
setComponent(() => ImportedComponent);
|
|
9
|
-
})
|
|
10
|
-
.catch((error) => {
|
|
11
|
-
console.error(`Failed to load component from ${renderImporter}:`, error);
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}, [renderImporter]);
|
|
15
|
-
if (!Component) {
|
|
1
|
+
import React__default,{lazy,Suspense}from'react';const DynamicRender = ({ renderImporter, registerPluginData, loadPluginData, loaderContext, ...props }) => {
|
|
2
|
+
if (!renderImporter) {
|
|
16
3
|
return React__default.createElement(React__default.Fragment, null);
|
|
17
4
|
}
|
|
18
|
-
|
|
5
|
+
// Create a lazy-loaded component from the importer
|
|
6
|
+
const LazyComponent = lazy(async () => {
|
|
7
|
+
try {
|
|
8
|
+
const module = await renderImporter();
|
|
9
|
+
let loaderData = {};
|
|
10
|
+
if (module.loader && typeof module.loader === 'function') {
|
|
11
|
+
if (typeof window === 'undefined' && loaderContext) {
|
|
12
|
+
loaderData = await module.loader(loaderContext);
|
|
13
|
+
registerPluginData(loaderData);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
loaderData = loadPluginData();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
// Create a wrapper component that includes the loader data
|
|
20
|
+
const WrappedComponent = (componentProps) => {
|
|
21
|
+
return React__default.createElement(module.default, { ...componentProps, loaderData: loaderData });
|
|
22
|
+
};
|
|
23
|
+
return { default: WrappedComponent };
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.error(`Failed to load component from ${renderImporter}:`, error);
|
|
27
|
+
return { default: () => React__default.createElement(React__default.Fragment, null) };
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
return (React__default.createElement(Suspense, { fallback: React__default.createElement(React__default.Fragment, null) },
|
|
31
|
+
React__default.createElement(LazyComponent, { ...props })));
|
|
19
32
|
};export{DynamicRender};//# sourceMappingURL=dynamic-render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-render.js","sources":["../../src/plugin/dynamic-render.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dynamic-render.js","sources":["../../src/plugin/dynamic-render.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"iDAEa,MAAA,aAAa,GAAG,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,KAAI;IAC7G,IAAI,CAAC,cAAc,EAAE;AACjB,QAAA,OAAOA,2DAAK,CAAC;KAChB;;AAGD,IAAA,MAAM,aAAa,GAAG,IAAI,CAAC,YAAW;AAClC,QAAA,IAAI;AACA,YAAA,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;YACtC,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;AACtD,gBAAA,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,aAAa,EAAE;oBAChD,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBAChD,kBAAkB,CAAC,UAAU,CAAC,CAAC;iBAClC;qBAAM;oBACH,UAAU,GAAG,cAAc,EAAE,CAAC;iBACjC;aACJ;;AAGD,YAAA,MAAM,gBAAgB,GAAG,CAAC,cAAc,KAAI;gBACxC,OAAOA,cAAA,CAAA,aAAA,CAAC,MAAM,CAAC,OAAO,EAAA,EAAA,GAAK,cAAc,EAAE,UAAU,EAAE,UAAU,EAAA,CAAI,CAAC;AAC1E,aAAC,CAAC;AAEF,YAAA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,CAAA,8BAAA,EAAiC,cAAc,CAAG,CAAA,CAAA,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,EAAE,MAAMA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAK,EAAE,CAAC;SACnC;AACL,KAAC,CAAC,CAAC;AAEH,IAAA,QACIA,cAAC,CAAA,aAAA,CAAA,QAAQ,EAAC,EAAA,QAAQ,EAAEA,cAAK,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,EAAA;AACrB,QAAAA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA,CACrB,EACb;AACN"}
|
package/lib/plugin/index.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { PluginsLoader } from './loader';
|
|
1
|
+
export * from './reset-rendered-fills';
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
children: any;
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { IExtendedFill, IProviderState, Name } from '../slot-fill/interfaces';
|
|
3
|
+
interface ChildrenRenderProps {
|
|
4
|
+
children: ReactNode | ((props: any) => ReactNode);
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
export declare const ChildrenRender: React.FC<ChildrenRenderProps>;
|
|
8
|
+
interface PluginRenderProps extends Partial<IProviderState> {
|
|
9
|
+
fills: IExtendedFill[];
|
|
10
|
+
name: Name;
|
|
11
|
+
[key: string]: any;
|
|
12
|
+
}
|
|
13
|
+
export declare const PluginRender: React.FC<PluginRenderProps>;
|
|
14
|
+
export {};
|
|
@@ -1,38 +1,47 @@
|
|
|
1
|
-
import React__default,{
|
|
2
|
-
|
|
1
|
+
import React__default,{useCallback}from'react';import {DynamicRender}from'./dynamic-render.js';const ChildrenRender = ({ children, ...props }) => {
|
|
2
|
+
const renderChildren = (props) => {
|
|
3
|
+
if (typeof children === 'function') {
|
|
4
|
+
return children(props);
|
|
5
|
+
}
|
|
6
|
+
return children;
|
|
7
|
+
};
|
|
8
|
+
return React__default.createElement(React__default.Fragment, null, renderChildren(props));
|
|
3
9
|
};
|
|
4
10
|
const PluginRender = (props) => {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const FillRender = ({ fill, registerRenderedFill, loadRenderedFill, loaderContext, ...fillProps }) => {
|
|
12
|
+
console.log('FillRender >>>', fillProps.name, fill);
|
|
13
|
+
const registerPluginData = useCallback((loaderData) => {
|
|
14
|
+
registerRenderedFill?.(fillProps.name, fill.index, loaderData);
|
|
15
|
+
}, [registerRenderedFill, fillProps.name, fill.index]);
|
|
16
|
+
const loadPluginData = useCallback(() => {
|
|
17
|
+
return loadRenderedFill?.(fillProps.name, fill.index);
|
|
18
|
+
}, [loadRenderedFill, fillProps.name, fill.index]);
|
|
19
|
+
if (fill.renderImporter) {
|
|
20
|
+
return (React__default.createElement(DynamicRender, { ...fillProps, renderImporter: fill.renderImporter, registerPluginData: registerPluginData, loadPluginData: loadPluginData, loaderContext: loaderContext }));
|
|
14
21
|
}
|
|
15
|
-
else if (
|
|
22
|
+
else if (fill.render) {
|
|
16
23
|
let children = null;
|
|
17
24
|
try {
|
|
18
|
-
const FillComponent =
|
|
19
|
-
|
|
25
|
+
const FillComponent = fill.render(null);
|
|
26
|
+
if (React__default.isValidElement(FillComponent)) {
|
|
27
|
+
children = FillComponent.props.children;
|
|
28
|
+
}
|
|
20
29
|
}
|
|
21
30
|
catch (error) {
|
|
22
31
|
console.error('Error in PluginRender', error);
|
|
23
32
|
}
|
|
24
33
|
if (children) {
|
|
25
|
-
return React__default.createElement(ChildrenRender, { ...
|
|
34
|
+
return React__default.createElement(ChildrenRender, { ...fillProps, children: children });
|
|
26
35
|
}
|
|
27
36
|
}
|
|
28
37
|
else if (fill.children) {
|
|
29
|
-
return React__default.createElement(ChildrenRender, { ...
|
|
38
|
+
return React__default.createElement(ChildrenRender, { ...fillProps, children: fill.children });
|
|
30
39
|
}
|
|
31
40
|
return React__default.createElement(React__default.Fragment, null);
|
|
32
41
|
};
|
|
33
42
|
return (React__default.createElement(React__default.Fragment, null, props.fills.map((fill, i) => {
|
|
34
43
|
if (typeof window === 'undefined') {
|
|
35
|
-
return (React__default.createElement("div", { key: i, "data-slot-name": `slot-${props.name}` },
|
|
44
|
+
return (React__default.createElement("div", { key: i, "data-slot-name": `slot-${String(props.name)}` },
|
|
36
45
|
React__default.createElement(FillRender, { fill: fill, ...props })));
|
|
37
46
|
}
|
|
38
47
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-render.js","sources":["../../src/plugin/plugin-render.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"plugin-render.js","sources":["../../src/plugin/plugin-render.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reset-rendered-fills.js","sources":["../../src/plugin/reset-rendered-fills.ts"],"sourcesContent":[null],"names":[],"mappings":"mBACO,MAAM,iBAAiB,GAAG,4BAA4B;AAEhD,MAAA,kBAAkB,GAAG,CAAC,IAAY,KAAI;AAC/C,IAAA,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD"}
|
|
@@ -7,5 +7,8 @@ import*as React from'react';const SlotFillContext = React.createContext({
|
|
|
7
7
|
getFills: () => ([]),
|
|
8
8
|
hasFills: () => false,
|
|
9
9
|
subscribe: () => { },
|
|
10
|
+
registerRenderedFill: () => { },
|
|
11
|
+
loadRenderedFill: () => { },
|
|
12
|
+
loaderContext: null,
|
|
10
13
|
});
|
|
11
14
|
const { Provider, Consumer } = SlotFillContext;export{Consumer,Provider,SlotFillContext as default};//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../src/slot-fill/base/context.tsx"],"sourcesContent":[null],"names":[],"mappings":"4BAGA,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAkB;AAC3D,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,cAAc,EAAE,MAAK,GAAG;AACxB,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,cAAc,EAAE,MAAK,GAAG;AACxB,IAAA,OAAO,EAAE,OAAO,EAAE,CAAQ;AAC1B,IAAA,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpB,IAAA,QAAQ,EAAE,MAAM,KAAK;AACrB,IAAA,SAAS,EAAE,MAAK,GAAG;AACpB,CAAA,EAAE;AACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG"}
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/slot-fill/base/context.tsx"],"sourcesContent":[null],"names":[],"mappings":"4BAGA,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAkB;AAC3D,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,cAAc,EAAE,MAAK,GAAG;AACxB,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,cAAc,EAAE,MAAK,GAAG;AACxB,IAAA,OAAO,EAAE,OAAO,EAAE,CAAQ;AAC1B,IAAA,QAAQ,EAAE,OAAO,EAAE,CAAC;AACpB,IAAA,QAAQ,EAAE,MAAM,KAAK;AACrB,IAAA,SAAS,EAAE,MAAK,GAAG;AACnB,IAAA,oBAAoB,EAAE,MAAK,GAAG;AAC9B,IAAA,gBAAgB,EAAE,MAAK,GAAG;AAC1B,IAAA,aAAa,EAAE,IAAI;AACpB,CAAA,EAAE;AACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG"}
|
|
@@ -2,6 +2,9 @@ import React, { ReactNode } from 'react';
|
|
|
2
2
|
interface SlotFillProviderProps {
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
context?: any;
|
|
5
|
+
loaderContext?: any;
|
|
6
|
+
renderedFillsPath?: string;
|
|
7
|
+
renderedFillsJson?: any;
|
|
5
8
|
}
|
|
6
9
|
declare const SlotFillProvider: React.FC<SlotFillProviderProps>;
|
|
7
10
|
export default SlotFillProvider;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import React__default,{useRef,useCallback}from'react';import {sortBy}from'lodash-es';import {Provider}from'./context.js';const SlotFillProvider = ({ children, context }) => {
|
|
1
|
+
import React__default,{useRef,useEffect,useCallback}from'react';import {sortBy}from'lodash-es';import {Provider}from'./context.js';import fs from'fs';import path from'path';const SlotFillProvider = ({ children, context, loaderContext, renderedFillsPath, renderedFillsJson }) => {
|
|
2
2
|
const slots = useRef({});
|
|
3
3
|
const fills = useRef({});
|
|
4
4
|
const listeners = useRef([]);
|
|
5
5
|
const returnValue = useRef(context);
|
|
6
|
+
const renderedFills = useRef({});
|
|
7
|
+
// Load renderedFills from file on initialization (server-side only)
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
renderedFills.current = renderedFillsJson;
|
|
10
|
+
console.log('Loaded renderedFills from file:', renderedFills.current);
|
|
11
|
+
}, [renderedFillsJson]);
|
|
6
12
|
const forceUpdateSlot = useCallback((name) => {
|
|
7
13
|
const slot = slots.current[name];
|
|
8
14
|
if (slot && typeof slot.forceUpdate === 'function') {
|
|
@@ -60,6 +66,33 @@ import React__default,{useRef,useCallback}from'react';import {sortBy}from'lodash
|
|
|
60
66
|
listeners.current = listeners.current.filter((l) => l !== listener);
|
|
61
67
|
};
|
|
62
68
|
}, []);
|
|
69
|
+
const registerRenderedFill = useCallback((name, index, loaderData) => {
|
|
70
|
+
renderedFills.current[`${name}-${index}`] = { name, index, loaderData };
|
|
71
|
+
if (typeof window === 'undefined' && fs) {
|
|
72
|
+
try {
|
|
73
|
+
// Ensure directory exists
|
|
74
|
+
const dir = path.dirname(renderedFillsPath);
|
|
75
|
+
if (!fs.existsSync(dir)) {
|
|
76
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
77
|
+
}
|
|
78
|
+
// Write to file
|
|
79
|
+
fs.writeFileSync(renderedFillsPath, JSON.stringify(renderedFills.current, null, 2));
|
|
80
|
+
console.log(`Saved renderedFills to ${renderedFillsPath}`);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('Error writing renderedFills to file:', error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
triggerListeners();
|
|
87
|
+
}, [triggerListeners, renderedFillsPath]);
|
|
88
|
+
const loadRenderedFill = useCallback((name, index) => {
|
|
89
|
+
// Client-side: first check if we have it in memory
|
|
90
|
+
const key = `${name}-${index}`;
|
|
91
|
+
if (renderedFills.current[key]) {
|
|
92
|
+
return renderedFills.current[key].loaderData;
|
|
93
|
+
}
|
|
94
|
+
return null;
|
|
95
|
+
}, []);
|
|
63
96
|
const contextValue = {
|
|
64
97
|
registerSlot,
|
|
65
98
|
unregisterSlot,
|
|
@@ -69,6 +102,9 @@ import React__default,{useRef,useCallback}from'react';import {sortBy}from'lodash
|
|
|
69
102
|
getFills,
|
|
70
103
|
hasFills,
|
|
71
104
|
subscribe,
|
|
105
|
+
registerRenderedFill,
|
|
106
|
+
loadRenderedFill,
|
|
107
|
+
loaderContext,
|
|
72
108
|
};
|
|
73
109
|
if (context) {
|
|
74
110
|
returnValue.current = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../../src/slot-fill/base/provider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider.js","sources":["../../../src/slot-fill/base/provider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React__default,{useRef,useState,useEffect,useCallback}from'react';import {Consumer}from'./context.js';import {PluginRender}from'../../plugin/plugin-render.js';const SlotComponent = (props) => {
|
|
2
|
-
const { registerSlot, unregisterSlot, getFills, serverMode, name, fillProps = {}, children } = props;
|
|
2
|
+
const { registerSlot, unregisterSlot, getFills, registerRenderedFill, loadRenderedFill, loaderContext, serverMode, name, fillProps = {}, children } = props;
|
|
3
3
|
const nodeRef = useRef(null);
|
|
4
4
|
const isUnmountedRef = useRef(false);
|
|
5
5
|
const [_, setState] = useState({});
|
|
@@ -49,14 +49,14 @@ import React__default,{useRef,useState,useEffect,useCallback}from'react';import
|
|
|
49
49
|
// );
|
|
50
50
|
const fills = getFills(name);
|
|
51
51
|
if (fills.length > 0) {
|
|
52
|
-
return React__default.createElement(PluginRender, { ...fillProps, name: name, fills: fills });
|
|
52
|
+
return (React__default.createElement(PluginRender, { ...fillProps, name: name, fills: fills, registerRenderedFill: registerRenderedFill, loadRenderedFill: loadRenderedFill, loaderContext: loaderContext }));
|
|
53
53
|
}
|
|
54
54
|
return null;
|
|
55
55
|
};
|
|
56
56
|
const Slot = (props) => {
|
|
57
57
|
const serverMode = (typeof window === 'undefined');
|
|
58
|
-
return (React__default.createElement(Consumer, null, ({ registerSlot, unregisterSlot, getFills }) => (React__default.createElement(SlotComponent, { ...props,
|
|
58
|
+
return (React__default.createElement(Consumer, null, ({ registerSlot, unregisterSlot, getFills, registerRenderedFill, loadRenderedFill, loaderContext }) => (React__default.createElement(SlotComponent, { ...props,
|
|
59
59
|
// We need to add id to fillProps with slot name,
|
|
60
60
|
// so that we can use it when remove the component during hydration.
|
|
61
|
-
getFills: getFills, registerSlot: registerSlot, unregisterSlot: unregisterSlot, serverMode: serverMode }))));
|
|
61
|
+
getFills: getFills, registerSlot: registerSlot, unregisterSlot: unregisterSlot, serverMode: serverMode, registerRenderedFill: registerRenderedFill, loadRenderedFill: loadRenderedFill, loaderContext: loaderContext }))));
|
|
62
62
|
};export{Slot as default};//# sourceMappingURL=slot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot.js","sources":["../../../src/slot-fill/base/slot.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"sKAUA,MAAM,aAAa,GAA6B,CAAC,KAAK,KAAI;
|
|
1
|
+
{"version":3,"file":"slot.js","sources":["../../../src/slot-fill/base/slot.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"sKAUA,MAAM,aAAa,GAA6B,CAAC,KAAK,KAAI;IACtD,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;AAC5J,IAAA,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAC7C,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEnC,SAAS,CAAC,MAAK;QACX,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACvC;AACD,QAAA,OAAO,MAAK;AACR,YAAA,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,YAAA,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAC,CAAC;KACL,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;AAErD,IAAoB,WAAW,CAAC,MAAK;AACjC,QAAA,IAAI,cAAc,CAAC,OAAO,EAAE;YACxB,OAAO;SACV;QACD,IAAI,CAAC,UAAU,EAAE;;AAEb,YAAA,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAA,iBAAA,CAAmB,CAAC,CAAC;YACjD,QAAQ,CAAC,EAAE,CAAC,CAAC;SAChB;AACL,KAAC,EAAE,CAAC,UAAU,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCjB,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAClB,QACIA,cAAC,CAAA,aAAA,CAAA,YAAY,EACL,EAAA,GAAA,SAAS,EACb,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAwB,EAC/B,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC9B,CAAA,EACJ;KACL;AAED,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,KAAiB,KAAI;IAC/B,MAAM,UAAU,IAAI,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC;IACnD,QACIA,cAAC,CAAA,aAAA,CAAA,QAAQ,EACJ,IAAA,EAAA,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAC/FA,cAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EAAA,GACN,KAAK;;;AAGT,QAAA,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAAA,CAC9B,CACL,CACM,EACb;AACN"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactNode, Component } from 'react';
|
|
2
|
+
import { IPlugin } from '@common-stack/client-react';
|
|
2
3
|
export type Name = string | Symbol;
|
|
3
4
|
export interface IFillProps {
|
|
4
5
|
name: Name;
|
|
@@ -22,6 +23,9 @@ export interface IProviderState {
|
|
|
22
23
|
getFills: (a: Name, b?: any) => IFill[] | [];
|
|
23
24
|
hasFills: (a: Name) => boolean;
|
|
24
25
|
subscribe: (listener: any) => void;
|
|
26
|
+
registerRenderedFill: (a: Name, b: number, c: any) => void;
|
|
27
|
+
loadRenderedFill: (a: Name, b: number) => any;
|
|
28
|
+
loaderContext: any;
|
|
25
29
|
}
|
|
26
30
|
export type IReactContext = Omit<Partial<IProviderState>, 'registerSlot'> & {
|
|
27
31
|
slots?: any;
|
|
@@ -82,3 +86,7 @@ export interface ISlotProps {
|
|
|
82
86
|
*/
|
|
83
87
|
serverMode?: boolean;
|
|
84
88
|
}
|
|
89
|
+
export interface IExtendedFill extends IPlugin {
|
|
90
|
+
index?: number;
|
|
91
|
+
children?: ReactNode | any;
|
|
92
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/components-pro",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.1-alpha.0",
|
|
4
4
|
"description": "browser plugin for git",
|
|
5
5
|
"homepage": "https://github.com/cdmbase/fullstack-pro#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"typescript": {
|
|
54
54
|
"definition": "lib/index.d.ts"
|
|
55
55
|
},
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "93027005d418b28138e303fe77d1857867564bd8"
|
|
57
57
|
}
|
package/lib/index.server.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './plugin/middleware';
|
package/lib/index.server.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{middleware}from'./plugin/middleware.js';//# sourceMappingURL=index.server.js.map
|
package/lib/index.server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.server.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/lib/plugin/context.d.ts
DELETED
package/lib/plugin/context.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import*as React from'react';const FillRenderContext = React.createContext(null);export{FillRenderContext as default};//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../src/plugin/context.tsx"],"sourcesContent":[null],"names":[],"mappings":"4BAMM,MAAA,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAA4B,IAAI"}
|
package/lib/plugin/loader.d.ts
DELETED
package/lib/plugin/loader.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
async function PluginsLoader(plugins, loaderContext) {
|
|
2
|
-
const loadedPlugins = await Promise.all(plugins.map(async (plugin) => {
|
|
3
|
-
try {
|
|
4
|
-
if (plugin.renderImporter) {
|
|
5
|
-
const module = await plugin.renderImporter();
|
|
6
|
-
const ImportedComponent = module.default;
|
|
7
|
-
if (module.loader && typeof module.loader === 'function') {
|
|
8
|
-
const loaderData = await module.loader(loaderContext);
|
|
9
|
-
return { ...plugin, Component: ImportedComponent, loaderData };
|
|
10
|
-
}
|
|
11
|
-
return { ...plugin, Component: ImportedComponent };
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
catch (error) {
|
|
15
|
-
console.error('Error in PluginsLoader', error);
|
|
16
|
-
}
|
|
17
|
-
return plugin;
|
|
18
|
-
}));
|
|
19
|
-
return loadedPlugins;
|
|
20
|
-
}export{PluginsLoader};//# sourceMappingURL=loader.js.map
|
package/lib/plugin/loader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sources":["../../src/plugin/loader.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,eAAe,aAAa,CAAC,OAAc,EAAE,aAAsF,EAAA;AACtI,IAAA,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAW,KAAI;AAC9B,QAAA,IAAI;AACA,YAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACvB,gBAAA,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;AAC7C,gBAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;gBAEzC,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;oBACtD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACtD,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;iBAClE;gBACD,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;aACtD;SACJ;QAAC,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SAClD;AACD,QAAA,OAAO,MAAM,CAAC;KACjB,CAAC,CACL,CAAC;AACF,IAAA,OAAO,aAAa,CAAC;AACzB"}
|
package/lib/plugin/middleware.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const middleware = async ({ context }, dataLoader, next) => {
|
|
2
|
-
const { modules } = context;
|
|
3
|
-
try {
|
|
4
|
-
const plugins = modules.getComponentFillPlugins();
|
|
5
|
-
const loadedPlugins = await Promise.all(plugins.map(async (plugin) => {
|
|
6
|
-
if (plugin.renderImporter) {
|
|
7
|
-
const module = await plugin.renderImporter();
|
|
8
|
-
const ImportedComponent = module.default;
|
|
9
|
-
return { ...plugin, Component: ImportedComponent };
|
|
10
|
-
}
|
|
11
|
-
return plugin;
|
|
12
|
-
}));
|
|
13
|
-
dataLoader.loadedPlugins = loadedPlugins;
|
|
14
|
-
}
|
|
15
|
-
catch (error) {
|
|
16
|
-
console.error(error, 'Error with plugin middleware');
|
|
17
|
-
}
|
|
18
|
-
await next();
|
|
19
|
-
};export{middleware};//# sourceMappingURL=middleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sources":["../../src/plugin/middleware.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEO,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,KAAI;AAC9D,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAA0B,CAAC;AAE/C,IAAA,IAAI;AACA,QAAA,MAAM,OAAO,GAAI,OAAe,CAAC,uBAAuB,EAAE,CAAC;AAC3D,QAAA,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAW,KAAI;AAC9B,YAAA,IAAI,MAAM,CAAC,cAAc,EAAE;AACvB,gBAAA,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;AAC7C,gBAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzC,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;aACtD;AACD,YAAA,OAAO,MAAM,CAAC;SACjB,CAAC,CACL,CAAC;AACF,QAAA,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;KAC5C;IAAC,OAAO,KAAK,EAAE;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;KACxD;IACD,MAAM,IAAI,EAAE,CAAC;AACjB"}
|
package/lib/plugin/provider.d.ts
DELETED
package/lib/plugin/provider.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React__default from'react';import {useLoaderData}from'@remix-run/react';import FillRenderContext from'./context.js';const FillRenderProvider = ({ children }) => {
|
|
2
|
-
const { loadedPlugins } = useLoaderData();
|
|
3
|
-
return React__default.createElement(FillRenderContext.Provider, { value: loadedPlugins }, children);
|
|
4
|
-
};export{FillRenderProvider as default};//# sourceMappingURL=provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sources":["../../src/plugin/provider.tsx"],"sourcesContent":[null],"names":["React"],"mappings":"2HAQA,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,KAAI;AAC3E,IAAA,MAAM,EAAE,aAAa,EAAE,GAAQ,aAAa,EAAE,CAAC;IAE/C,OAAOA,cAAA,CAAA,aAAA,CAAC,iBAAiB,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAG,aAAa,EAAA,EAAI,QAAQ,CAA8B,CAAC;AACvG"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Whether the argument is a function.
|
|
3
|
-
*
|
|
4
|
-
* @param {*} maybeFunc The argument to check.
|
|
5
|
-
* @returns {boolean} True if the argument is a function, false otherwise.
|
|
6
|
-
*/
|
|
7
|
-
function isFunction(maybeFunc) {
|
|
8
|
-
return typeof maybeFunc === 'function';
|
|
9
|
-
}export{isFunction};//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/slot-fill/utils/index.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA;;;;;AAKG;AACG,SAAU,UAAU,CAAC,SAAc,EAAA;AACrC,IAAA,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C"}
|