@jfdevelops/react-layout 1.6.1 → 2.0.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 +18 -14
- package/dist/create-config/create-defined-resource-layout.cjs.map +1 -1
- package/dist/create-config/create-defined-resource-layout.d.cts +9 -5
- package/dist/create-config/create-defined-resource-layout.d.cts.map +1 -1
- package/dist/create-config/create-defined-resource-layout.d.mts +9 -5
- package/dist/create-config/create-defined-resource-layout.d.mts.map +1 -1
- package/dist/create-config/create-defined-resource-layout.mjs +19 -15
- package/dist/create-config/create-defined-resource-layout.mjs.map +1 -1
- package/dist/create-config/define-layout.cjs +66 -39
- package/dist/create-config/define-layout.cjs.map +1 -1
- package/dist/create-config/define-layout.d.cts +0 -5
- package/dist/create-config/define-layout.d.cts.map +1 -1
- package/dist/create-config/define-layout.d.mts +0 -5
- package/dist/create-config/define-layout.d.mts.map +1 -1
- package/dist/create-config/define-layout.mjs +67 -40
- package/dist/create-config/define-layout.mjs.map +1 -1
- package/dist/create-config/for-resources/create-component.d.cts +39 -21
- package/dist/create-config/for-resources/create-component.d.cts.map +1 -1
- package/dist/create-config/for-resources/create-component.d.mts +39 -21
- package/dist/create-config/for-resources/create-component.d.mts.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.cjs +62 -7
- package/dist/create-config/for-resources/create-for-resources.cjs.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.mjs +62 -7
- package/dist/create-config/for-resources/create-for-resources.mjs.map +1 -1
- package/dist/create-config/for-resources/scoped-render.cjs +1 -0
- package/dist/create-config/for-resources/scoped-render.cjs.map +1 -1
- package/dist/create-config/for-resources/scoped-render.d.cts.map +1 -1
- package/dist/create-config/for-resources/scoped-render.d.mts.map +1 -1
- package/dist/create-config/for-resources/scoped-render.mjs +1 -0
- package/dist/create-config/for-resources/scoped-render.mjs.map +1 -1
- package/dist/create-config/index.d.cts +2 -1
- package/dist/create-config/index.d.mts +2 -1
- 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.cjs +57 -18
- package/dist/create-config/render-state.cjs.map +1 -1
- package/dist/create-config/render-state.d.cts +18 -6
- package/dist/create-config/render-state.d.cts.map +1 -1
- package/dist/create-config/render-state.d.mts +18 -6
- package/dist/create-config/render-state.d.mts.map +1 -1
- package/dist/create-config/render-state.mjs +54 -18
- package/dist/create-config/render-state.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 +7 -4
- package/dist/index.d.mts +7 -4
- package/dist/index.mjs +4 -3
- package/dist/lazy/create-error-component.cjs +17 -0
- package/dist/lazy/create-error-component.cjs.map +1 -0
- package/dist/lazy/create-error-component.mjs +16 -0
- package/dist/lazy/create-error-component.mjs.map +1 -0
- 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/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 +55 -0
- package/dist/lazy/lazy-boundary.cjs.map +1 -0
- package/dist/lazy/lazy-boundary.mjs +55 -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 +39 -0
- package/dist/lazy/types.d.cts.map +1 -0
- package/dist/lazy/types.d.mts +39 -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 +3 -3
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
const require_invalid_config = require('../errors/invalid-config.cjs');
|
|
2
|
-
const require_missing_resource_provider = require('../errors/missing-resource-provider.cjs');
|
|
3
1
|
const require_layout_configuration_error = require('../errors/layout-configuration-error.cjs');
|
|
4
2
|
const require_resource_state_error = require('../errors/resource-state-error.cjs');
|
|
3
|
+
const require_lazy_resource_error = require('../errors/lazy-resource-error.cjs');
|
|
4
|
+
const require_lazy_boundary = require('../lazy/lazy-boundary.cjs');
|
|
5
|
+
const require_fallback_props = require('../lazy/fallback-props.cjs');
|
|
6
|
+
const require_types = require('../lazy/types.cjs');
|
|
7
|
+
const require_invalid_config = require('../errors/invalid-config.cjs');
|
|
8
|
+
const require_missing_resource_provider = require('../errors/missing-resource-provider.cjs');
|
|
5
9
|
const require_capitalize = require('../utils/capitalize.cjs');
|
|
6
10
|
const require_state_composable = require('./state-composable.cjs');
|
|
7
11
|
const require_merge_layout_props = require('./merge-layout-props.cjs');
|
|
@@ -14,13 +18,13 @@ const require_component_keys = require('./component-keys.cjs');
|
|
|
14
18
|
const require_get_component = require('./get-component.cjs');
|
|
15
19
|
const require_create_resource_links = require('./create-resource-links.cjs');
|
|
16
20
|
const require_for_resource = require('./for-resource.cjs');
|
|
21
|
+
const require_render_state = require('./render-state.cjs');
|
|
17
22
|
const require_create_for_resources = require('./for-resources/create-for-resources.cjs');
|
|
18
23
|
const require_shell_context = require('./shell-context.cjs');
|
|
19
|
-
const require_render_state = require('./render-state.cjs');
|
|
20
24
|
let _jfdevelops_react_layout_composables = require("@jfdevelops/react-layout-composables");
|
|
21
25
|
let react = require("react");
|
|
22
|
-
let _jfdevelops_react_layout_devtools_core = require("@jfdevelops/react-layout-devtools-core");
|
|
23
26
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
27
|
+
let _jfdevelops_react_layout_devtools_core = require("@jfdevelops/react-layout-devtools-core");
|
|
24
28
|
let _jfdevelops_react_layout_validator = require("@jfdevelops/react-layout-validator");
|
|
25
29
|
|
|
26
30
|
//#region src/create-config/define-layout.tsx
|
|
@@ -141,6 +145,7 @@ function assertUnreservedResourceSlugs(resources, owner) {
|
|
|
141
145
|
}
|
|
142
146
|
function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspection) {
|
|
143
147
|
const { options: inProps = {}, resources, layout, namespace: defaultNamespace = false } = options;
|
|
148
|
+
const getLazyDefaults = options[require_types.lazyDefaultsSymbol] ?? (() => ({}));
|
|
144
149
|
const shellId = options.shellId;
|
|
145
150
|
const inspection = inheritedInspection ? void 0 : require_inspection.inspectDefinition(resources, (0, _jfdevelops_react_layout_devtools_core.getLayoutDebug)(options)?.source ?? (0, _jfdevelops_react_layout_devtools_core.getLayoutDebug)(layout)?.source);
|
|
146
151
|
if (inspection) inspection.store.node({
|
|
@@ -319,7 +324,6 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
319
324
|
}));
|
|
320
325
|
const mergedRenderContext = {
|
|
321
326
|
composables: resolvedComposables,
|
|
322
|
-
resource: layoutContext.resource,
|
|
323
327
|
resources: createLayoutRenderResourcesAccessor(resources, layoutContext.resource),
|
|
324
328
|
name: layoutContext.name,
|
|
325
329
|
inProps: splitInProps
|
|
@@ -336,6 +340,7 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
336
340
|
}
|
|
337
341
|
function Component(props) {
|
|
338
342
|
const publishResource = require_shell_context.useResourceLayoutShellPublisher();
|
|
343
|
+
const fallbackOptions = (0, react.useContext)(require_fallback_props.LazyFallbackPropsContext);
|
|
339
344
|
(0, react.useLayoutEffect)(() => {
|
|
340
345
|
publishResource?.(layoutContext.resource, shellId);
|
|
341
346
|
return () => publishResource?.(void 0, shellId);
|
|
@@ -348,7 +353,7 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
348
353
|
const definition = mergedResolvedInProps[key];
|
|
349
354
|
const includeBehavior = includeLayoutProps?.[key];
|
|
350
355
|
const callSiteValue = allowsComponentPassthrough(includeBehavior) ? readLayoutOptionValue(key, definition, props) : void 0;
|
|
351
|
-
const layoutOptionValue = allowsConfigPassthrough(includeBehavior) ? readLayoutOptionValue(key, definition, layoutOptionValues) : void 0;
|
|
356
|
+
const layoutOptionValue = allowsConfigPassthrough(includeBehavior) ? readLayoutOptionValue(key, definition, fallbackOptions?.owner === activeInspection.layout ? fallbackOptions.props : layoutOptionValues) : void 0;
|
|
352
357
|
const splitValue = key in splitInProps ? splitInProps[key] : void 0;
|
|
353
358
|
const value = callSiteValue ?? layoutOptionValue ?? splitValue;
|
|
354
359
|
if (value !== void 0) includedPropValues[key] = value;
|
|
@@ -400,41 +405,38 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
400
405
|
function createStateComponent(stateName, input, validateStateName = true, fallbackStateName = stateName) {
|
|
401
406
|
const inspectedId = validateStateName ? stateIds.get(stateName) : getReferenceStateId(input, stateName);
|
|
402
407
|
if (require_render_state.isLazyRenderState(input)) {
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
408
|
+
const loader = input[require_render_state.lazyLoaderSymbol];
|
|
409
|
+
const lazyOptions = input[require_render_state.lazyOptionsSymbol];
|
|
410
|
+
const lazyInspection = input[require_render_state.lazyInspectionSymbol];
|
|
411
|
+
inspectionStore.connect(input);
|
|
412
|
+
inspectionStore.edge(inspectedId ?? layoutId, lazyInspection.id, "declares");
|
|
413
|
+
const label = `${layoutContext.resource}:${stateName}`;
|
|
414
|
+
lazyInspection.setLabel(label);
|
|
415
|
+
const map = (stateDefinition) => {
|
|
416
|
+
if (validateStateName && stateDefinition.state !== void 0 && stateDefinition.state !== stateName) throw new require_lazy_resource_error.LazyResourceStateNotFoundError(label, stateName);
|
|
417
|
+
return createLoadedStateComponent(validateStateName ? stateName : stateDefinition.state ?? stateName, stateDefinition, inspectedId);
|
|
418
|
+
};
|
|
413
419
|
function LazyStateComponent(props) {
|
|
414
|
-
const
|
|
415
|
-
const LazyState = (0, react.useRef)(createLazyState());
|
|
416
|
-
const CurrentLazyState = LazyState.current;
|
|
420
|
+
const defaults = lazyOptions.defaults();
|
|
417
421
|
const LoadingComponent = fallbackStateName === "Loading" ? void 0 : stateComponents.Loading;
|
|
418
|
-
const
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
422
|
+
const ErrorState = fallbackStateName === "Error" ? void 0 : stateComponents.Error;
|
|
423
|
+
const LoadingDefault = defaults.Loading;
|
|
424
|
+
const ErrorComponent = ErrorState ? ({ error, retry }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStateRetryContext.Provider, {
|
|
425
|
+
value: retry,
|
|
426
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ErrorState, {
|
|
427
|
+
error,
|
|
428
|
+
retry
|
|
429
|
+
})
|
|
430
|
+
}) : defaults.Error;
|
|
431
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_lazy_boundary.LazyBoundary, {
|
|
432
|
+
loader,
|
|
433
|
+
map,
|
|
434
|
+
resource: String(layoutContext.resource),
|
|
435
|
+
componentProps: props,
|
|
436
|
+
ErrorComponent,
|
|
437
|
+
onMount: lazyInspection.hooks.onMount,
|
|
438
|
+
fallback: lazyOptions.fallback !== void 0 ? lazyOptions.fallback : LoadingComponent ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingComponent, {}) : LoadingDefault ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingDefault, { resource: String(layoutContext.resource) }) : null
|
|
426
439
|
});
|
|
427
|
-
return ErrorComponent ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStateBoundary, {
|
|
428
|
-
fallback: (error, reset) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStateRetryContext.Provider, {
|
|
429
|
-
value: reset,
|
|
430
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ErrorComponent, {
|
|
431
|
-
error: toResourceStateError(String(layoutContext.resource), stateName, error),
|
|
432
|
-
retry: reset
|
|
433
|
-
})
|
|
434
|
-
}),
|
|
435
|
-
onRetry: retry,
|
|
436
|
-
children: rendered
|
|
437
|
-
}) : rendered;
|
|
438
440
|
}
|
|
439
441
|
return LazyStateComponent;
|
|
440
442
|
}
|
|
@@ -557,6 +559,17 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
557
559
|
name
|
|
558
560
|
}),
|
|
559
561
|
...exposedStates,
|
|
562
|
+
[require_types.lazyStatesSymbol]: {
|
|
563
|
+
owner: layoutId,
|
|
564
|
+
Loading: stateComponents.Loading,
|
|
565
|
+
Error: stateComponents.Error ? ({ error, retry }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RenderStateRetryContext.Provider, {
|
|
566
|
+
value: retry,
|
|
567
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(stateComponents.Error, {
|
|
568
|
+
error,
|
|
569
|
+
retry
|
|
570
|
+
})
|
|
571
|
+
}) : void 0
|
|
572
|
+
},
|
|
560
573
|
[require_render_state.definedResourceLayoutComponentSymbol]: true
|
|
561
574
|
});
|
|
562
575
|
previewRoot = createdComponent;
|
|
@@ -618,7 +631,21 @@ function defineResourceLayoutImpl(options, inheritedStateScope, inheritedInspect
|
|
|
618
631
|
createLayoutForResource: createLayoutForResourceBuilder,
|
|
619
632
|
...layout.composables ? { createMakeComposableLayout: createTopLevelMakeComposable } : {},
|
|
620
633
|
createResourceLayout: definedResourceLayout,
|
|
621
|
-
getComponentPropDefinitions
|
|
634
|
+
getComponentPropDefinitions,
|
|
635
|
+
lazyEnvironment: {
|
|
636
|
+
store: inheritedInspection?.store ?? inspection.store,
|
|
637
|
+
parent: inheritedInspection?.layout ?? inspection.definition,
|
|
638
|
+
defaults: getLazyDefaults,
|
|
639
|
+
states(resource, props) {
|
|
640
|
+
if (typeof layout.render !== "object" || !layout.render || !("Loading" in layout.render || "Error" in layout.render)) return {};
|
|
641
|
+
return definedResourceLayout({
|
|
642
|
+
...props,
|
|
643
|
+
resource,
|
|
644
|
+
namespace: false,
|
|
645
|
+
name: require_capitalize.capitalize(resource)
|
|
646
|
+
})[require_types.lazyStatesSymbol];
|
|
647
|
+
}
|
|
648
|
+
}
|
|
622
649
|
})
|
|
623
650
|
};
|
|
624
651
|
if (layout.composables) createResourceLayoutExtras.makeComposable = createTopLevelMakeComposable();
|