@jfdevelops/react-layout 0.17.2 → 0.17.4
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/for-resources/create-component.d.cts +93 -30
- package/dist/create-config/for-resources/create-component.d.cts.map +1 -1
- package/dist/create-config/for-resources/create-component.d.mts +93 -30
- package/dist/create-config/for-resources/create-component.d.mts.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.cjs +45 -28
- package/dist/create-config/for-resources/create-for-resources.cjs.map +1 -1
- package/dist/create-config/for-resources/create-for-resources.mjs +45 -28
- package/dist/create-config/for-resources/create-for-resources.mjs.map +1 -1
- package/dist/create-config/for-resources/scoped-layout.d.cts +3 -2
- package/dist/create-config/for-resources/scoped-layout.d.cts.map +1 -1
- package/dist/create-config/for-resources/scoped-layout.d.mts +3 -2
- package/dist/create-config/for-resources/scoped-layout.d.mts.map +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -1
- package/dist/utils.d.cts.map +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs.map +1 -1
- package/package.json +3 -3
- package/skills/build-react-layouts/references/factory-patterns.md +37 -20
|
@@ -1,15 +1,39 @@
|
|
|
1
|
-
import { BaseComponent, Show } from "../../utils.mjs";
|
|
1
|
+
import { BaseComponent, Show, UnionToIntersection } from "../../utils.mjs";
|
|
2
2
|
import { ResourceDefinition } from "../../resource.mjs";
|
|
3
3
|
import { InPropsDefinition, InPropsObject, IncludedProps, MergedLayoutInProps, PropsContextRender, PropsRenderDefinition, ResolvedIncludedPropsAsDefined } from "../../props.mjs";
|
|
4
4
|
import { SelectedLayoutResources } from "./resource-selection.mjs";
|
|
5
5
|
import { ScopedRenderResult } from "./scoped-render.mjs";
|
|
6
6
|
import { LayoutIncludeProps, LayoutProps } from "../define-layout.mjs";
|
|
7
7
|
import { ComposableComponents } from "@jfdevelops/react-layout-composables";
|
|
8
|
-
import { ResolveProps, ResolvedBuiltPropShape } from "@jfdevelops/react-layout-validator";
|
|
8
|
+
import { ResolveProps, ResolvedBuiltPropShape, SafeKeyOf } from "@jfdevelops/react-layout-validator";
|
|
9
9
|
import { ComponentType, JSX, ReactNode } from "react";
|
|
10
10
|
|
|
11
11
|
//#region src/create-config/for-resources/create-component.d.ts
|
|
12
12
|
type ScopedComponentAvailableProps<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject> = MergedLayoutInProps<Resources, InProps, Composables> & LayoutCustomProps;
|
|
13
|
+
type ResourceComponentResolvedAvailableProps<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentCustomProps extends InPropsObject, EntryCustomProps extends InPropsObject> = ResolvedBuiltPropShape<ScopedComponentAvailableProps<Resources, InProps, Composables, LayoutCustomProps> & ComponentCustomProps & EntryCustomProps>;
|
|
14
|
+
/** Props declared by one resource entry or createResourceComponents call. */
|
|
15
|
+
type ResourceComponentPropsBag<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentCustomProps extends InPropsObject, Props extends object = {}> = {
|
|
16
|
+
include?: ResourceEntryInclude<Props> & LayoutIncludeProps<Resources, InProps, Composables> & Record<Exclude<SafeKeyOf<ResourceEntryInclude<Props>>, SafeKeyOf<LayoutIncludeProps<Resources, InProps, Composables>>>, never>;
|
|
17
|
+
custom?: ResourceEntryCustom<Props>;
|
|
18
|
+
defined?: ResourceEntryDefined<Props> & Partial<ResourceComponentResolvedAvailableProps<Resources, InProps, Composables, LayoutCustomProps, ComponentCustomProps, ResourceEntryCustom<Props>>> & Record<Exclude<SafeKeyOf<ResourceEntryDefined<Props>>, SafeKeyOf<ResourceComponentResolvedAvailableProps<Resources, InProps, Composables, LayoutCustomProps, ComponentCustomProps, ResourceEntryCustom<Props>>>>, never>;
|
|
19
|
+
};
|
|
20
|
+
type ResourceEntryProps<EntryOrProps> = EntryOrProps extends {
|
|
21
|
+
render: unknown;
|
|
22
|
+
props?: infer Props;
|
|
23
|
+
} ? Props : EntryOrProps;
|
|
24
|
+
type ResourceEntryInclude<EntryOrProps> = ResourceEntryProps<EntryOrProps> extends {
|
|
25
|
+
include?: infer Include;
|
|
26
|
+
} ? Include extends object ? Include : {} : {};
|
|
27
|
+
type ResourceEntryCustom<EntryOrProps> = ResourceEntryProps<EntryOrProps> extends {
|
|
28
|
+
custom?: infer Custom;
|
|
29
|
+
} ? Custom extends InPropsObject ? Custom : {} : {};
|
|
30
|
+
type ResourceEntryDefined<EntryOrProps> = ResourceEntryProps<EntryOrProps> extends {
|
|
31
|
+
defined?: infer Defined;
|
|
32
|
+
} ? Defined extends object ? Defined : {} : {};
|
|
33
|
+
type WithDefinedIncluded<Include, Defined extends object> = Omit<Include, SafeKeyOf<Defined>> & { [Key in SafeKeyOf<Defined>]: true };
|
|
34
|
+
type WithDefinedOptional<Props, Defined extends object> = Show<Omit<Props, SafeKeyOf<Defined>> & Partial<Pick<Props, SafeKeyOf<Defined> & keyof Props>>>;
|
|
35
|
+
type MergedResourceEntryInclude<PropsByResource> = UnionToIntersection<PropsByResource[keyof PropsByResource] extends infer Props ? Props extends unknown ? WithDefinedIncluded<ResourceEntryInclude<Props>, ResourceEntryDefined<Props>> : never : never>;
|
|
36
|
+
type MergedResourceEntryCustom<PropsByResource> = UnionToIntersection<PropsByResource[keyof PropsByResource] extends infer Props ? Props extends unknown ? ResourceEntryCustom<Props> : never : never>;
|
|
13
37
|
type ScopedResourceComponentProps<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<Resources, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string> = Show<Omit<ResolvedIncludedPropsAsDefined<ScopedComponentAvailableProps<Resources, InProps, Composables, LayoutCustomProps>, ComponentIncludeProps> & ResolvedBuiltPropShape<ComponentCustomProps>, 'children' | 'resource'> & {
|
|
14
38
|
children?: ReactNode;
|
|
15
39
|
resource: Resource;
|
|
@@ -28,7 +52,7 @@ type ScopedResourceComponentProps<Resources extends ReadonlyArray<ResourceDefini
|
|
|
28
52
|
*
|
|
29
53
|
* `children` / `resource` stay owned by the wrapper (not taken from the return).
|
|
30
54
|
*/
|
|
31
|
-
type ScopedResourceComponentCallProps<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<Resources, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, RenderResult = never> = Show<ScopedResourceComponentProps<Resources, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource> & Omit<PropsFromRenderResult<RenderResult>, 'children' | 'resource'
|
|
55
|
+
type ScopedResourceComponentCallProps<Resources extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<Resources>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<Resources, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, RenderResult = never, DefinedProps extends object = {}> = WithDefinedOptional<Show<ScopedResourceComponentProps<Resources, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource> & Omit<PropsFromRenderResult<RenderResult>, 'children' | 'resource'>>, DefinedProps>;
|
|
32
56
|
/**
|
|
33
57
|
* Fields reverse-inferred from each scoped component declaration.
|
|
34
58
|
*
|
|
@@ -53,6 +77,14 @@ type JustScopedComponent<T> = { [Key in keyof T & keyof ScopedComponentShape]: K
|
|
|
53
77
|
* empty map so sibling/context access stays closed.
|
|
54
78
|
*/
|
|
55
79
|
type NormalizeScopedComponentsMap<Components> = unknown extends Components ? {} : Components extends Record<string, unknown> ? Components : {};
|
|
80
|
+
declare const scopedReusableResourceEntryBrand: unique symbol;
|
|
81
|
+
/** A resource entry whose props and component map were captured for reuse. */
|
|
82
|
+
type ScopedReusableResourceEntry<Props, Components> = {
|
|
83
|
+
readonly [scopedReusableResourceEntryBrand]: {
|
|
84
|
+
props: Props;
|
|
85
|
+
components: NormalizeScopedComponentsMap<Components>;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
56
88
|
/** Extracts the prop definitions declared on a scoped component. */
|
|
57
89
|
type ScopedComponentOwnProps<Definition> = Definition extends {
|
|
58
90
|
props: infer Props;
|
|
@@ -113,15 +145,15 @@ type ResolvedScopedComponentsMap<Components> = { [Name in keyof NormalizeScopedC
|
|
|
113
145
|
* Call-site props for `context.<Resource>`: outermost createComponent
|
|
114
146
|
* include/custom props (minus `resource`).
|
|
115
147
|
*/
|
|
116
|
-
type ScopedResourceContextCallProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string> = Show<Omit<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource>, 'resource'
|
|
117
|
-
type ScopedResourceComponentRenderContext<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, ComponentsByResource> = {
|
|
148
|
+
type ScopedResourceContextCallProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, DefinedProps extends object = {}> = WithDefinedOptional<Show<Omit<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource>, 'resource'>>, DefinedProps>;
|
|
149
|
+
type ScopedResourceComponentRenderContext<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, ComponentsByResource, PropsByResource> = {
|
|
118
150
|
/**
|
|
119
151
|
* The resource layout for the component's current `resource`, created
|
|
120
152
|
* internally from that resource's entry options. Accepts the layout's
|
|
121
153
|
* custom props.
|
|
122
154
|
*/
|
|
123
155
|
Root: (props: Show<ResolveProps<LayoutCustomProps>>) => JSX.Element;
|
|
124
|
-
} & { [Resource in keyof ComponentsByResource as Capitalize<Resource & string>]-?: ScopedComponentSignature<ScopedResourceContextCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource & string
|
|
156
|
+
} & { [Resource in keyof ComponentsByResource as Capitalize<Resource & string>]-?: ScopedComponentSignature<ScopedResourceContextCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource & string, ResourceEntryDefined<Resource extends keyof PropsByResource ? PropsByResource[Resource] : {}>>> & ResolvedScopedComponentsMap<ComponentsByResource[Resource]> };
|
|
125
157
|
/**
|
|
126
158
|
* Reverse-mapped `resources` constraint.
|
|
127
159
|
*
|
|
@@ -143,12 +175,13 @@ type ScopedResourceComponentRenderContext<ResourceDefinitions extends ReadonlyAr
|
|
|
143
175
|
* contextually types parameters, and the raw capture keeps the literal for
|
|
144
176
|
* call-site resolution.
|
|
145
177
|
*/
|
|
146
|
-
type ScopedComponentResourceEntry<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, Components> = {
|
|
178
|
+
type ScopedComponentResourceEntry<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, EntryProps extends object, Components> = {
|
|
147
179
|
/**
|
|
148
180
|
* Overrides the layout name used by `context.Root` for this resource.
|
|
149
181
|
* Defaults to the scope's configured name, then the capitalized resource.
|
|
150
182
|
*/
|
|
151
|
-
name?: string;
|
|
183
|
+
name?: string; /** Props exposed or pre-filled for this resource entry. */
|
|
184
|
+
props?: EntryProps;
|
|
152
185
|
/**
|
|
153
186
|
* Components scoped to this resource. Each becomes a component on this
|
|
154
187
|
* resource's render context, on `context.<Resource>`, and on the component
|
|
@@ -164,29 +197,31 @@ type ScopedComponentResourceEntry<ResourceDefinitions extends ReadonlyArray<Reso
|
|
|
164
197
|
* call-site props). Props and compound statics of a returned component
|
|
165
198
|
* type are inferred at call sites from the render return type.
|
|
166
199
|
*/
|
|
167
|
-
PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps
|
|
168
|
-
render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps
|
|
200
|
+
PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<ComponentIncludeProps & ResourceEntryInclude<EntryProps>, ResourceEntryDefined<EntryProps>>, ComponentCustomProps & ResourceEntryCustom<EntryProps>, Resource> & Show<ResolvedBuiltPropShape<ScopedComponentOwnProps<Components[Name]>>>, ScopedRenderResult, Omit<ResolvedScopedComponentsMap<Components>, Name>> & Components[Name] }; /** Renders this resource's content inside the shared render function. */
|
|
201
|
+
render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<ComponentIncludeProps & ResourceEntryInclude<EntryProps>, ResourceEntryDefined<EntryProps>>, ComponentCustomProps & ResourceEntryCustom<EntryProps>, Resource>, ResolvedScopedComponentsMap<Components>, ScopedRenderResult>;
|
|
169
202
|
};
|
|
170
|
-
type ScopedComponentResourceEntries<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, ComponentsByResource> = { [Resource in keyof ComponentsByResource]: ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource & string,
|
|
203
|
+
type ScopedComponentResourceEntries<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, PropsByResource, ComponentsByResource> = { [Resource in keyof ComponentsByResource]: ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource & string, Resource extends keyof PropsByResource ? PropsByResource[Resource] & object : {}, ComponentsByResource[Resource]> & {
|
|
204
|
+
props?: Resource extends keyof PropsByResource ? PropsByResource[Resource] extends object ? PropsByResource[Resource] & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentCustomProps, NoInfer<PropsByResource[Resource]>> : unknown : unknown;
|
|
205
|
+
} } & Record<Exclude<keyof ComponentsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
|
|
171
206
|
/**
|
|
172
207
|
* Props of a resource-bound component. `resource` is supplied by the binding,
|
|
173
208
|
* so it is removed from the call site.
|
|
174
209
|
*/
|
|
175
|
-
type ScopedBoundResourceComponentProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, RenderResult = never> = Show<Omit<ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult>, 'resource'>>;
|
|
176
|
-
type ScopedBoundResourceComponent<
|
|
177
|
-
(props:
|
|
210
|
+
type ScopedBoundResourceComponentProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, Resource extends string, RenderResult = never, DefinedProps extends object = {}> = Show<Omit<ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult, DefinedProps>, 'resource'>>;
|
|
211
|
+
type ScopedBoundResourceComponent<Props extends object, Resource extends string, Components = {}> = BaseComponent<string, Props> & ResolvedScopedComponentsMap<Components> & {
|
|
212
|
+
(props: Props): JSX.Element;
|
|
178
213
|
/**
|
|
179
214
|
* Type-only property containing the bound resource. This property is
|
|
180
215
|
* `undefined` at runtime.
|
|
181
216
|
*/
|
|
182
217
|
readonly resource: Resource;
|
|
183
218
|
};
|
|
184
|
-
type ScopedResourceComponent<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, ComponentsByResource, RenderResult = never> = BaseComponent<string, ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, SelectedLayoutResources<ResourceDefinitions, Arguments>, RenderResult
|
|
219
|
+
type ScopedResourceComponent<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends IncludedProps<ScopedComponentAvailableProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps>>, ComponentCustomProps extends InPropsObject, ComponentsByResource, PropsByResource, RenderResult = never> = BaseComponent<string, ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, SelectedLayoutResources<ResourceDefinitions, Arguments>, RenderResult, ResourceEntryDefined<PropsByResource[keyof PropsByResource]>>> & {
|
|
185
220
|
/**
|
|
186
221
|
* The `resource` prop drives the generic, so it is inferred from the call
|
|
187
222
|
* site. Explicit type arguments are never needed.
|
|
188
223
|
*/
|
|
189
|
-
<const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(props: ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult
|
|
224
|
+
<const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(props: ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult, ResourceEntryDefined<Resource extends keyof PropsByResource ? PropsByResource[Resource] : {}>>): JSX.Element;
|
|
190
225
|
/**
|
|
191
226
|
* Returns a factory that binds the component to one resource. The bound
|
|
192
227
|
* component accepts every prop except `resource`, which the binding supplies.
|
|
@@ -202,7 +237,7 @@ type ScopedResourceComponent<ResourceDefinitions extends ReadonlyArray<ResourceD
|
|
|
202
237
|
*
|
|
203
238
|
* @returns A factory producing a component bound to the given resource.
|
|
204
239
|
*/
|
|
205
|
-
asHOF(): <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(resource: Resource) => ScopedBoundResourceComponent<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps,
|
|
240
|
+
asHOF(): <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(resource: Resource) => Show<ScopedBoundResourceComponent<ScopedBoundResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult, ResourceEntryDefined<Resource extends keyof PropsByResource ? PropsByResource[Resource] : {}>>, Resource, Resource extends keyof ComponentsByResource ? ComponentsByResource[Resource] : {}>>;
|
|
206
241
|
};
|
|
207
242
|
/**
|
|
208
243
|
* Props bag for `setProps` / optional extras: forbids keys already present on
|
|
@@ -221,13 +256,20 @@ type ScopedComponentExtraProps<ResourceDefinitions extends ReadonlyArray<Resourc
|
|
|
221
256
|
* `(...args: any) => …`) so destructured props stay precise — an `any`
|
|
222
257
|
* constraint on Options would collapse them.
|
|
223
258
|
*/
|
|
224
|
-
type ScopedCreateResourceComponents<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject> = <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>, const Components, const
|
|
259
|
+
type ScopedCreateResourceComponents<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject> = <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>, const Components, const Props extends object = {}>(options: {
|
|
225
260
|
resource: Resource;
|
|
226
|
-
props?:
|
|
261
|
+
props?: Props & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseCustom, NoInfer<Props>> & {
|
|
262
|
+
include?: ResourceEntryInclude<Props> & { [Key in keyof BaseInclude & string]?: never };
|
|
263
|
+
custom?: ResourceEntryCustom<Props> & { [Key in keyof BaseCustom & string]?: never };
|
|
264
|
+
};
|
|
227
265
|
name?: string;
|
|
228
|
-
components?: { [Name in keyof Components]: JustScopedComponent<Components[Name]> & PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude &
|
|
229
|
-
render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude &
|
|
230
|
-
}) => ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude
|
|
266
|
+
components?: { [Name in keyof Components]: JustScopedComponent<Components[Name]> & PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<BaseInclude & ResourceEntryInclude<Props>, ResourceEntryDefined<Props>>, BaseCustom & ResourceEntryCustom<Props>, Resource> & Show<ResolvedBuiltPropShape<ScopedComponentOwnProps<Components[Name]>>>, ScopedRenderResult, Omit<ResolvedScopedComponentsMap<Components>, Name>> & Components[Name] };
|
|
267
|
+
render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<BaseInclude & ResourceEntryInclude<Props>, ResourceEntryDefined<Props>>, BaseCustom & ResourceEntryCustom<Props>, Resource>, ResolvedScopedComponentsMap<NormalizeScopedComponentsMap<Components>>, ScopedRenderResult>;
|
|
268
|
+
}) => ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude, BaseCustom, Resource, Props, NormalizeScopedComponentsMap<Components>> & {
|
|
269
|
+
props: Props; /** Type-only metadata preserving the exact captured props bag. */
|
|
270
|
+
readonly resourceComponentProps: Props; /** Type-only metadata preserving the exact captured components map. */
|
|
271
|
+
readonly resourceComponents: NormalizeScopedComponentsMap<Components>;
|
|
272
|
+
} & ScopedReusableResourceEntry<Props, Components>;
|
|
231
273
|
/**
|
|
232
274
|
* Options for {@link ScopedCreateComponent}. Extends the shared
|
|
233
275
|
* `{ props?, render }` shape; `props` is the layout include/custom bag, and
|
|
@@ -241,23 +283,44 @@ type ScopedCreateResourceComponents<ResourceDefinitions extends ReadonlyArray<Re
|
|
|
241
283
|
* to the `render` `props` parameter (that would circularly depend on the
|
|
242
284
|
* return).
|
|
243
285
|
*/
|
|
244
|
-
interface ScopedCreateComponentOptions<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, ComponentCustomProps extends InPropsObject, ComponentsByResource, RenderResult extends ScopedRenderResult> extends PropsRenderDefinition<LayoutProps<ResourceDefinitions, InProps, Composables, ComponentIncludeProps, ComponentCustomProps>, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps
|
|
286
|
+
interface ScopedCreateComponentOptions<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, ComponentIncludeProps extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, ComponentCustomProps extends InPropsObject, PropsByResource, ComponentsByResource, RenderResult extends ScopedRenderResult> extends PropsRenderDefinition<LayoutProps<ResourceDefinitions, InProps, Composables, ComponentIncludeProps, ComponentCustomProps>, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps & MergedResourceEntryInclude<PropsByResource>, ComponentCustomProps & MergedResourceEntryCustom<PropsByResource>, SelectedLayoutResources<ResourceDefinitions, Arguments>>, RenderResult, ScopedResourceComponentRenderContext<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps & MergedResourceEntryInclude<PropsByResource>, ComponentCustomProps & MergedResourceEntryCustom<PropsByResource>, ComponentsByResource, PropsByResource>> {
|
|
245
287
|
/**
|
|
246
288
|
* Per-resource content, keyed by resource. Each entry holds that resource's
|
|
247
289
|
* scoped `components` and its `render` — not layout option values like
|
|
248
290
|
* `title` (those are call-site props on `context.<Resource>` / the outer
|
|
249
291
|
* component).
|
|
250
292
|
*/
|
|
251
|
-
resources?: ScopedComponentResourceEntries<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps
|
|
293
|
+
resources?: ScopedComponentResourceEntries<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps & MergedResourceEntryInclude<PropsByResource>, ComponentCustomProps & MergedResourceEntryCustom<PropsByResource>, PropsByResource, ComponentsByResource>;
|
|
252
294
|
}
|
|
253
295
|
/**
|
|
254
296
|
* Options for a `setProps` thunk: same as createComponent options, but
|
|
255
297
|
* optional `props` may only add keys not already defined by `setProps`.
|
|
256
298
|
*/
|
|
257
|
-
type ScopedCreateComponentWithPropsOptions<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject, ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, ExtraCustom extends InPropsObject, ComponentsByResource, RenderResult extends ScopedRenderResult> = Omit<ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, ComponentsByResource, RenderResult>, 'props'> & {
|
|
299
|
+
type ScopedCreateComponentWithPropsOptions<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject, ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, ExtraCustom extends InPropsObject, PropsByResource, ComponentsByResource, RenderResult extends ScopedRenderResult> = Omit<ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, PropsByResource, ComponentsByResource, RenderResult>, 'props'> & {
|
|
258
300
|
props?: ScopedComponentExtraProps<ResourceDefinitions, InProps, Composables, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom>;
|
|
259
301
|
};
|
|
260
|
-
type ScopedCreateComponentFn<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject> = <const ComponentsByResource, const RenderResult extends ScopedRenderResult, const ComponentIncludeProps extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ComponentCustomProps extends InPropsObject = {}>(options: ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource, RenderResult>) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource, RenderResult>;
|
|
302
|
+
type ScopedCreateComponentFn<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject> = <const ComponentsByResource, const RenderResult extends ScopedRenderResult, const ComponentIncludeProps extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ComponentCustomProps extends InPropsObject = {}>(options: ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, {}, ComponentsByResource, RenderResult>) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource, {}, RenderResult>;
|
|
303
|
+
type ComponentsForResourceProps<PropsByResource, ComponentsByResource> = { [Resource in keyof PropsByResource]: Resource extends keyof ComponentsByResource ? NormalizeScopedComponentsMap<ComponentsByResource[Resource]> : {} };
|
|
304
|
+
type PropsFromCreatedResourceEntries<EntriesByResource> = { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] extends {
|
|
305
|
+
readonly [scopedReusableResourceEntryBrand]: {
|
|
306
|
+
props: infer Props extends object;
|
|
307
|
+
};
|
|
308
|
+
} ? Props : {} };
|
|
309
|
+
type ComponentsFromCreatedResourceEntries<EntriesByResource> = { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] extends {
|
|
310
|
+
readonly [scopedReusableResourceEntryBrand]: {
|
|
311
|
+
components: infer Components;
|
|
312
|
+
};
|
|
313
|
+
} ? NormalizeScopedComponentsMap<Components> : {} };
|
|
314
|
+
type ScopedCreateComponentWithCreatedEntriesFn<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, BaseCustom extends InPropsObject = {}> = <const EntriesByResource, const RenderResult extends ScopedRenderResult, const ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: Omit<ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, PropsFromCreatedResourceEntries<NoInfer<EntriesByResource>>, ComponentsFromCreatedResourceEntries<NoInfer<EntriesByResource>>, RenderResult>, 'resources'> & {
|
|
315
|
+
resources: { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] & ScopedReusableResourceEntry<object, unknown> };
|
|
316
|
+
}) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsFromCreatedResourceEntries<EntriesByResource>>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsFromCreatedResourceEntries<EntriesByResource>>, ComponentsFromCreatedResourceEntries<EntriesByResource>, PropsFromCreatedResourceEntries<EntriesByResource>, RenderResult>;
|
|
317
|
+
/** createComponent overload for entries that declare the unified props bag. */
|
|
318
|
+
type ScopedCreateComponentWithResourcePropsFn<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, BaseCustom extends InPropsObject = {}> = <const PropsByResource, const ComponentsByResource, const RenderResult extends ScopedRenderResult, const ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: Omit<ScopedCreateComponentOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, PropsByResource, ComponentsForResourceProps<PropsByResource, ComponentsByResource>, RenderResult>, 'resources'> & {
|
|
319
|
+
resources: { [Resource in keyof PropsByResource]: ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsByResource>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, Resource & string, PropsByResource[Resource] & object, Resource extends keyof ComponentsByResource ? ComponentsByResource[Resource] : unknown> & {
|
|
320
|
+
props: PropsByResource[Resource] & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, NoInfer<PropsByResource[Resource] & object>>;
|
|
321
|
+
components?: Resource extends keyof ComponentsByResource ? ComponentsByResource[Resource] : unknown;
|
|
322
|
+
} } & Record<Exclude<keyof PropsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
|
|
323
|
+
}) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsByResource>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, ComponentsForResourceProps<PropsByResource, ComponentsByResource>, PropsByResource, RenderResult>;
|
|
261
324
|
/**
|
|
262
325
|
* Result of `createComponent.setProps`: a createComponent thunk with base
|
|
263
326
|
* include/custom prefilled, optional extras that cannot redefine base keys,
|
|
@@ -266,12 +329,12 @@ type ScopedCreateComponentFn<ResourceDefinitions extends ReadonlyArray<ResourceD
|
|
|
266
329
|
* Merged props (base ∪ extras) type the returned component, top-level
|
|
267
330
|
* `render`, and `context.<Resource>` call sites.
|
|
268
331
|
*/
|
|
269
|
-
type ScopedCreateComponentWithProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject> = {
|
|
270
|
-
<const ComponentsByResource, const RenderResult extends ScopedRenderResult, const ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: ScopedCreateComponentWithPropsOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom, ComponentsByResource, RenderResult>): ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude
|
|
332
|
+
type ScopedCreateComponentWithProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject, BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables>, BaseCustom extends InPropsObject> = ScopedCreateComponentWithCreatedEntriesFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom> & ScopedCreateComponentWithResourcePropsFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom> & {
|
|
333
|
+
<const ComponentsByResource, const PropsByResource, const RenderResult extends ScopedRenderResult, const ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: ScopedCreateComponentWithPropsOptions<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom, PropsByResource, ComponentsByResource, RenderResult>): ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsByResource>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, ComponentsByResource, PropsByResource, RenderResult>;
|
|
271
334
|
createResourceComponents: ScopedCreateResourceComponents<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom>;
|
|
272
335
|
};
|
|
273
336
|
type ScopedCreateComponentSetProps<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject> = <const BaseInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, BaseCustom extends InPropsObject = {}>(props: LayoutProps<ResourceDefinitions, InProps, Composables, BaseInclude, BaseCustom>) => ScopedCreateComponentWithProps<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom>;
|
|
274
|
-
type ScopedCreateComponent<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject> = ScopedCreateComponentFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps> & {
|
|
337
|
+
type ScopedCreateComponent<ResourceDefinitions extends ReadonlyArray<ResourceDefinition>, InProps extends InPropsDefinition<ResourceDefinitions>, Composables extends ComposableComponents, Arguments extends ReadonlyArray<unknown>, LayoutCustomProps extends InPropsObject> = ScopedCreateComponentFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps> & ScopedCreateComponentWithCreatedEntriesFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps> & ScopedCreateComponentWithResourcePropsFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps> & {
|
|
275
338
|
/**
|
|
276
339
|
* Prefills include/custom props for a shared createComponent thunk. The
|
|
277
340
|
* thunk still accepts optional extra props (keys already set here are
|
|
@@ -280,5 +343,5 @@ type ScopedCreateComponent<ResourceDefinitions extends ReadonlyArray<ResourceDef
|
|
|
280
343
|
setProps: ScopedCreateComponentSetProps<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps>;
|
|
281
344
|
};
|
|
282
345
|
//#endregion
|
|
283
|
-
export { ScopedCreateComponent };
|
|
346
|
+
export { ScopedCreateComponent, ScopedCreateResourceComponents };
|
|
284
347
|
//# sourceMappingURL=create-component.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-component.d.mts","names":[],"sources":["../../../src/create-config/for-resources/create-component.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-component.d.mts","names":[],"sources":["../../../src/create-config/for-resources/create-component.ts"],"mappings":"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"}
|
|
@@ -30,9 +30,23 @@ function createForResources({ createLayoutForResource, createMakeComposableLayou
|
|
|
30
30
|
function scopedForResource(options) {
|
|
31
31
|
return createLayoutForResource(options.name ?? defaultNames.get(options.resource), options.resource);
|
|
32
32
|
}
|
|
33
|
+
function mergeCreateComponentProps(...bags) {
|
|
34
|
+
const include = {};
|
|
35
|
+
const custom = {};
|
|
36
|
+
for (const bag of bags) {
|
|
37
|
+
Object.assign(include, bag?.include);
|
|
38
|
+
Object.assign(custom, bag?.custom);
|
|
39
|
+
for (const key of Object.keys(bag?.defined ?? {})) include[key] = true;
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
include,
|
|
43
|
+
custom
|
|
44
|
+
};
|
|
45
|
+
}
|
|
33
46
|
function createComponent(componentOptions) {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
47
|
+
const mergedProps = mergeCreateComponentProps(componentOptions.props, ...Object.values(componentOptions.resources ?? {}).map((entry) => entry.props));
|
|
48
|
+
const include = mergedProps.include ?? {};
|
|
49
|
+
const custom = mergedProps.custom ?? {};
|
|
36
50
|
const selectedResources = new Set(resourceOptions.map(({ resource }) => resource));
|
|
37
51
|
const componentPropsContext = (0, react.createContext)(void 0);
|
|
38
52
|
const definedEntries = /* @__PURE__ */ new Map();
|
|
@@ -126,9 +140,12 @@ function createForResources({ createLayoutForResource, createMakeComposableLayou
|
|
|
126
140
|
if (entry === void 0) throw new Error(`Render context component "Root" requires a "resources.${resource}" entry to build the layout for resource "${resource}"`);
|
|
127
141
|
const availableDefinitions = getComponentPropDefinitions(resource);
|
|
128
142
|
const layoutOptions = {};
|
|
143
|
+
const defined = entry.props?.defined ?? {};
|
|
129
144
|
for (const key of Object.keys(availableDefinitions)) {
|
|
130
|
-
if (key in
|
|
145
|
+
if (key in defined) layoutOptions[key] = defined[key];
|
|
131
146
|
const capitalized = require_capitalize.capitalize(key);
|
|
147
|
+
if (capitalized in defined) layoutOptions[capitalized] = defined[capitalized];
|
|
148
|
+
if (key in componentProps) layoutOptions[key] = componentProps[key];
|
|
132
149
|
if (capitalized in componentProps) layoutOptions[capitalized] = componentProps[capitalized];
|
|
133
150
|
}
|
|
134
151
|
root = scopedCreateResourceLayout({
|
|
@@ -138,28 +155,38 @@ function createForResources({ createLayoutForResource, createMakeComposableLayou
|
|
|
138
155
|
});
|
|
139
156
|
roots.set(resource, root);
|
|
140
157
|
}
|
|
141
|
-
|
|
158
|
+
const entry = definedEntries.get(resource);
|
|
159
|
+
const definedCustom = {};
|
|
160
|
+
for (const [key, value] of Object.entries(entry?.props?.defined ?? {})) if (key in custom) definedCustom[key] = value;
|
|
161
|
+
return (0, react.createElement)(root, {
|
|
162
|
+
...definedCustom,
|
|
163
|
+
...rootProps
|
|
164
|
+
});
|
|
142
165
|
}
|
|
143
166
|
renderContext.Root = Root;
|
|
144
167
|
function Component(componentProps) {
|
|
145
168
|
const componentResource = componentProps.resource;
|
|
146
169
|
if (!selectedResources.has(componentResource)) throw new Error(`Resource "${componentResource}" is not available in this scoped component`);
|
|
170
|
+
const resolvedComponentProps = {
|
|
171
|
+
...definedEntries.get(componentResource)?.props?.defined ?? {},
|
|
172
|
+
...componentProps
|
|
173
|
+
};
|
|
147
174
|
const availableDefinitions = getComponentPropDefinitions(componentResource);
|
|
148
175
|
const definitionsToValidate = {};
|
|
149
176
|
for (const [key, inclusion] of Object.entries(include)) {
|
|
150
177
|
const definition = availableDefinitions[key];
|
|
151
178
|
if (!definition) continue;
|
|
152
|
-
if (inclusion === true || key in
|
|
179
|
+
if (inclusion === true || key in resolvedComponentProps) definitionsToValidate[key] = definition;
|
|
153
180
|
}
|
|
154
181
|
for (const [key, definition] of Object.entries(custom)) {
|
|
155
182
|
if (key === "children" || key === "resource") continue;
|
|
156
183
|
definitionsToValidate[key] = definition;
|
|
157
184
|
}
|
|
158
|
-
(0, _jfdevelops_react_layout_validator.validateProps)(definitionsToValidate,
|
|
185
|
+
(0, _jfdevelops_react_layout_validator.validateProps)(definitionsToValidate, resolvedComponentProps, {
|
|
159
186
|
layoutName: definedEntries.get(componentResource)?.name ?? defaultNames.get(componentResource) ?? require_capitalize.capitalize(componentResource),
|
|
160
187
|
resource: componentResource
|
|
161
188
|
});
|
|
162
|
-
return (0, react.createElement)(componentPropsContext.Provider, { value:
|
|
189
|
+
return (0, react.createElement)(componentPropsContext.Provider, { value: resolvedComponentProps }, require_scoped_render.resolveScopedRenderResult(componentOptions.render(resolvedComponentProps, renderContext), resolvedComponentProps));
|
|
163
190
|
}
|
|
164
191
|
/**
|
|
165
192
|
* Bound components are created once per resource and cached. Returning a
|
|
@@ -192,38 +219,28 @@ function createForResources({ createLayoutForResource, createMakeComposableLayou
|
|
|
192
219
|
props: void 0
|
|
193
220
|
});
|
|
194
221
|
}
|
|
195
|
-
const createResourceComponentExtras = /* @__PURE__ */ new WeakMap();
|
|
196
|
-
function mergeCreateComponentProps(...bags) {
|
|
197
|
-
const include = {};
|
|
198
|
-
const custom = {};
|
|
199
|
-
for (const bag of bags) {
|
|
200
|
-
Object.assign(include, bag?.include);
|
|
201
|
-
Object.assign(custom, bag?.custom);
|
|
202
|
-
}
|
|
203
|
-
return {
|
|
204
|
-
include,
|
|
205
|
-
custom
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
222
|
function createComponentSetProps(baseProps) {
|
|
209
223
|
function createWithProps(componentOptions) {
|
|
210
|
-
const fromEntries = mergeCreateComponentProps(...Object.values(componentOptions.resources ?? {}).map((entry) => createResourceComponentExtras.get(entry)));
|
|
211
224
|
return createComponent({
|
|
212
225
|
...componentOptions,
|
|
213
|
-
props: mergeCreateComponentProps(baseProps,
|
|
226
|
+
props: mergeCreateComponentProps(baseProps, componentOptions.props)
|
|
214
227
|
});
|
|
215
228
|
}
|
|
216
|
-
createWithProps.createResourceComponents =
|
|
217
|
-
const { resource, props, ...entry } = options;
|
|
218
|
-
if (!resourceOptions.some((resourceOption) => resourceOption.resource === resource)) throw new Error(`Resource "${resource}" is not available in this scoped component`);
|
|
219
|
-
if (props !== void 0) createResourceComponentExtras.set(entry, props);
|
|
220
|
-
return entry;
|
|
221
|
-
};
|
|
229
|
+
createWithProps.createResourceComponents = createResourceComponents;
|
|
222
230
|
return createWithProps;
|
|
223
231
|
}
|
|
232
|
+
function createResourceComponents(options) {
|
|
233
|
+
const { resource, props, ...entry } = options;
|
|
234
|
+
if (!resourceOptions.some((resourceOption) => resourceOption.resource === resource)) throw new Error(`Resource "${resource}" is not available in this scoped component`);
|
|
235
|
+
return {
|
|
236
|
+
...entry,
|
|
237
|
+
props: props ?? {}
|
|
238
|
+
};
|
|
239
|
+
}
|
|
224
240
|
Object.assign(createComponent, { setProps: createComponentSetProps });
|
|
225
241
|
const scopedExtras = {
|
|
226
242
|
createComponent,
|
|
243
|
+
createResourceComponents,
|
|
227
244
|
forResource: scopedForResource,
|
|
228
245
|
resources: void 0
|
|
229
246
|
};
|