@jfdevelops/react-layout 0.17.2 → 0.17.3

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.
@@ -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
  *
@@ -113,15 +137,15 @@ type ResolvedScopedComponentsMap<Components> = { [Name in keyof NormalizeScopedC
113
137
  * Call-site props for `context.<Resource>`: outermost createComponent
114
138
  * include/custom props (minus `resource`).
115
139
  */
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> = {
140
+ 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>;
141
+ 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
142
  /**
119
143
  * The resource layout for the component's current `resource`, created
120
144
  * internally from that resource's entry options. Accepts the layout's
121
145
  * custom props.
122
146
  */
123
147
  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>> & ResolvedScopedComponentsMap<ComponentsByResource[Resource]> };
148
+ } & { [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
149
  /**
126
150
  * Reverse-mapped `resources` constraint.
127
151
  *
@@ -143,12 +167,13 @@ type ScopedResourceComponentRenderContext<ResourceDefinitions extends ReadonlyAr
143
167
  * contextually types parameters, and the raw capture keeps the literal for
144
168
  * call-site resolution.
145
169
  */
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> = {
170
+ 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
171
  /**
148
172
  * Overrides the layout name used by `context.Root` for this resource.
149
173
  * Defaults to the scope's configured name, then the capitalized resource.
150
174
  */
151
- name?: string;
175
+ name?: string; /** Props exposed or pre-filled for this resource entry. */
176
+ props?: EntryProps;
152
177
  /**
153
178
  * Components scoped to this resource. Each becomes a component on this
154
179
  * resource's render context, on `context.<Resource>`, and on the component
@@ -164,29 +189,31 @@ type ScopedComponentResourceEntry<ResourceDefinitions extends ReadonlyArray<Reso
164
189
  * call-site props). Props and compound statics of a returned component
165
190
  * type are inferred at call sites from the render return type.
166
191
  */
167
- PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource> & Show<ResolvedBuiltPropShape<ScopedComponentOwnProps<Components[Name]>>>, ScopedRenderResult, Omit<ResolvedScopedComponentsMap<Components>, Name>> & Components[Name] }; /** Renders this resource's content inside the shared render function. */
168
- render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource>, ResolvedScopedComponentsMap<Components>, ScopedRenderResult>;
192
+ 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. */
193
+ render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<ComponentIncludeProps & ResourceEntryInclude<EntryProps>, ResourceEntryDefined<EntryProps>>, ComponentCustomProps & ResourceEntryCustom<EntryProps>, Resource>, ResolvedScopedComponentsMap<Components>, ScopedRenderResult>;
169
194
  };
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, ComponentsByResource[Resource]> } & Record<Exclude<keyof ComponentsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
195
+ 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]> & {
196
+ props?: Resource extends keyof PropsByResource ? PropsByResource[Resource] extends object ? PropsByResource[Resource] & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentCustomProps, NoInfer<PropsByResource[Resource]>> : unknown : unknown;
197
+ } } & Record<Exclude<keyof ComponentsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
171
198
  /**
172
199
  * Props of a resource-bound component. `resource` is supplied by the binding,
173
200
  * so it is removed from the call site.
174
201
  */
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<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, Resource extends string, RenderResult = never> = BaseComponent<string, ScopedBoundResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult>> & ResolvedScopedComponentsMap<Resource extends keyof ComponentsByResource ? ComponentsByResource[Resource] : {}> & {
177
- (props: ScopedBoundResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult>): JSX.Element;
202
+ 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'>>;
203
+ type ScopedBoundResourceComponent<Props extends object, Resource extends string, Components = {}> = BaseComponent<string, Props> & ResolvedScopedComponentsMap<Components> & {
204
+ (props: Props): JSX.Element;
178
205
  /**
179
206
  * Type-only property containing the bound resource. This property is
180
207
  * `undefined` at runtime.
181
208
  */
182
209
  readonly resource: Resource;
183
210
  };
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>> & {
211
+ 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
212
  /**
186
213
  * The `resource` prop drives the generic, so it is inferred from the call
187
214
  * site. Explicit type arguments are never needed.
188
215
  */
189
- <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(props: ScopedResourceComponentCallProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, Resource, RenderResult>): JSX.Element;
216
+ <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
217
  /**
191
218
  * Returns a factory that binds the component to one resource. The bound
192
219
  * component accepts every prop except `resource`, which the binding supplies.
@@ -202,7 +229,7 @@ type ScopedResourceComponent<ResourceDefinitions extends ReadonlyArray<ResourceD
202
229
  *
203
230
  * @returns A factory producing a component bound to the given resource.
204
231
  */
205
- asHOF(): <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(resource: Resource) => ScopedBoundResourceComponent<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource, Resource, RenderResult>;
232
+ asHOF(): <const Resource extends SelectedLayoutResources<ResourceDefinitions, Arguments>>(resource: Resource) => 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
233
  };
207
234
  /**
208
235
  * Props bag for `setProps` / optional extras: forbids keys already present on
@@ -221,13 +248,19 @@ type ScopedComponentExtraProps<ResourceDefinitions extends ReadonlyArray<Resourc
221
248
  * `(...args: any) => …`) so destructured props stay precise — an `any`
222
249
  * constraint on Options would collapse them.
223
250
  */
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 ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: {
251
+ 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
252
  resource: Resource;
226
- props?: ScopedComponentExtraProps<ResourceDefinitions, InProps, Composables, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom>;
253
+ props?: Props & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseCustom, NoInfer<Props>> & {
254
+ include?: ResourceEntryInclude<Props> & { [Key in keyof BaseInclude & string]?: never };
255
+ custom?: ResourceEntryCustom<Props> & { [Key in keyof BaseCustom & string]?: never };
256
+ };
227
257
  name?: string;
228
- components?: { [Name in keyof Components]: JustScopedComponent<Components[Name]> & PropsRenderDefinition<InPropsObject, ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, Resource> & Show<ResolvedBuiltPropShape<ScopedComponentOwnProps<Components[Name]>>>, ScopedRenderResult, Omit<ResolvedScopedComponentsMap<Components>, Name>> & Components[Name] };
229
- render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, Resource>, ResolvedScopedComponentsMap<NormalizeScopedComponentsMap<Components>>, ScopedRenderResult>;
230
- }) => ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude & ExtraInclude, BaseCustom & ExtraCustom, Resource, NormalizeScopedComponentsMap<Components>>;
258
+ 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] };
259
+ render: PropsContextRender<ScopedResourceComponentProps<ResourceDefinitions, InProps, Composables, LayoutCustomProps, WithDefinedIncluded<BaseInclude & ResourceEntryInclude<Props>, ResourceEntryDefined<Props>>, BaseCustom & ResourceEntryCustom<Props>, Resource>, ResolvedScopedComponentsMap<NormalizeScopedComponentsMap<Components>>, ScopedRenderResult>;
260
+ }) => ScopedComponentResourceEntry<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseInclude, BaseCustom, Resource, Props, NormalizeScopedComponentsMap<Components>> & {
261
+ props: Props; /** Type-only metadata preserving the exact captured props bag. */
262
+ readonly resourceComponentProps: Props;
263
+ };
231
264
  /**
232
265
  * Options for {@link ScopedCreateComponent}. Extends the shared
233
266
  * `{ props?, render }` shape; `props` is the layout include/custom bag, and
@@ -241,23 +274,42 @@ type ScopedCreateResourceComponents<ResourceDefinitions extends ReadonlyArray<Re
241
274
  * to the `render` `props` parameter (that would circularly depend on the
242
275
  * return).
243
276
  */
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, ComponentCustomProps, SelectedLayoutResources<ResourceDefinitions, Arguments>>, RenderResult, ScopedResourceComponentRenderContext<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource>> {
277
+ 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
278
  /**
246
279
  * Per-resource content, keyed by resource. Each entry holds that resource's
247
280
  * scoped `components` and its `render` — not layout option values like
248
281
  * `title` (those are call-site props on `context.<Resource>` / the outer
249
282
  * component).
250
283
  */
251
- resources?: ScopedComponentResourceEntries<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource>;
284
+ resources?: ScopedComponentResourceEntries<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, ComponentIncludeProps & MergedResourceEntryInclude<PropsByResource>, ComponentCustomProps & MergedResourceEntryCustom<PropsByResource>, PropsByResource, ComponentsByResource>;
252
285
  }
