@jfdevelops/react-layout 1.6.1 → 2.1.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/dist/create-config/create-defined-resource-layout.cjs +26 -14
- package/dist/create-config/create-defined-resource-layout.cjs.map +1 -1
- package/dist/create-config/create-defined-resource-layout.d.cts +12 -6
- package/dist/create-config/create-defined-resource-layout.d.cts.map +1 -1
- package/dist/create-config/create-defined-resource-layout.d.mts +12 -6
- package/dist/create-config/create-defined-resource-layout.d.mts.map +1 -1
- package/dist/create-config/create-defined-resource-layout.mjs +27 -15
- package/dist/create-config/create-defined-resource-layout.mjs.map +1 -1
- package/dist/create-config/define-layout.cjs +129 -58
- package/dist/create-config/define-layout.cjs.map +1 -1
- package/dist/create-config/define-layout.d.cts +9 -13
- package/dist/create-config/define-layout.d.cts.map +1 -1
- package/dist/create-config/define-layout.d.mts +9 -13
- package/dist/create-config/define-layout.d.mts.map +1 -1
- package/dist/create-config/define-layout.mjs +130 -59
- package/dist/create-config/define-layout.mjs.map +1 -1
- package/dist/create-config/for-resources/create-component.d.cts +62 -38
- package/dist/create-config/for-resources/create-component.d.cts.map +1 -1
- package/dist/create-config/for-resources/create-component.d.mts +62 -38
- package/dist/create-config/for-resources/create-component.d.mts.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.cjs +88 -12
- package/dist/create-config/for-resources/create-for-resources.cjs.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.mjs +88 -12
- package/dist/create-config/for-resources/create-for-resources.mjs.map +1 -1
- package/dist/create-config/for-resources/scoped-layout.d.cts +2 -2
- package/dist/create-config/for-resources/scoped-layout.d.cts.map +1 -1
- package/dist/create-config/for-resources/scoped-layout.d.mts +2 -2
- package/dist/create-config/for-resources/scoped-layout.d.mts.map +1 -1
- package/dist/create-config/for-resources/scoped-render.cjs +39 -4
- package/dist/create-config/for-resources/scoped-render.cjs.map +1 -1
- package/dist/create-config/for-resources/scoped-render.d.cts +8 -1
- package/dist/create-config/for-resources/scoped-render.d.cts.map +1 -1
- package/dist/create-config/for-resources/scoped-render.d.mts +8 -1
- package/dist/create-config/for-resources/scoped-render.d.mts.map +1 -1
- package/dist/create-config/for-resources/scoped-render.mjs +39 -4
- package/dist/create-config/for-resources/scoped-render.mjs.map +1 -1
- package/dist/create-config/index.d.cts +3 -2
- package/dist/create-config/index.d.mts +3 -2
- package/dist/create-config/layout-name.cjs +1 -1
- package/dist/create-config/layout-name.mjs +1 -1
- package/dist/create-config/lazy-resource-layout.cjs +70 -86
- package/dist/create-config/lazy-resource-layout.cjs.map +1 -1
- package/dist/create-config/lazy-resource-layout.d.cts +9 -31
- package/dist/create-config/lazy-resource-layout.d.cts.map +1 -1
- package/dist/create-config/lazy-resource-layout.d.mts +9 -31
- package/dist/create-config/lazy-resource-layout.d.mts.map +1 -1
- package/dist/create-config/lazy-resource-layout.mjs +70 -86
- package/dist/create-config/lazy-resource-layout.mjs.map +1 -1
- package/dist/create-config/preview.cjs +1 -1
- package/dist/create-config/preview.d.cts +2 -0
- package/dist/create-config/preview.d.cts.map +1 -1
- package/dist/create-config/preview.d.mts +2 -0
- package/dist/create-config/preview.d.mts.map +1 -1
- package/dist/create-config/preview.mjs +1 -1
- package/dist/create-config/render-state-context.cjs +24 -0
- package/dist/create-config/render-state-context.cjs.map +1 -0
- package/dist/create-config/render-state-context.mjs +22 -0
- package/dist/create-config/render-state-context.mjs.map +1 -0
- package/dist/create-config/render-state.cjs +58 -18
- package/dist/create-config/render-state.cjs.map +1 -1
- package/dist/create-config/render-state.d.cts +44 -21
- package/dist/create-config/render-state.d.cts.map +1 -1
- package/dist/create-config/render-state.d.mts +44 -21
- package/dist/create-config/render-state.d.mts.map +1 -1
- package/dist/create-config/render-state.mjs +55 -18
- package/dist/create-config/render-state.mjs.map +1 -1
- package/dist/create-config/state-composable.cjs +4 -2
- package/dist/create-config/state-composable.cjs.map +1 -1
- package/dist/create-config/state-composable.d.cts.map +1 -1
- package/dist/create-config/state-composable.d.mts.map +1 -1
- package/dist/create-config/state-composable.mjs +4 -2
- package/dist/create-config/state-composable.mjs.map +1 -1
- package/dist/errors/lazy-resource-error.cjs +37 -0
- package/dist/errors/lazy-resource-error.cjs.map +1 -0
- package/dist/errors/lazy-resource-error.d.cts +26 -0
- package/dist/errors/lazy-resource-error.d.cts.map +1 -0
- package/dist/errors/lazy-resource-error.d.mts +26 -0
- package/dist/errors/lazy-resource-error.d.mts.map +1 -0
- package/dist/errors/lazy-resource-error.mjs +35 -0
- package/dist/errors/lazy-resource-error.mjs.map +1 -0
- package/dist/errors/react-layout-error.cjs +1 -1
- package/dist/errors/react-layout-error.mjs +1 -1
- package/dist/errors/resource-state-error.cjs +4 -1
- package/dist/errors/resource-state-error.cjs.map +1 -1
- package/dist/errors/resource-state-error.d.cts +1 -0
- package/dist/errors/resource-state-error.d.cts.map +1 -1
- package/dist/errors/resource-state-error.d.mts +1 -0
- package/dist/errors/resource-state-error.d.mts.map +1 -1
- package/dist/errors/resource-state-error.mjs +4 -1
- package/dist/errors/resource-state-error.mjs.map +1 -1
- package/dist/index.cjs +6 -2
- package/dist/index.d.cts +9 -5
- package/dist/index.d.mts +9 -5
- package/dist/index.mjs +4 -3
- package/dist/lazy/create-lazy-loader.cjs +78 -0
- package/dist/lazy/create-lazy-loader.cjs.map +1 -0
- package/dist/lazy/create-lazy-loader.d.cts +19 -0
- package/dist/lazy/create-lazy-loader.d.cts.map +1 -0
- package/dist/lazy/create-lazy-loader.d.mts +19 -0
- package/dist/lazy/create-lazy-loader.d.mts.map +1 -0
- package/dist/lazy/create-lazy-loader.mjs +78 -0
- package/dist/lazy/create-lazy-loader.mjs.map +1 -0
- package/dist/lazy/create-render-state.cjs +59 -0
- package/dist/lazy/create-render-state.cjs.map +1 -0
- package/dist/lazy/create-render-state.d.cts +33 -0
- package/dist/lazy/create-render-state.d.cts.map +1 -0
- package/dist/lazy/create-render-state.d.mts +33 -0
- package/dist/lazy/create-render-state.d.mts.map +1 -0
- package/dist/lazy/create-render-state.mjs +59 -0
- package/dist/lazy/create-render-state.mjs.map +1 -0
- package/dist/lazy/fallback-props.cjs +9 -0
- package/dist/lazy/fallback-props.cjs.map +1 -0
- package/dist/lazy/fallback-props.mjs +9 -0
- package/dist/lazy/fallback-props.mjs.map +1 -0
- package/dist/lazy/inspection.cjs +51 -0
- package/dist/lazy/inspection.cjs.map +1 -0
- package/dist/lazy/inspection.d.cts +28 -0
- package/dist/lazy/inspection.d.cts.map +1 -0
- package/dist/lazy/inspection.d.mts +28 -0
- package/dist/lazy/inspection.d.mts.map +1 -0
- package/dist/lazy/inspection.mjs +50 -0
- package/dist/lazy/inspection.mjs.map +1 -0
- package/dist/lazy/lazy-boundary.cjs +63 -0
- package/dist/lazy/lazy-boundary.cjs.map +1 -0
- package/dist/lazy/lazy-boundary.mjs +63 -0
- package/dist/lazy/lazy-boundary.mjs.map +1 -0
- package/dist/lazy/scoped-content.cjs +87 -0
- package/dist/lazy/scoped-content.cjs.map +1 -0
- package/dist/lazy/scoped-content.d.cts +19 -0
- package/dist/lazy/scoped-content.d.cts.map +1 -0
- package/dist/lazy/scoped-content.d.mts +19 -0
- package/dist/lazy/scoped-content.d.mts.map +1 -0
- package/dist/lazy/scoped-content.mjs +86 -0
- package/dist/lazy/scoped-content.mjs.map +1 -0
- package/dist/lazy/types.cjs +10 -0
- package/dist/lazy/types.cjs.map +1 -0
- package/dist/lazy/types.d.cts +40 -0
- package/dist/lazy/types.d.cts.map +1 -0
- package/dist/lazy/types.d.mts +40 -0
- package/dist/lazy/types.d.mts.map +1 -0
- package/dist/lazy/types.mjs +8 -0
- package/dist/lazy/types.mjs.map +1 -0
- package/dist/props.cjs +4 -2
- package/dist/props.cjs.map +1 -1
- package/dist/props.d.cts +6 -50
- package/dist/props.d.cts.map +1 -1
- package/dist/props.d.mts +6 -50
- package/dist/props.d.mts.map +1 -1
- package/dist/props.mjs +5 -2
- package/dist/props.mjs.map +1 -1
- package/dist/resource.cjs.map +1 -1
- package/dist/resource.d.cts +1 -1
- package/dist/resource.d.cts.map +1 -1
- package/dist/resource.d.mts +1 -1
- package/dist/resource.d.mts.map +1 -1
- package/dist/resource.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { LazyHandle, LazyOptions, LazyResourceErrorComponent, LazyResourceLoadingComponent, LazyResourceStates } from "../lazy/types.cjs";
|
|
2
|
+
import { LazyResourceLoadHooks } from "../lazy/create-lazy-loader.cjs";
|
|
1
3
|
import { ResourceDefinition, ResourcePath } from "../resource.cjs";
|
|
2
4
|
import { definedResourceLayoutComponentSymbol } from "./render-state.cjs";
|
|
3
5
|
import { ComponentProps, ComponentType } from "react";
|
|
@@ -17,38 +19,14 @@ type LazyUnsupportedStatic = 'makeComposable' | 'props' | 'resource' | typeof co
|
|
|
17
19
|
* and composition factories are intentionally omitted because they cannot be
|
|
18
20
|
* read synchronously without loading the module.
|
|
19
21
|
*/
|
|
20
|
-
type LazyResourceLayoutComponent<Module> = ComponentType<ComponentProps<DefinedLayoutFromModule<Module>>> & Pick<DefinedLayoutFromModule<Module>, Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>>;
|
|
21
|
-
/**
|
|
22
|
-
type
|
|
23
|
-
/**
|
|
24
|
-
* Component rendered when a resource module cannot be loaded. Calling
|
|
25
|
-
* `retry` discards React's rejected lazy cache entry and imports it again.
|
|
26
|
-
*/
|
|
27
|
-
type LazyResourceErrorComponent = ComponentType<{
|
|
28
|
-
error: unknown;
|
|
29
|
-
retry: () => void;
|
|
30
|
-
}>;
|
|
31
|
-
/** Loading and module-error UI used around a lazy resource component. */
|
|
32
|
-
type LazyResourceStates = {
|
|
33
|
-
Error?: LazyResourceErrorComponent;
|
|
34
|
-
Loading?: LazyResourceLoadingComponent;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Configuration for a lazy resource component. `resource` is checked against
|
|
38
|
-
* the bound resource paths, including dot-delimited subresources, and `load`
|
|
39
|
-
* must resolve to a module with exactly one created resource component.
|
|
40
|
-
*/
|
|
41
|
-
type LazyResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>> = {
|
|
42
|
-
load: () => Promise<Module>;
|
|
22
|
+
type LazyResourceLayoutComponent<Module> = ComponentType<ComponentProps<DefinedLayoutFromModule<Module>>> & LazyHandle & Pick<DefinedLayoutFromModule<Module>, Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>>;
|
|
23
|
+
/** Lazy resource options, sharing import and fallback semantics with lazy states. */
|
|
24
|
+
type LazyResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>> = LazyOptions<Module> & {
|
|
43
25
|
resource: ResourcePath<Resources>;
|
|
44
|
-
states?: LazyResourceStates
|
|
26
|
+
states?: LazyResourceStates<ResourcePath<Resources>>;
|
|
45
27
|
};
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
* state components. This is normally called through
|
|
49
|
-
* `defineResourceLayout.lazy(...)`, which supplies shared defaults.
|
|
50
|
-
*/
|
|
51
|
-
declare function createLazyResourceLayout<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>>(options: LazyResourceLayoutOptions<Resources, Module>, defaults: LazyResourceStates): LazyResourceLayoutComponent<Module>;
|
|
28
|
+
/** Cached resource component and its compound states, backed by the shared loader. */
|
|
29
|
+
declare function createLazyResourceLayout<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>>(options: LazyResourceLayoutOptions<Resources, Module>, defaults: LazyResourceStates<any>, hooks?: LazyResourceLoadHooks): LazyResourceLayoutComponent<Module>;
|
|
52
30
|
//#endregion
|
|
53
|
-
export {
|
|
31
|
+
export { LazyResourceLayoutComponent, LazyResourceLayoutOptions, createLazyResourceLayout };
|
|
54
32
|
//# sourceMappingURL=lazy-resource-layout.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-resource-layout.d.cts","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy-resource-layout.d.cts","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"mappings":";;;;;;;;KAsBK,sBAAA,GAAyB,aAAA;EAAA,UAClB,oCAAoC;AAAA;AAAA,KAG3C,mBAAA,WAA8B,MAAA,SAAe,sBAAA,GAC9C,MAAA,GACA,MAAA;EAAiB,IAAA,qBAAyB,sBAAA;AAAA,IACxC,IAAA;AAAA,KAGD,uBAAA,WAAkC,mBAAA,CACrC,MAAA,OAAa,MAAA;AAAA,KAGV,qBAAA,oDAIM,8BAAA,UACA,oCAAoC;;;;;;KAOnC,2BAAA,WAAsC,aAAA,CAChD,cAAA,CAAe,uBAAA,CAAwB,MAAA,MAEvC,UAAA,GACA,IAAA,CACE,uBAAA,CAAwB,MAAA,GACxB,OAAA,OAAc,uBAAA,CAAwB,MAAA,GAAS,qBAAA;;KAIvC,yBAAA,mBACQ,aAAA,CAAc,kBAAA,kBACjB,MAAA,qBACb,WAAA,CAAY,MAAA;EACd,QAAA,EAAU,YAAA,CAAa,SAAA;EACvB,MAAA,GAAS,kBAAA,CAAmB,YAAA,CAAa,SAAA;AAAA;;iBAwB3B,wBAAA,mBACI,aAAA,CAAc,kBAAA,kBACjB,MAAA,mBAEf,OAAA,EAAS,yBAAA,CAA0B,SAAA,EAAW,MAAA,GAC9C,QAAA,EAAU,kBAAA,OACV,KAAA,GAAO,qBAAA,GACN,2BAAA,CAA4B,MAAA"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { LazyHandle, LazyOptions, LazyResourceErrorComponent, LazyResourceLoadingComponent, LazyResourceStates } from "../lazy/types.mjs";
|
|
2
|
+
import { LazyResourceLoadHooks } from "../lazy/create-lazy-loader.mjs";
|
|
1
3
|
import { ResourceDefinition, ResourcePath } from "../resource.mjs";
|
|
2
4
|
import { definedResourceLayoutComponentSymbol } from "./render-state.mjs";
|
|
3
5
|
import { ComponentProps, ComponentType } from "react";
|
|
@@ -17,38 +19,14 @@ type LazyUnsupportedStatic = 'makeComposable' | 'props' | 'resource' | typeof co
|
|
|
17
19
|
* and composition factories are intentionally omitted because they cannot be
|
|
18
20
|
* read synchronously without loading the module.
|
|
19
21
|
*/
|
|
20
|
-
type LazyResourceLayoutComponent<Module> = ComponentType<ComponentProps<DefinedLayoutFromModule<Module>>> & Pick<DefinedLayoutFromModule<Module>, Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>>;
|
|
21
|
-
/**
|
|
22
|
-
type
|
|
23
|
-
/**
|
|
24
|
-
* Component rendered when a resource module cannot be loaded. Calling
|
|
25
|
-
* `retry` discards React's rejected lazy cache entry and imports it again.
|
|
26
|
-
*/
|
|
27
|
-
type LazyResourceErrorComponent = ComponentType<{
|
|
28
|
-
error: unknown;
|
|
29
|
-
retry: () => void;
|
|
30
|
-
}>;
|
|
31
|
-
/** Loading and module-error UI used around a lazy resource component. */
|
|
32
|
-
type LazyResourceStates = {
|
|
33
|
-
Error?: LazyResourceErrorComponent;
|
|
34
|
-
Loading?: LazyResourceLoadingComponent;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Configuration for a lazy resource component. `resource` is checked against
|
|
38
|
-
* the bound resource paths, including dot-delimited subresources, and `load`
|
|
39
|
-
* must resolve to a module with exactly one created resource component.
|
|
40
|
-
*/
|
|
41
|
-
type LazyResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>> = {
|
|
42
|
-
load: () => Promise<Module>;
|
|
22
|
+
type LazyResourceLayoutComponent<Module> = ComponentType<ComponentProps<DefinedLayoutFromModule<Module>>> & LazyHandle & Pick<DefinedLayoutFromModule<Module>, Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>>;
|
|
23
|
+
/** Lazy resource options, sharing import and fallback semantics with lazy states. */
|
|
24
|
+
type LazyResourceLayoutOptions<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>> = LazyOptions<Module> & {
|
|
43
25
|
resource: ResourcePath<Resources>;
|
|
44
|
-
states?: LazyResourceStates
|
|
26
|
+
states?: LazyResourceStates<ResourcePath<Resources>>;
|
|
45
27
|
};
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
* state components. This is normally called through
|
|
49
|
-
* `defineResourceLayout.lazy(...)`, which supplies shared defaults.
|
|
50
|
-
*/
|
|
51
|
-
declare function createLazyResourceLayout<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>>(options: LazyResourceLayoutOptions<Resources, Module>, defaults: LazyResourceStates): LazyResourceLayoutComponent<Module>;
|
|
28
|
+
/** Cached resource component and its compound states, backed by the shared loader. */
|
|
29
|
+
declare function createLazyResourceLayout<Resources extends ReadonlyArray<ResourceDefinition>, Module extends Record<string, unknown>>(options: LazyResourceLayoutOptions<Resources, Module>, defaults: LazyResourceStates<any>, hooks?: LazyResourceLoadHooks): LazyResourceLayoutComponent<Module>;
|
|
52
30
|
//#endregion
|
|
53
|
-
export {
|
|
31
|
+
export { LazyResourceLayoutComponent, LazyResourceLayoutOptions, createLazyResourceLayout };
|
|
54
32
|
//# sourceMappingURL=lazy-resource-layout.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-resource-layout.d.mts","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy-resource-layout.d.mts","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"mappings":";;;;;;;;KAsBK,sBAAA,GAAyB,aAAA;EAAA,UAClB,oCAAoC;AAAA;AAAA,KAG3C,mBAAA,WAA8B,MAAA,SAAe,sBAAA,GAC9C,MAAA,GACA,MAAA;EAAiB,IAAA,qBAAyB,sBAAA;AAAA,IACxC,IAAA;AAAA,KAGD,uBAAA,WAAkC,mBAAA,CACrC,MAAA,OAAa,MAAA;AAAA,KAGV,qBAAA,oDAIM,8BAAA,UACA,oCAAoC;;;;;;KAOnC,2BAAA,WAAsC,aAAA,CAChD,cAAA,CAAe,uBAAA,CAAwB,MAAA,MAEvC,UAAA,GACA,IAAA,CACE,uBAAA,CAAwB,MAAA,GACxB,OAAA,OAAc,uBAAA,CAAwB,MAAA,GAAS,qBAAA;;KAIvC,yBAAA,mBACQ,aAAA,CAAc,kBAAA,kBACjB,MAAA,qBACb,WAAA,CAAY,MAAA;EACd,QAAA,EAAU,YAAA,CAAa,SAAA;EACvB,MAAA,GAAS,kBAAA,CAAmB,YAAA,CAAa,SAAA;AAAA;;iBAwB3B,wBAAA,mBACI,aAAA,CAAc,kBAAA,kBACjB,MAAA,mBAEf,OAAA,EAAS,yBAAA,CAA0B,SAAA,EAAW,MAAA,GAC9C,QAAA,EAAU,kBAAA,OACV,KAAA,GAAO,qBAAA,GACN,2BAAA,CAA4B,MAAA"}
|
|
@@ -1,109 +1,93 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { LazyResourceModuleShapeError } from "../errors/lazy-resource-error.mjs";
|
|
2
|
+
import { LazyBoundary } from "../lazy/lazy-boundary.mjs";
|
|
3
|
+
import { createLazyLoader } from "../lazy/create-lazy-loader.mjs";
|
|
3
4
|
import { definedResourceLayoutComponentSymbol } from "./render-state.mjs";
|
|
4
|
-
import { Component, Suspense, lazy, useReducer, useRef } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import { componentPropDefinitionsSymbol } from "@jfdevelops/react-layout-validator";
|
|
7
7
|
|
|
8
8
|
//#region src/create-config/lazy-resource-layout.tsx
|
|
9
|
-
|
|
10
|
-
state = {};
|
|
11
|
-
static getDerivedStateFromError(error) {
|
|
12
|
-
return { error };
|
|
13
|
-
}
|
|
14
|
-
retry = () => {
|
|
15
|
-
this.props.onRetry();
|
|
16
|
-
this.setState({ error: void 0 });
|
|
17
|
-
};
|
|
18
|
-
render() {
|
|
19
|
-
if (this.state.error !== void 0) {
|
|
20
|
-
const { ErrorComponent } = this.props;
|
|
21
|
-
if (!ErrorComponent) throw this.state.error;
|
|
22
|
-
return /* @__PURE__ */ jsx(ErrorComponent, {
|
|
23
|
-
error: this.state.error,
|
|
24
|
-
retry: this.retry
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return this.props.children;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
function findDefinedLayoutComponent(module) {
|
|
9
|
+
function findDefinedLayoutComponent(module, resource) {
|
|
31
10
|
const components = Object.values(module).map((value) => typeof value === "object" && value !== null && "Root" in value ? value.Root : value).filter((value) => typeof value === "function" && definedResourceLayoutComponentSymbol in value);
|
|
32
|
-
if (components.length !== 1) throw new
|
|
11
|
+
if (components.length !== 1) throw new LazyResourceModuleShapeError(resource, components.length);
|
|
33
12
|
return components[0];
|
|
34
13
|
}
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
function createLazyResourceLayout(options, defaults) {
|
|
41
|
-
const runtimeOptions = options;
|
|
42
|
-
let loadedComponentPromise;
|
|
43
|
-
const stateComponents = /* @__PURE__ */ new Map();
|
|
44
|
-
const resolvedStates = {
|
|
14
|
+
/** Cached resource component and its compound states, backed by the shared loader. */
|
|
15
|
+
function createLazyResourceLayout(options, defaults, hooks = {}) {
|
|
16
|
+
const runtime = options;
|
|
17
|
+
const resource = runtime.resource;
|
|
18
|
+
const states = {
|
|
45
19
|
...defaults,
|
|
46
|
-
...
|
|
20
|
+
...runtime.states
|
|
47
21
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
stateComponents.clear();
|
|
57
|
-
}
|
|
58
|
-
function createMemberComponent(member) {
|
|
59
|
-
function createLazyComponent() {
|
|
60
|
-
return lazy(async () => {
|
|
61
|
-
const component = await loadComponent();
|
|
62
|
-
const selected = member === void 0 ? component : component[member];
|
|
63
|
-
if (typeof selected !== "function") throw new LayoutConfigurationError(`Lazy resource "${runtimeOptions.resource}" does not define state "${String(member)}"`);
|
|
64
|
-
return { default: selected };
|
|
65
|
-
});
|
|
66
|
-
}
|
|
22
|
+
const loader = createLazyLoader({
|
|
23
|
+
load: runtime.load,
|
|
24
|
+
select: (module) => findDefinedLayoutComponent(module, resource),
|
|
25
|
+
label: resource,
|
|
26
|
+
hooks
|
|
27
|
+
});
|
|
28
|
+
const members = /* @__PURE__ */ new Map();
|
|
29
|
+
function createMember(member) {
|
|
67
30
|
function LazyMember(props) {
|
|
68
|
-
const
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return /* @__PURE__ */ jsx(LazyResourceErrorBoundary, {
|
|
78
|
-
ErrorComponent: resolvedStates.Error,
|
|
79
|
-
onRetry: retry,
|
|
80
|
-
children: /* @__PURE__ */ jsx(Suspense, {
|
|
81
|
-
fallback: LoadingComponent ? /* @__PURE__ */ jsx(LoadingComponent, {}) : null,
|
|
82
|
-
children: /* @__PURE__ */ jsx(CurrentLazyComponent, { ...props })
|
|
83
|
-
})
|
|
31
|
+
const Loading = states.Loading;
|
|
32
|
+
return /* @__PURE__ */ jsx(LazyBoundary, {
|
|
33
|
+
loader,
|
|
34
|
+
member,
|
|
35
|
+
resource,
|
|
36
|
+
componentProps: props,
|
|
37
|
+
ErrorComponent: states.Error,
|
|
38
|
+
onMount: hooks.onMount,
|
|
39
|
+
fallback: runtime.fallback !== void 0 ? runtime.fallback : Loading ? /* @__PURE__ */ jsx(Loading, { resource }) : null
|
|
84
40
|
});
|
|
85
41
|
}
|
|
86
|
-
|
|
87
|
-
|
|
42
|
+
LazyMember.displayName = `LazyResource(${resource})${member ? `.${member}` : ""}`;
|
|
43
|
+
Object.defineProperties(LazyMember, {
|
|
44
|
+
preload: { value: loader.preload },
|
|
45
|
+
status: { get: () => loader.status }
|
|
46
|
+
});
|
|
88
47
|
return LazyMember;
|
|
89
48
|
}
|
|
90
|
-
const Component =
|
|
91
|
-
const
|
|
49
|
+
const Component = createMember();
|
|
50
|
+
const reservedStatics = new Set([
|
|
92
51
|
"makeComposable",
|
|
93
52
|
"props",
|
|
94
53
|
"resource",
|
|
95
54
|
componentPropDefinitionsSymbol,
|
|
96
|
-
definedResourceLayoutComponentSymbol
|
|
55
|
+
definedResourceLayoutComponentSymbol,
|
|
56
|
+
"contextTypes",
|
|
57
|
+
"childContextTypes",
|
|
58
|
+
"contextType",
|
|
59
|
+
"propTypes",
|
|
60
|
+
"defaultProps",
|
|
61
|
+
"getDerivedStateFromProps",
|
|
62
|
+
"getDerivedStateFromError",
|
|
63
|
+
"getDefaultProps",
|
|
64
|
+
"$$typeof",
|
|
65
|
+
"_payload",
|
|
66
|
+
"_init",
|
|
67
|
+
"render",
|
|
68
|
+
"compare",
|
|
69
|
+
"type",
|
|
70
|
+
"then",
|
|
71
|
+
"catch",
|
|
72
|
+
"finally",
|
|
73
|
+
"toJSON",
|
|
74
|
+
"asymmetricMatch",
|
|
75
|
+
"__esModule",
|
|
76
|
+
"default"
|
|
97
77
|
]);
|
|
98
|
-
return new Proxy(Component, {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
78
|
+
return new Proxy(Component, {
|
|
79
|
+
get(target, property, receiver) {
|
|
80
|
+
if (Reflect.has(target, property)) return Reflect.get(target, property, receiver);
|
|
81
|
+
if (typeof property !== "string" || reservedStatics.has(property) || !/^[A-Z]/.test(property)) return void 0;
|
|
82
|
+
let component = members.get(property);
|
|
83
|
+
if (!component) {
|
|
84
|
+
component = createMember(property);
|
|
85
|
+
members.set(property, component);
|
|
86
|
+
}
|
|
87
|
+
return component;
|
|
88
|
+
},
|
|
89
|
+
has: (target, property) => Reflect.has(target, property)
|
|
90
|
+
});
|
|
107
91
|
}
|
|
108
92
|
|
|
109
93
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy-resource-layout.mjs","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"sourcesContent":["import {\n Component,\n type ComponentProps,\n type ComponentType,\n type JSX,\n lazy,\n Suspense,\n useReducer,\n useRef,\n} from 'react';\nimport {\n LayoutConfigurationError,\n ResourceModuleLoadError,\n} from '../errors';\nimport { componentPropDefinitionsSymbol } from '@jfdevelops/react-layout-validator';\nimport type { ResourcePath, ResourceDefinition } from '../resource';\nimport { definedResourceLayoutComponentSymbol } from './render-state';\n\ntype DefinedLayoutComponent = ComponentType<any> & {\n readonly [definedResourceLayoutComponentSymbol]: true;\n};\n\ntype UnwrapDefinedLayout<Export> = Export extends DefinedLayoutComponent\n ? Export\n : Export extends { Root: infer Root extends DefinedLayoutComponent }\n ? Root\n : never;\n\ntype DefinedLayoutFromModule<Module> = UnwrapDefinedLayout<Module[keyof Module]>;\n\ntype LazyUnsupportedStatic =\n | 'makeComposable'\n | 'props'\n | 'resource'\n | typeof componentPropDefinitionsSymbol\n | typeof definedResourceLayoutComponentSymbol;\n\n/**\n * Public surface available before a lazy module resolves. Component metadata\n * and composition factories are intentionally omitted because they cannot be\n * read synchronously without loading the module.\n */\nexport type LazyResourceLayoutComponent<Module> = ComponentType<\n ComponentProps<DefinedLayoutFromModule<Module>>\n> &\n Pick<\n DefinedLayoutFromModule<Module>,\n Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>\n >;\n\n/** Component rendered while a resource module or one of its states is loading. */\nexport type LazyResourceLoadingComponent = ComponentType;\n/**\n * Component rendered when a resource module cannot be loaded. Calling\n * `retry` discards React's rejected lazy cache entry and imports it again.\n */\nexport type LazyResourceErrorComponent = ComponentType<{\n error: unknown;\n retry: () => void;\n}>;\n\n/** Loading and module-error UI used around a lazy resource component. */\nexport type LazyResourceStates = {\n Error?: LazyResourceErrorComponent;\n Loading?: LazyResourceLoadingComponent;\n};\n\n/**\n * Configuration for a lazy resource component. `resource` is checked against\n * the bound resource paths, including dot-delimited subresources, and `load`\n * must resolve to a module with exactly one created resource component.\n */\nexport type LazyResourceLayoutOptions<\n Resources extends ReadonlyArray<ResourceDefinition>,\n Module extends Record<string, unknown>,\n> = {\n load: () => Promise<Module>;\n resource: ResourcePath<Resources>;\n states?: LazyResourceStates;\n};\n\ntype BoundaryProps = {\n children: JSX.Element;\n ErrorComponent?: LazyResourceErrorComponent;\n onRetry: () => void;\n};\n\ntype BoundaryState = {\n error?: unknown;\n};\n\nclass LazyResourceErrorBoundary extends Component<\n BoundaryProps,\n BoundaryState\n> {\n state: BoundaryState = {};\n\n static getDerivedStateFromError(error: unknown): BoundaryState {\n return { error };\n }\n\n retry = () => {\n this.props.onRetry();\n this.setState({ error: undefined });\n };\n\n render() {\n if (this.state.error !== undefined) {\n const { ErrorComponent } = this.props;\n\n if (!ErrorComponent) {\n throw this.state.error;\n }\n\n return <ErrorComponent error={this.state.error} retry={this.retry} />;\n }\n\n return this.props.children;\n }\n}\n\nfunction findDefinedLayoutComponent(module: Record<string, unknown>) {\n const components = Object.values(module)\n .map((value) =>\n typeof value === 'object' && value !== null && 'Root' in value\n ? value.Root\n : value,\n )\n .filter(\n (value): value is DefinedLayoutComponent =>\n typeof value === 'function' &&\n definedResourceLayoutComponentSymbol in value,\n );\n\n if (components.length !== 1) {\n throw new LayoutConfigurationError(\n `A lazy resource module must export exactly one created resource layout component; received ${components.length}`,\n );\n }\n\n return components[0];\n}\n\n/**\n * Creates a cached lazy proxy for a resource component and all of its compound\n * state components. This is normally called through\n * `defineResourceLayout.lazy(...)`, which supplies shared defaults.\n */\nexport function createLazyResourceLayout<\n Resources extends ReadonlyArray<ResourceDefinition>,\n Module extends Record<string, unknown>,\n>(\n options: LazyResourceLayoutOptions<Resources, Module>,\n defaults: LazyResourceStates,\n): LazyResourceLayoutComponent<Module> {\n const runtimeOptions = options as {\n load: () => Promise<Record<string, unknown>>;\n resource: string;\n states?: LazyResourceStates;\n };\n let loadedComponentPromise: Promise<DefinedLayoutComponent> | undefined;\n const stateComponents = new Map<PropertyKey, ComponentType<any>>();\n const resolvedStates = { ...defaults, ...runtimeOptions.states };\n\n function loadComponent() {\n loadedComponentPromise ??= runtimeOptions\n .load()\n .then(findDefinedLayoutComponent)\n .catch((error: unknown) => {\n throw new ResourceModuleLoadError(runtimeOptions.resource, error);\n });\n\n return loadedComponentPromise;\n }\n\n function resetLoad() {\n loadedComponentPromise = undefined;\n stateComponents.clear();\n }\n\n function createMemberComponent(member?: PropertyKey) {\n function createLazyComponent() {\n return lazy(async () => {\n const component = await loadComponent();\n const selected =\n member === undefined\n ? component\n : (component as unknown as Record<PropertyKey, unknown>)[member];\n\n if (typeof selected !== 'function') {\n throw new LayoutConfigurationError(\n `Lazy resource \"${runtimeOptions.resource}\" does not define state \"${String(member)}\"`,\n );\n }\n\n return { default: selected as ComponentType<any> };\n });\n }\n\n function LazyMember(props: Record<string, unknown>) {\n const [, rerender] = useReducer((version) => version + 1, 0);\n const LazyComponent = useRef(createLazyComponent());\n const LoadingComponent = resolvedStates.Loading;\n const CurrentLazyComponent = LazyComponent.current;\n\n function retry() {\n resetLoad();\n LazyComponent.current = createLazyComponent();\n rerender();\n }\n\n return (\n <LazyResourceErrorBoundary\n ErrorComponent={resolvedStates.Error}\n onRetry={retry}\n >\n <Suspense\n fallback={LoadingComponent ? <LoadingComponent /> : null}\n >\n <CurrentLazyComponent {...props} />\n </Suspense>\n </LazyResourceErrorBoundary>\n );\n }\n\n const resourceName = runtimeOptions.resource;\n LazyMember.displayName =\n member === undefined\n ? `LazyResource(${resourceName})`\n : `LazyResource(${resourceName}).${String(member)}`;\n\n return LazyMember;\n }\n\n const Component = createMemberComponent();\n const unsupportedStatics = new Set<PropertyKey>([\n 'makeComposable',\n 'props',\n 'resource',\n componentPropDefinitionsSymbol,\n definedResourceLayoutComponentSymbol,\n ]);\n\n return new Proxy(Component, {\n get(target, property, receiver) {\n if (Reflect.has(target, property)) {\n return Reflect.get(target, property, receiver);\n }\n\n if (typeof property !== 'string' || unsupportedStatics.has(property)) {\n return undefined;\n }\n\n const existing = stateComponents.get(property);\n\n if (existing) {\n return existing;\n }\n\n const stateComponent = createMemberComponent(property);\n stateComponents.set(property, stateComponent);\n\n return stateComponent;\n },\n }) as unknown as LazyResourceLayoutComponent<Module>;\n}\n"],"mappings":";;;;;;;;AA2FA,IAAM,4BAAN,cAAwC,UAGtC;CACA,QAAuB,CAAC;CAExB,OAAO,yBAAyB,OAA+B;EAC7D,OAAO,EAAE,MAAM;CACjB;CAEA,cAAc;EACZ,KAAK,MAAM,QAAQ;EACnB,KAAK,SAAS,EAAE,OAAO,OAAU,CAAC;CACpC;CAEA,SAAS;EACP,IAAI,KAAK,MAAM,UAAU,QAAW;GAClC,MAAM,EAAE,mBAAmB,KAAK;GAEhC,IAAI,CAAC,gBACH,MAAM,KAAK,MAAM;GAGnB,OAAO,oBAAC,gBAAD;IAAgB,OAAO,KAAK,MAAM;IAAO,OAAO,KAAK;GAAQ;EACtE;EAEA,OAAO,KAAK,MAAM;CACpB;AACF;AAEA,SAAS,2BAA2B,QAAiC;CACnE,MAAM,aAAa,OAAO,OAAO,MAAM,EACpC,KAAK,UACJ,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,QACrD,MAAM,OACN,KACN,EACC,QACE,UACC,OAAO,UAAU,cACjB,wCAAwC,KAC5C;CAEF,IAAI,WAAW,WAAW,GACxB,MAAM,IAAI,yBACR,8FAA8F,WAAW,QAC3G;CAGF,OAAO,WAAW;AACpB;;;;;;AAOA,SAAgB,yBAId,SACA,UACqC;CACrC,MAAM,iBAAiB;CAKvB,IAAI;CACJ,MAAM,kCAAkB,IAAI,IAAqC;CACjE,MAAM,iBAAiB;EAAE,GAAG;EAAU,GAAG,eAAe;CAAO;CAE/D,SAAS,gBAAgB;EACvB,2BAA2B,eACxB,KAAK,EACL,KAAK,0BAA0B,EAC/B,OAAO,UAAmB;GACzB,MAAM,IAAI,wBAAwB,eAAe,UAAU,KAAK;EAClE,CAAC;EAEH,OAAO;CACT;CAEA,SAAS,YAAY;EACnB,yBAAyB;EACzB,gBAAgB,MAAM;CACxB;CAEA,SAAS,sBAAsB,QAAsB;EACnD,SAAS,sBAAsB;GAC7B,OAAO,KAAK,YAAY;IACtB,MAAM,YAAY,MAAM,cAAc;IACtC,MAAM,WACJ,WAAW,SACP,YACC,UAAsD;IAE7D,IAAI,OAAO,aAAa,YACtB,MAAM,IAAI,yBACR,kBAAkB,eAAe,SAAS,2BAA2B,OAAO,MAAM,EAAE,EACtF;IAGF,OAAO,EAAE,SAAS,SAA+B;GACnD,CAAC;EACH;EAEA,SAAS,WAAW,OAAgC;GAClD,MAAM,GAAG,YAAY,YAAY,YAAY,UAAU,GAAG,CAAC;GAC3D,MAAM,gBAAgB,OAAO,oBAAoB,CAAC;GAClD,MAAM,mBAAmB,eAAe;GACxC,MAAM,uBAAuB,cAAc;GAE3C,SAAS,QAAQ;IACf,UAAU;IACV,cAAc,UAAU,oBAAoB;IAC5C,SAAS;GACX;GAEA,OACE,oBAAC,2BAAD;IACE,gBAAgB,eAAe;IAC/B,SAAS;cAET,oBAAC,UAAD;KACE,UAAU,mBAAmB,oBAAC,kBAAD,CAAmB,KAAI;eAEpD,oBAAC,sBAAD,EAAsB,GAAI,MAAQ;IAC1B;GACe;EAE/B;EAEA,MAAM,eAAe,eAAe;EACpC,WAAW,cACT,WAAW,SACP,gBAAgB,aAAa,KAC7B,gBAAgB,aAAa,IAAI,OAAO,MAAM;EAEpD,OAAO;CACT;CAEA,MAAM,YAAY,sBAAsB;CACxC,MAAM,qBAAqB,IAAI,IAAiB;EAC9C;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OAAO,IAAI,MAAM,WAAW,EAC1B,IAAI,QAAQ,UAAU,UAAU;EAC9B,IAAI,QAAQ,IAAI,QAAQ,QAAQ,GAC9B,OAAO,QAAQ,IAAI,QAAQ,UAAU,QAAQ;EAG/C,IAAI,OAAO,aAAa,YAAY,mBAAmB,IAAI,QAAQ,GACjE;EAGF,MAAM,WAAW,gBAAgB,IAAI,QAAQ;EAE7C,IAAI,UACF,OAAO;EAGT,MAAM,iBAAiB,sBAAsB,QAAQ;EACrD,gBAAgB,IAAI,UAAU,cAAc;EAE5C,OAAO;CACT,EACF,CAAC;AACH"}
|
|
1
|
+
{"version":3,"file":"lazy-resource-layout.mjs","names":[],"sources":["../../src/create-config/lazy-resource-layout.tsx"],"sourcesContent":["import { type ComponentProps, type ComponentType } from 'react';\nimport { LazyResourceModuleShapeError } from '../errors/lazy-resource-error';\nimport { componentPropDefinitionsSymbol } from '@jfdevelops/react-layout-validator';\nimport type { ResourcePath, ResourceDefinition } from '../resource';\nimport { definedResourceLayoutComponentSymbol } from './render-state';\nimport {\n createLazyLoader,\n type LazyResourceLoadHooks,\n} from '../lazy/create-lazy-loader';\nimport { LazyBoundary } from '../lazy/lazy-boundary';\nimport type {\n LazyHandle,\n LazyOptions,\n LazyResourceStates,\n} from '../lazy/types';\nexport type {\n LazyResourceErrorComponent,\n LazyResourceLoadingComponent,\n LazyResourceStates,\n} from '../lazy/types';\nexport type { LazyResourceLoadHooks } from '../lazy/create-lazy-loader';\n\ntype DefinedLayoutComponent = ComponentType<any> & {\n readonly [definedResourceLayoutComponentSymbol]: true;\n};\n\ntype UnwrapDefinedLayout<Export> = Export extends DefinedLayoutComponent\n ? Export\n : Export extends { Root: infer Root extends DefinedLayoutComponent }\n ? Root\n : never;\n\ntype DefinedLayoutFromModule<Module> = UnwrapDefinedLayout<\n Module[keyof Module]\n>;\n\ntype LazyUnsupportedStatic =\n | 'makeComposable'\n | 'props'\n | 'resource'\n | typeof componentPropDefinitionsSymbol\n | typeof definedResourceLayoutComponentSymbol;\n\n/**\n * Public surface available before a lazy module resolves. Component metadata\n * and composition factories are intentionally omitted because they cannot be\n * read synchronously without loading the module.\n */\nexport type LazyResourceLayoutComponent<Module> = ComponentType<\n ComponentProps<DefinedLayoutFromModule<Module>>\n> &\n LazyHandle &\n Pick<\n DefinedLayoutFromModule<Module>,\n Exclude<keyof DefinedLayoutFromModule<Module>, LazyUnsupportedStatic>\n >;\n\n/** Lazy resource options, sharing import and fallback semantics with lazy states. */\nexport type LazyResourceLayoutOptions<\n Resources extends ReadonlyArray<ResourceDefinition>,\n Module extends Record<string, unknown>,\n> = LazyOptions<Module> & {\n resource: ResourcePath<Resources>;\n states?: LazyResourceStates<ResourcePath<Resources>>;\n};\n\nfunction findDefinedLayoutComponent(\n module: Record<string, unknown>,\n resource: string,\n) {\n const components = Object.values(module)\n .map((value) =>\n typeof value === 'object' && value !== null && 'Root' in value\n ? value.Root\n : value,\n )\n .filter(\n (value): value is DefinedLayoutComponent =>\n typeof value === 'function' &&\n definedResourceLayoutComponentSymbol in value,\n );\n if (components.length !== 1)\n throw new LazyResourceModuleShapeError(resource, components.length);\n return components[0];\n}\n\n/** Cached resource component and its compound states, backed by the shared loader. */\nexport function createLazyResourceLayout<\n Resources extends ReadonlyArray<ResourceDefinition>,\n Module extends Record<string, unknown>,\n>(\n options: LazyResourceLayoutOptions<Resources, Module>,\n defaults: LazyResourceStates<any>,\n hooks: LazyResourceLoadHooks = {},\n): LazyResourceLayoutComponent<Module> {\n const runtime = options as unknown as LazyOptions<Module> & {\n resource: string;\n states?: LazyResourceStates;\n };\n const resource = runtime.resource;\n const states = { ...defaults, ...runtime.states } as LazyResourceStates;\n const loader = createLazyLoader({\n load: runtime.load,\n select: (module) => findDefinedLayoutComponent(module, resource),\n label: resource,\n hooks,\n });\n const members = new Map<string, ComponentType<any>>();\n function createMember(member?: string) {\n function LazyMember(props: Record<string, unknown>) {\n const Loading = states.Loading;\n return (\n <LazyBoundary\n loader={loader}\n member={member}\n resource={resource}\n componentProps={props}\n ErrorComponent={states.Error}\n onMount={hooks.onMount}\n fallback={\n runtime.fallback !== undefined ? (\n runtime.fallback\n ) : Loading ? (\n <Loading resource={resource} />\n ) : null\n }\n />\n );\n }\n LazyMember.displayName = `LazyResource(${resource})${member ? `.${member}` : ''}`;\n Object.defineProperties(LazyMember, {\n preload: { value: loader.preload },\n status: { get: () => loader.status },\n });\n return LazyMember;\n }\n const Component = createMember();\n const reservedStatics = new Set<PropertyKey>([\n 'makeComposable',\n 'props',\n 'resource',\n componentPropDefinitionsSymbol,\n definedResourceLayoutComponentSymbol,\n 'contextTypes',\n 'childContextTypes',\n 'contextType',\n 'propTypes',\n 'defaultProps',\n 'getDerivedStateFromProps',\n 'getDerivedStateFromError',\n 'getDefaultProps',\n '$$typeof',\n '_payload',\n '_init',\n 'render',\n 'compare',\n 'type',\n 'then',\n 'catch',\n 'finally',\n 'toJSON',\n 'asymmetricMatch',\n '__esModule',\n 'default',\n ]);\n return new Proxy(Component, {\n get(target, property, receiver) {\n if (Reflect.has(target, property))\n return Reflect.get(target, property, receiver);\n if (\n typeof property !== 'string' ||\n reservedStatics.has(property) ||\n !/^[A-Z]/.test(property)\n )\n return undefined;\n let component = members.get(property);\n if (!component) {\n component = createMember(property);\n members.set(property, component);\n }\n return component;\n },\n has: (target, property) => Reflect.has(target, property),\n }) as unknown as LazyResourceLayoutComponent<Module>;\n}\n"],"mappings":";;;;;;;;AAkEA,SAAS,2BACP,QACA,UACA;CACA,MAAM,aAAa,OAAO,OAAO,MAAM,EACpC,KAAK,UACJ,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,QACrD,MAAM,OACN,KACN,EACC,QACE,UACC,OAAO,UAAU,cACjB,wCAAwC,KAC5C;CACF,IAAI,WAAW,WAAW,GACxB,MAAM,IAAI,6BAA6B,UAAU,WAAW,MAAM;CACpE,OAAO,WAAW;AACpB;;AAGA,SAAgB,yBAId,SACA,UACA,QAA+B,CAAC,GACK;CACrC,MAAM,UAAU;CAIhB,MAAM,WAAW,QAAQ;CACzB,MAAM,SAAS;EAAE,GAAG;EAAU,GAAG,QAAQ;CAAO;CAChD,MAAM,SAAS,iBAAiB;EAC9B,MAAM,QAAQ;EACd,SAAS,WAAW,2BAA2B,QAAQ,QAAQ;EAC/D,OAAO;EACP;CACF,CAAC;CACD,MAAM,0BAAU,IAAI,IAAgC;CACpD,SAAS,aAAa,QAAiB;EACrC,SAAS,WAAW,OAAgC;GAClD,MAAM,UAAU,OAAO;GACvB,OACE,oBAAC,cAAD;IACU;IACA;IACE;IACV,gBAAgB;IAChB,gBAAgB,OAAO;IACvB,SAAS,MAAM;IACf,UACE,QAAQ,aAAa,SACnB,QAAQ,WACN,UACF,oBAAC,SAAD,EAAmB,SAAW,KAC5B;GAEP;EAEL;EACA,WAAW,cAAc,gBAAgB,SAAS,GAAG,SAAS,IAAI,WAAW;EAC7E,OAAO,iBAAiB,YAAY;GAClC,SAAS,EAAE,OAAO,OAAO,QAAQ;GACjC,QAAQ,EAAE,WAAW,OAAO,OAAO;EACrC,CAAC;EACD,OAAO;CACT;CACA,MAAM,YAAY,aAAa;CAC/B,MAAM,kBAAkB,IAAI,IAAiB;EAC3C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,OAAO,IAAI,MAAM,WAAW;EAC1B,IAAI,QAAQ,UAAU,UAAU;GAC9B,IAAI,QAAQ,IAAI,QAAQ,QAAQ,GAC9B,OAAO,QAAQ,IAAI,QAAQ,UAAU,QAAQ;GAC/C,IACE,OAAO,aAAa,YACpB,gBAAgB,IAAI,QAAQ,KAC5B,CAAC,SAAS,KAAK,QAAQ,GAEvB,OAAO;GACT,IAAI,YAAY,QAAQ,IAAI,QAAQ;GACpC,IAAI,CAAC,WAAW;IACd,YAAY,aAAa,QAAQ;IACjC,QAAQ,IAAI,UAAU,SAAS;GACjC;GACA,OAAO;EACT;EACA,MAAM,QAAQ,aAAa,QAAQ,IAAI,QAAQ,QAAQ;CACzD,CAAC;AACH"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
let react = require("react");
|
|
2
|
-
let _jfdevelops_react_layout_devtools_core = require("@jfdevelops/react-layout-devtools-core");
|
|
3
2
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
+
let _jfdevelops_react_layout_devtools_core = require("@jfdevelops/react-layout-devtools-core");
|
|
4
4
|
|
|
5
5
|
//#region src/create-config/preview.tsx
|
|
6
6
|
/** Typed, partial props used only while an opted-in development preview is forced. */
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from "react";
|
|
2
|
+
import { InspectionStore } from "@jfdevelops/react-layout-devtools-core";
|
|
3
|
+
|
|
2
4
|
//#region src/create-config/preview.d.ts
|
|
3
5
|
type PropsOf<T> = T extends ((props: infer P, ...rest: never[]) => unknown) ? Partial<P> : never;
|
|
4
6
|
type LayoutPreviewProps<T> = { [K in keyof T as K extends 'Root' | 'makeComposable' ? never : T[K] extends ((...args: never[]) => unknown) ? K : never]?: PropsOf<T[K]> } & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.cts","names":[],"sources":["../../src/create-config/preview.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.d.cts","names":[],"sources":["../../src/create-config/preview.tsx"],"mappings":";;;;KAcK,OAAA,MAAa,CAAA,WAAW,KAAA,cAAmB,IAAA,yBAC5C,OAAA,CAAQ,CAAA;AAAA,KAGA,kBAAA,oBACE,CAAA,IAAK,CAAA,6CAEb,CAAA,CAAE,CAAA,eAAe,IAAA,yBACjB,CAAA,YACS,OAAA,CAAQ,CAAA,CAAE,CAAA;EACnB,OAAA,GAAU,OAAA,CAAQ,CAAA;IAAY,IAAA;EAAA,IAAkB,CAAA,GAAI,CAAA;AAAA;;iBAG1C,mBAAA,mBACd,MAAA,EAAQ,CAAA,EACR,QAAA,EAAU,kBAAA,CAAmB,CAAA,IAC5B,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from "react";
|
|
2
|
+
import { InspectionStore } from "@jfdevelops/react-layout-devtools-core";
|
|
3
|
+
|
|
2
4
|
//#region src/create-config/preview.d.ts
|
|
3
5
|
type PropsOf<T> = T extends ((props: infer P, ...rest: never[]) => unknown) ? Partial<P> : never;
|
|
4
6
|
type LayoutPreviewProps<T> = { [K in keyof T as K extends 'Root' | 'makeComposable' ? never : T[K] extends ((...args: never[]) => unknown) ? K : never]?: PropsOf<T[K]> } & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.mts","names":[],"sources":["../../src/create-config/preview.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"preview.d.mts","names":[],"sources":["../../src/create-config/preview.tsx"],"mappings":";;;;KAcK,OAAA,MAAa,CAAA,WAAW,KAAA,cAAmB,IAAA,yBAC5C,OAAA,CAAQ,CAAA;AAAA,KAGA,kBAAA,oBACE,CAAA,IAAK,CAAA,6CAEb,CAAA,CAAE,CAAA,eAAe,IAAA,yBACjB,CAAA,YACS,OAAA,CAAQ,CAAA,CAAE,CAAA;EACnB,OAAA,GAAU,OAAA,CAAQ,CAAA;IAAY,IAAA;EAAA,IAAkB,CAAA,GAAI,CAAA;AAAA;;iBAG1C,mBAAA,mBACd,MAAA,EAAQ,CAAA,EACR,QAAA,EAAU,kBAAA,CAAmB,CAAA,IAC5B,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, createElement, useLayoutEffect, useState } from "react";
|
|
2
|
-
import { inspectionId, layoutPreviewFixtures } from "@jfdevelops/react-layout-devtools-core";
|
|
3
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { inspectionId, layoutPreviewFixtures } from "@jfdevelops/react-layout-devtools-core";
|
|
4
4
|
|
|
5
5
|
//#region src/create-config/preview.tsx
|
|
6
6
|
/** Typed, partial props used only while an opted-in development preview is forced. */
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
let react = require("react");
|
|
2
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
+
|
|
4
|
+
//#region src/create-config/render-state-context.tsx
|
|
5
|
+
/** Active state for descendants, including scoped components. */
|
|
6
|
+
const RenderStateNameContext = (0, react.createContext)("default");
|
|
7
|
+
/** Only state references carry the caller's name into another state's layout. */
|
|
8
|
+
const ReferencedRenderStateContext = (0, react.createContext)(void 0);
|
|
9
|
+
/** Automatic fallbacks start their own state instead of inheriting a reference. */
|
|
10
|
+
function RenderStateFallback({ state, children }) {
|
|
11
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ReferencedRenderStateContext.Provider, {
|
|
12
|
+
value: void 0,
|
|
13
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStateNameContext.Provider, {
|
|
14
|
+
value: state,
|
|
15
|
+
children
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
exports.ReferencedRenderStateContext = ReferencedRenderStateContext;
|
|
22
|
+
exports.RenderStateFallback = RenderStateFallback;
|
|
23
|
+
exports.RenderStateNameContext = RenderStateNameContext;
|
|
24
|
+
//# sourceMappingURL=render-state-context.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-state-context.cjs","names":[],"sources":["../../src/create-config/render-state-context.tsx"],"sourcesContent":["import { createContext } from 'react';\n\n/** Active state for descendants, including scoped components. */\nexport const RenderStateNameContext = createContext<string>('default');\n\n/** Only state references carry the caller's name into another state's layout. */\nexport const ReferencedRenderStateContext = createContext<string | undefined>(\n undefined,\n);\n\n/** Automatic fallbacks start their own state instead of inheriting a reference. */\nexport function RenderStateFallback({\n state,\n children,\n}: {\n state: 'Loading' | 'Error';\n children: import('react').ReactNode;\n}) {\n return (\n <ReferencedRenderStateContext.Provider value={undefined}>\n <RenderStateNameContext.Provider value={state}>\n {children}\n </RenderStateNameContext.Provider>\n </ReferencedRenderStateContext.Provider>\n );\n}\n"],"mappings":";;;;;AAGA,MAAa,kDAA+C,SAAS;;AAGrE,MAAa,wDACX,MACF;;AAGA,SAAgB,oBAAoB,EAClC,OACA,YAIC;CACD,OACE,2CAAC,6BAA6B,UAA9B;EAAuC,OAAO;YAC5C,2CAAC,uBAAuB,UAAxB;GAAiC,OAAO;GACrC;EAC8B;CACI;AAE3C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createContext } from "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/create-config/render-state-context.tsx
|
|
5
|
+
/** Active state for descendants, including scoped components. */
|
|
6
|
+
const RenderStateNameContext = createContext("default");
|
|
7
|
+
/** Only state references carry the caller's name into another state's layout. */
|
|
8
|
+
const ReferencedRenderStateContext = createContext(void 0);
|
|
9
|
+
/** Automatic fallbacks start their own state instead of inheriting a reference. */
|
|
10
|
+
function RenderStateFallback({ state, children }) {
|
|
11
|
+
return /* @__PURE__ */ jsx(ReferencedRenderStateContext.Provider, {
|
|
12
|
+
value: void 0,
|
|
13
|
+
children: /* @__PURE__ */ jsx(RenderStateNameContext.Provider, {
|
|
14
|
+
value: state,
|
|
15
|
+
children
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ReferencedRenderStateContext, RenderStateFallback, RenderStateNameContext };
|
|
22
|
+
//# sourceMappingURL=render-state-context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-state-context.mjs","names":[],"sources":["../../src/create-config/render-state-context.tsx"],"sourcesContent":["import { createContext } from 'react';\n\n/** Active state for descendants, including scoped components. */\nexport const RenderStateNameContext = createContext<string>('default');\n\n/** Only state references carry the caller's name into another state's layout. */\nexport const ReferencedRenderStateContext = createContext<string | undefined>(\n undefined,\n);\n\n/** Automatic fallbacks start their own state instead of inheriting a reference. */\nexport function RenderStateFallback({\n state,\n children,\n}: {\n state: 'Loading' | 'Error';\n children: import('react').ReactNode;\n}) {\n return (\n <ReferencedRenderStateContext.Provider value={undefined}>\n <RenderStateNameContext.Provider value={state}>\n {children}\n </RenderStateNameContext.Provider>\n </ReferencedRenderStateContext.Provider>\n );\n}\n"],"mappings":";;;;;AAGA,MAAa,yBAAyB,cAAsB,SAAS;;AAGrE,MAAa,+BAA+B,cAC1C,MACF;;AAGA,SAAgB,oBAAoB,EAClC,OACA,YAIC;CACD,OACE,oBAAC,6BAA6B,UAA9B;EAAuC,OAAO;YAC5C,oBAAC,uBAAuB,UAAxB;GAAiC,OAAO;GACrC;EAC8B;CACI;AAE3C"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
const require_layout_configuration_error = require('../errors/layout-configuration-error.cjs');
|
|
2
|
+
const require_lazy_resource_error = require('../errors/lazy-resource-error.cjs');
|
|
2
3
|
const require_state_composable = require('./state-composable.cjs');
|
|
3
4
|
const require_props = require('../props.cjs');
|
|
5
|
+
const require_create_lazy_loader = require('../lazy/create-lazy-loader.cjs');
|
|
6
|
+
const require_inspection = require('../lazy/inspection.cjs');
|
|
4
7
|
let _jfdevelops_react_layout_composables = require("@jfdevelops/react-layout-composables");
|
|
5
8
|
let _jfdevelops_react_layout_devtools_core = require("@jfdevelops/react-layout-devtools-core");
|
|
6
9
|
|
|
7
10
|
//#region src/create-config/render-state.ts
|
|
11
|
+
const lazyLoaderSymbol = Symbol("lazyLoader");
|
|
12
|
+
const lazyOptionsSymbol = Symbol("lazyOptions");
|
|
13
|
+
const lazyInspectionSymbol = Symbol("lazyInspection");
|
|
8
14
|
const deferredRenderStateSymbol = Symbol("deferredRenderState");
|
|
9
15
|
const lazyRenderStateSymbol = Symbol("lazyRenderState");
|
|
10
16
|
const definedRenderStateSymbol = Symbol.for("@jfdevelops/react-layout/render-state");
|
|
@@ -30,7 +36,7 @@ function toFragment(definition) {
|
|
|
30
36
|
* Creates a state factory whose `props.include` keys are constrained by the
|
|
31
37
|
* supplied resources and options.
|
|
32
38
|
*/
|
|
33
|
-
function createRenderStateBuilder(_arguments) {
|
|
39
|
+
function createRenderStateBuilder(_arguments, environment) {
|
|
34
40
|
function createRenderState(input) {
|
|
35
41
|
const definition = normalizeDefinition(input);
|
|
36
42
|
const debug = (0, _jfdevelops_react_layout_devtools_core.getLayoutDebug)(input);
|
|
@@ -39,16 +45,18 @@ function createRenderStateBuilder(_arguments) {
|
|
|
39
45
|
[_jfdevelops_react_layout_devtools_core.layoutDebug]: debug
|
|
40
46
|
} : definition);
|
|
41
47
|
}
|
|
48
|
+
createRenderState.forStates = (..._states) => createRenderState;
|
|
42
49
|
createRenderState.fromState = (input) => {
|
|
43
50
|
const entry = isLazyRenderState(input.ref) ? input.ref : Object.values(input.ref)[0];
|
|
44
51
|
if (isLazyRenderState(entry)) {
|
|
45
|
-
const lazyState =
|
|
46
|
-
|
|
52
|
+
const lazyState = createRenderState.lazy(async () => {
|
|
53
|
+
if (entry.status === "error") entry[lazyLoaderSymbol].reset();
|
|
54
|
+
const source = await entry[lazyLoaderSymbol].get();
|
|
47
55
|
return { Derived: createRenderState.fromState({
|
|
48
56
|
...input,
|
|
49
57
|
ref: toFragment(source)
|
|
50
58
|
}) };
|
|
51
|
-
}
|
|
59
|
+
});
|
|
52
60
|
const name = input.state ?? "default";
|
|
53
61
|
const fragment = { [name]: lazyState };
|
|
54
62
|
Object.defineProperty(fragment, definedRenderStateSymbol, { value: lazyState });
|
|
@@ -63,8 +71,8 @@ function createRenderStateBuilder(_arguments) {
|
|
|
63
71
|
const includes = input.props?.include ?? Object.fromEntries(Object.entries({
|
|
64
72
|
...source.props?.include,
|
|
65
73
|
...Object.fromEntries(Object.entries(source.props?.custom ?? {}).map(([key, prop]) => [key, {
|
|
66
|
-
|
|
67
|
-
|
|
74
|
+
required: prop.visibility !== "optional",
|
|
75
|
+
suppliedVia: "component"
|
|
68
76
|
}]))
|
|
69
77
|
}).filter(([key]) => !(key in custom)));
|
|
70
78
|
return toFragment({
|
|
@@ -85,8 +93,8 @@ function createRenderStateBuilder(_arguments) {
|
|
|
85
93
|
props: {
|
|
86
94
|
...source.props,
|
|
87
95
|
include: Object.fromEntries(Object.entries(source.props?.include ?? {}).map(([key, behavior]) => [key, {
|
|
88
|
-
|
|
89
|
-
|
|
96
|
+
required: !(behavior === "optional" || require_props.getIncludedPropBehavior(behavior)?.visibility === "optional"),
|
|
97
|
+
suppliedVia: "component"
|
|
90
98
|
}]))
|
|
91
99
|
}
|
|
92
100
|
};
|
|
@@ -126,15 +134,40 @@ function createRenderStateBuilder(_arguments) {
|
|
|
126
134
|
name: definition.state ?? "default"
|
|
127
135
|
});
|
|
128
136
|
};
|
|
129
|
-
createRenderState.lazy = (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
137
|
+
createRenderState.lazy = (input) => {
|
|
138
|
+
environment?.onLazy?.();
|
|
139
|
+
const options = typeof input === "function" ? { load: input } : input;
|
|
140
|
+
const inspection = require_inspection.inspectLazy("Render state");
|
|
141
|
+
const loaderOptions = {
|
|
142
|
+
load: options.load,
|
|
143
|
+
select: (module) => findDefinedRenderState(module, loaderOptions.label),
|
|
144
|
+
label: "Render state",
|
|
145
|
+
hooks: inspection.hooks
|
|
133
146
|
};
|
|
134
|
-
|
|
147
|
+
const loader = require_create_lazy_loader.createLazyLoader(loaderOptions);
|
|
148
|
+
const lazyState = require_inspection.withLazyHandle({
|
|
149
|
+
[lazyRenderStateSymbol]: options.load,
|
|
150
|
+
[lazyLoaderSymbol]: loader,
|
|
151
|
+
[lazyOptionsSymbol]: {
|
|
152
|
+
...options,
|
|
153
|
+
defaults: environment?.defaults ?? (() => ({}))
|
|
154
|
+
},
|
|
155
|
+
[lazyInspectionSymbol]: {
|
|
156
|
+
...inspection,
|
|
157
|
+
setLabel(value) {
|
|
158
|
+
if (loader.status !== "unresolved") return;
|
|
159
|
+
loaderOptions.label = value;
|
|
160
|
+
inspection.setLabel(value);
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
[_jfdevelops_react_layout_devtools_core.layoutDebug]: (0, _jfdevelops_react_layout_devtools_core.getLayoutDebug)(input)
|
|
164
|
+
}, loader);
|
|
165
|
+
const result = inspection.store.attach(require_state_composable.withStateComposable(lazyState, {
|
|
135
166
|
input: lazyState,
|
|
136
167
|
name: "lazy"
|
|
137
|
-
});
|
|
168
|
+
}));
|
|
169
|
+
environment?.store.connect(result);
|
|
170
|
+
return result;
|
|
138
171
|
};
|
|
139
172
|
return createRenderState;
|
|
140
173
|
}
|
|
@@ -150,19 +183,26 @@ function isLazyRenderState(value) {
|
|
|
150
183
|
* Resolves the single state exported by a lazy module, including derived lazy
|
|
151
184
|
* states. Throws when a module exports none or more than one.
|
|
152
185
|
*/
|
|
153
|
-
async function findDefinedRenderState(module) {
|
|
186
|
+
async function findDefinedRenderState(module, label = "Render state") {
|
|
154
187
|
const definitions = Object.values(module).filter((value) => typeof value === "object" && value !== null && definedRenderStateSymbol in value);
|
|
155
|
-
if (definitions.length !== 1) throw new
|
|
188
|
+
if (definitions.length !== 1) throw new require_lazy_resource_error.LazyResourceModuleShapeError(label, definitions.length);
|
|
156
189
|
const definition = definitions[0][definedRenderStateSymbol];
|
|
157
|
-
|
|
190
|
+
if (isLazyRenderState(definition)) {
|
|
191
|
+
if (definition.status === "error") definition[lazyLoaderSymbol].reset();
|
|
192
|
+
return definition[lazyLoaderSymbol].get();
|
|
193
|
+
}
|
|
194
|
+
return definition;
|
|
158
195
|
}
|
|
159
196
|
|
|
160
197
|
//#endregion
|
|
161
198
|
exports.createRenderStateBuilder = createRenderStateBuilder;
|
|
162
199
|
exports.deferredRenderStateSymbol = deferredRenderStateSymbol;
|
|
200
|
+
exports.definedRenderStateSymbol = definedRenderStateSymbol;
|
|
163
201
|
exports.definedResourceLayoutComponentSymbol = definedResourceLayoutComponentSymbol;
|
|
164
202
|
exports.findDefinedRenderState = findDefinedRenderState;
|
|
165
203
|
exports.isDeferredRenderState = isDeferredRenderState;
|
|
166
204
|
exports.isLazyRenderState = isLazyRenderState;
|
|
167
|
-
exports.
|
|
205
|
+
exports.lazyInspectionSymbol = lazyInspectionSymbol;
|
|
206
|
+
exports.lazyLoaderSymbol = lazyLoaderSymbol;
|
|
207
|
+
exports.lazyOptionsSymbol = lazyOptionsSymbol;
|
|
168
208
|
//# sourceMappingURL=render-state.cjs.map
|