253
286
  /**
254
287
  * Options for a `setProps` thunk: same as createComponent options, but
255
288
  * optional `props` may only add keys not already defined by `setProps`.
256
289
  */
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'> & {
290
+ 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
291
  props?: ScopedComponentExtraProps<ResourceDefinitions, InProps, Composables, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom>;
259
292
  };
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>;
293
+ 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>;
294
+ type ComponentsForResourceProps<PropsByResource, ComponentsByResource> = { [Resource in keyof PropsByResource]: Resource extends keyof ComponentsByResource ? NormalizeScopedComponentsMap<ComponentsByResource[Resource]> : {} };
295
+ type PropsFromCreatedResourceEntries<EntriesByResource> = { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] extends {
296
+ readonly resourceComponentProps: infer Props extends object;
297
+ } ? Props : {} };
298
+ type ComponentsFromCreatedResourceEntries<EntriesByResource> = { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] extends {
299
+ components?: infer Components;
300
+ } ? NormalizeScopedComponentsMap<Components> : {} };
301
+ 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'> & {
302
+ resources: { [Resource in keyof EntriesByResource]: EntriesByResource[Resource] & {
303
+ readonly resourceComponentProps: object;
304
+ } };
305
+ }) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsFromCreatedResourceEntries<EntriesByResource>>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsFromCreatedResourceEntries<EntriesByResource>>, ComponentsFromCreatedResourceEntries<EntriesByResource>, PropsFromCreatedResourceEntries<EntriesByResource>, RenderResult>;
306
+ /** createComponent overload for entries that declare the unified props bag. */
307
+ 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'> & {
308
+ 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> & {
309
+ props: PropsByResource[Resource] & ResourceComponentPropsBag<ResourceDefinitions, InProps, Composables, LayoutCustomProps, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, NoInfer<PropsByResource[Resource] & object>>;
310
+ components?: Resource extends keyof ComponentsByResource ? ComponentsByResource[Resource] : unknown;
311
+ } } & Record<Exclude<keyof PropsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
312
+ }) => ScopedResourceComponent<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude & ExtraInclude & MergedResourceEntryInclude<PropsByResource>, BaseCustom & ExtraCustom & MergedResourceEntryCustom<PropsByResource>, ComponentsForResourceProps<PropsByResource, ComponentsByResource>, PropsByResource, RenderResult>;
261
313
  /**
262
314
  * Result of `createComponent.setProps`: a createComponent thunk with base
263
315
  * include/custom prefilled, optional extras that cannot redefine base keys,
@@ -266,12 +318,12 @@ type ScopedCreateComponentFn<ResourceDefinitions extends ReadonlyArray<ResourceD
266
318
  * Merged props (base ∪ extras) type the returned component, top-level
267
319
  * `render`, and `context.<Resource>` call sites.
268
320
  */
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, BaseCustom & ExtraCustom, ComponentsByResource, RenderResult>;
321
+ 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> & {
322
+ <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
323
  createResourceComponents: ScopedCreateResourceComponents<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps, BaseInclude, BaseCustom>;
272
324
  };
273
325
  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> & {
326
+ 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> & ScopedCreateComponentWithResourcePropsFn<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps> & {
275
327
  /**
276
328
  * Prefills include/custom props for a shared createComponent thunk. The
277
329
  * thunk still accepts optional extra props (keys already set here are
@@ -280,5 +332,5 @@ type ScopedCreateComponent<ResourceDefinitions extends ReadonlyArray<ResourceDef
280
332
  setProps: ScopedCreateComponentSetProps<ResourceDefinitions, InProps, Composables, Arguments, LayoutCustomProps>;
281
333
  };
282
334
  //#endregion
283
- export { ScopedCreateComponent };
335
+ export { ScopedCreateComponent, ScopedCreateResourceComponents };
284
336
  //# 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 include = componentOptions.props?.include ?? {};
35
- const custom = componentOptions.props?.custom ?? {};
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 componentProps) layoutOptions[key] = componentProps[key];
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
- return (0, react.createElement)(root, rootProps);
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 componentProps) definitionsToValidate[key] = definition;
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, componentProps, {
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: componentProps }, require_scoped_render.resolveScopedRenderResult(componentOptions.render(componentProps, renderContext), componentProps));
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, fromEntries, componentOptions.props)
226
+ props: mergeCreateComponentProps(baseProps, componentOptions.props)
214
227
  });
215
228
  }
216
- createWithProps.createResourceComponents = (options) => {
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
  };