@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.
@@ -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>> & ResolvedScopedComponentsMap<ComponentsByResource[Resource]> };
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, 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>;
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, ComponentsByResource[Resource]> } & Record<Exclude<keyof ComponentsByResource, SelectedLayoutResources<ResourceDefinitions, Arguments>>, never>;
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<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;
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>): JSX.Element;
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, ComponentsByResource, Resource, RenderResult>;
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 ExtraInclude extends LayoutIncludeProps<ResourceDefinitions, InProps, Composables> = {}, ExtraCustom extends InPropsObject = {}>(options: {
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?: ScopedComponentExtraProps<ResourceDefinitions, InProps, Composables, BaseInclude, BaseCustom, ExtraInclude, ExtraCustom>;
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 & 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>>;
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, ComponentCustomProps, SelectedLayoutResources<ResourceDefinitions, Arguments>>, RenderResult, ScopedResourceComponentRenderContext<ResourceDefinitions, InProps, Composables, LayoutCustomProps, ComponentIncludeProps, ComponentCustomProps, ComponentsByResource>> {
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, ComponentCustomProps, ComponentsByResource>;
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, BaseCustom & ExtraCustom, ComponentsByResource, RenderResult>;
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":";;;;;;;;;;;KAsBY,6BAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACM,aAAA,IACxB,mBAAA,CAAoB,SAAA,EAAW,OAAA,EAAS,WAAA,IAAe,iBAAA;AAAA,KAEtD,uCAAA,mBACe,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACM,aAAA,+BACG,aAAA,2BACJ,aAAA,IACvB,sBAAA,CACF,6BAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,IAEA,oBAAA,GACA,gBAAA;AAtBJ;AAAA,KA0BY,yBAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACM,aAAA,+BACG,aAAA;EAG7B,OAAA,GAAU,oBAAA,CAAqB,KAAA,IAC7B,kBAAA,CAAmB,SAAA,EAAW,OAAA,EAAS,WAAA,IACvC,MAAA,CACE,OAAA,CACE,SAAA,CAAU,oBAAA,CAAqB,KAAA,IAC/B,SAAA,CAAU,kBAAA,CAAmB,SAAA,EAAW,OAAA,EAAS,WAAA;EAIvD,MAAA,GAAS,mBAAA,CAAoB,KAAA;EAC7B,OAAA,GAAU,oBAAA,CAAqB,KAAA,IAC7B,OAAA,CACE,uCAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,oBAAA,EACA,mBAAA,CAAoB,KAAA,MAGxB,MAAA,CACE,OAAA,CACE,SAAA,CAAU,oBAAA,CAAqB,KAAA,IAC/B,SAAA,CACE,uCAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,oBAAA,EACA,mBAAA,CAAoB,KAAA;AAAA;AAAA,KAQ3B,kBAAA,iBAAmC,YAAA;EACtC,MAAA;EACA,KAAA;AAAA,IAEE,KAAA,GACA,YAAY;AAAA,KAEX,oBAAA,iBACH,kBAAkB,CAAC,YAAA;EACjB,OAAA;AAAA,IAEE,OAAA,kBACE,OAAA;AAAA,KAIH,mBAAA,iBACH,kBAAA,CAAmB,YAAA;EACjB,MAAA;AAAA,IAEE,MAAA,SAAe,aAAA,GACb,MAAA;AAAA,KAIH,oBAAA,iBACH,kBAAkB,CAAC,YAAA;EACjB,OAAA;AAAA,IAEE,OAAA,kBACE,OAAA;AAAA,KAIH,mBAAA,oCAAuD,IAAA,CAC1D,OAAA,EACA,SAAA,CAAU,OAAA,eAEF,SAAA,CAAU,OAAA;AAAA,KAGf,mBAAA,kCAAqD,IAAA,CACxD,IAAA,CAAK,KAAA,EAAO,SAAA,CAAU,OAAA,KACpB,OAAA,CAAQ,IAAA,CAAK,KAAA,EAAO,SAAA,CAAU,OAAA,UAAiB,KAAA;AAAA,KAG9C,0BAAA,oBAA8C,mBAAA,CACjD,eAAA,OAAsB,eAAA,wBAClB,KAAA,mBACE,mBAAA,CACE,oBAAA,CAAqB,KAAA,GACrB,oBAAA,CAAqB,KAAA;AAAA,KAM1B,yBAAA,oBAA6C,mBAAA,CAChD,eAAA,OAAsB,eAAA,wBAClB,KAAA,mBACE,mBAAA,CAAoB,KAAA;AAAA,KAKhB,4BAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,6BAE3B,IAAA,CACF,IAAA,CACE,8BAAA,CACE,6BAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,GAEF,qBAAA,IAEA,sBAAA,CAAuB,oBAAA;EAGzB,QAAA,GAAW,SAAA;EACX,QAAA,EAAU,QAAA;AAAA;;;;AAnK8D;AAAC;;;;;;;;;;KAqLjE,gCAAA,mBACQ,aAAA,CAAc,kBAAA,mBAChB,iBAAA,CAAkB,SAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,qFAI3B,mBAAA,CACF,IAAA,CACE,4BAAA,CACE,SAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,IAEA,IAAA,CAAK,qBAAA,CAAsB,YAAA,8BAE/B,YAAA;;;;;;;;;;KAYU,oBAAA;EACV,KAAA,GAAQ,aAAa;EACrB,MAAA,OAAa,IAAA;AAAA;;;;;;KAQH,mBAAA,sBACI,CAAA,SAAU,oBAAA,GAAuB,GAAA,oBAE3C,CAAA,CAAE,GAAA,eAAiB,IAAA,8BAEb,IAAA,UAAc,MAAA,aAEpB,CAAA,CAAE,GAAA;;;;;KAOI,4BAAA,+BACM,UAAA,QAEZ,UAAA,SAAmB,MAAA,oBACjB,UAAA;AAAA,cAGM,gCAAA;;KAGF,2BAAA;EAAA,UACA,gCAAA;IACR,KAAA,EAAO,KAAA;IACP,UAAA,EAAY,4BAAA,CAA6B,UAAA;EAAA;AAAA;AA/O7C;AAAA,KAoPY,uBAAA,eAAsC,UAAA;EAChD,KAAA;AAAA,IAEE,KAAA,SAAc,aAAa,GACzB,KAAA;;;;;KAQM,+BAAA,YAA2C,MAAA,6BAElD,MAAA,eAEO,IAAA,yBAGL,MAAA,WAAiB,aAAA;;;;;KAQZ,qBAAA,YAAiC,MAAA,yBAEzC,+BAAA,CAAgC,MAAA,iBAC9B,MAAA,WAAgB,KAAA,yCACE,KAAA,QAEd,KAAA,kBACE,KAAA,SAEH,MAAA,WAAiB,aAAA,iBAChB,KAAA;;;;KAOE,qBAAA,eAAoC,UAAA;EAE9C,MAAA,MAAY,IAAA;AAAA,IAEV,qBAAA,CAAsB,MAAA;;;;;KAOd,wBAAA,eAAuC,IAAA,CACjD,sBAAA,CAAuB,uBAAA,CAAwB,UAAA,KAC7C,qBAAA,CAAsB,UAAA;;;;;KAOd,wBAAA,qBAA6C,KAAA,IACpD,KAAA,GAAQ,KAAA,KAAU,GAAA,CAAI,OAAA,IACtB,KAAA,EAAO,KAAA,KAAU,GAAA,CAAI,OAAA;;;;;KAMd,gCAAA;;;;;;;;;KA2BA,8BAAA,YAA0C,MAAA,yBAElD,+BAAA,CAAgC,MAAA,iCAEd,MAAA,IAAU,GAAA,SAAY,gCAAA,WAGhC,MAAA,CAAO,GAAA,eAAiB,IAAA,iBACtB,GAAA,oBACQ,MAAA,CAAO,GAAA,YAAc,KAAA,yBAC/B,wBAAA,CAAyB,KAAA,kBAAuB,KAAA;;;;;KAShD,uBAAA,eAAsC,wBAAA,CAChD,wBAAA,CAAyB,UAAA,KAEzB,8BAAA,CACE,UAAA;EAEE,MAAA,MAAY,IAAA;AAAA,IAEV,MAAA;;;;;KAQI,2BAAA,gCACK,4BAAA,CAA6B,UAAA,IAAc,uBAAA,CACxD,4BAAA,CAA6B,UAAA,EAAY,IAAA;;;;;KAQjC,8BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,+DAG3B,mBAAA,CACF,IAAA,CACE,IAAA,CACE,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,iBAKN,YAAA;AAAA,KAGU,oCAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA;EA3a7B;;;;;EAobA,IAAA,GAAO,KAAA,EAAO,IAAA,CAAK,YAAA,CAAa,iBAAA,OAAwB,GAAA,CAAI,OAAA;AAAA,yBAEzC,oBAAA,IAAwB,UAAA,CACzC,QAAA,eACI,wBAAA,CACJ,8BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,WACA,oBAAA,CACE,QAAA,eAAuB,eAAA,GAAkB,eAAA,CAAgB,QAAA,YAI7D,2BAAA,CAA4B,oBAAA,CAAqB,QAAA;;;;;;;;;;;;;;;;;;;;;;KAwBzC,4BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA;EAzdH;;;;EAke1B,IAAA,WA7dqC;EA+drC,KAAA,GAAQ,UAAA;EA7dA;;;;;EAmeR,UAAA,oBACiB,UAAA,GAAa,mBAAA,CAAoB,UAAA,CAAW,IAAA;EA9d/B;;AAAK;AAMnC;;;;;;EAkeI,qBAAA,CACE,aAAA,EACA,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,mBAAA,CACE,qBAAA,GAAwB,oBAAA,CAAqB,UAAA,GAC7C,oBAAA,CAAqB,UAAA,IAEvB,oBAAA,GAAuB,mBAAA,CAAoB,UAAA,GAC3C,QAAA,IAEA,IAAA,CACE,sBAAA,CAAuB,uBAAA,CAAwB,UAAA,CAAW,IAAA,MAE9D,kBAAA,EACA,IAAA,CAAK,2BAAA,CAA4B,UAAA,GAAa,IAAA,KAEhD,UAAA,CAAW,IAAA,KAlfD;EAqfd,MAAA,EAAQ,kBAAA,CACN,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,mBAAA,CACE,qBAAA,GAAwB,oBAAA,CAAqB,UAAA,GAC7C,oBAAA,CAAqB,UAAA,IAEvB,oBAAA,GAAuB,mBAAA,CAAoB,UAAA,GAC3C,QAAA,GAEF,2BAAA,CAA4B,UAAA,GAC5B,kBAAA;AAAA;AAAA,KAIQ,8BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,gEAIV,oBAAA,GAAuB,4BAAA,CACxC,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,WACA,QAAA,eAAuB,eAAA,GACnB,eAAA,CAAgB,QAAA,iBAEpB,oBAAA,CAAqB,QAAA;EAErB,KAAA,GAAQ,QAAA,eAAuB,eAAA,GAC3B,eAAA,CAAgB,QAAA,mBACd,eAAA,CAAgB,QAAA,IACd,yBAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,oBAAA,EACA,OAAA,CAAQ,eAAA,CAAgB,QAAA;AAAA,MAKlC,MAAA,CACF,OAAA,OACQ,oBAAA,EACN,uBAAA,CAAwB,mBAAA,EAAqB,SAAA;;;;;KASrC,iCAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,4BACM,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,qFAI3B,IAAA,CACF,IAAA,CACE,gCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,EACA,YAAA,EACA,YAAA;AAAA,KAMM,4BAAA,mEAIR,aAAA,SAAsB,KAAA,IACxB,2BAAA,CAA4B,UAAA;EAAA,CACzB,KAAA,EAAO,KAAA,GAAQ,GAAA,CAAI,OAAA;EA9lBhB;;AAAO;AAAA;EAAP,SAmmBK,QAAA,EAAU,QAAA;AAAA;AAAA,KAGX,uBAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,gCACI,aAAA,CAC5B,6BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,iCAGyB,aAAA,iEAI3B,aAAA,SAEF,gCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,uBAAA,CAAwB,mBAAA,EAAqB,SAAA,GAC7C,YAAA,EACA,oBAAA,CAAqB,eAAA,OAAsB,eAAA;EA9nB7C;;;;EAAA,wBAsoByB,uBAAA,CACrB,mBAAA,EACA,SAAA,GAGF,KAAA,EAAO,gCAAA,CACL,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,EACA,YAAA,EACA,oBAAA,CACE,QAAA,eAAuB,eAAA,GAAkB,eAAA,CAAgB,QAAA,WAG5D,GAAA,CAAI,OAAA;EAxpBP;;;;;;;;AAIY;AAAA;;;;;;EAoqBZ,KAAA,4BACyB,uBAAA,CACrB,mBAAA,EACA,SAAA,GAGF,QAAA,EAAU,QAAA,KACP,IAAA,CACH,4BAAA,CACE,iCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,QAAA,EACA,YAAA,EACA,oBAAA,CACE,QAAA,eAAuB,eAAA,GACnB,eAAA,CAAgB,QAAA,UAIxB,QAAA,EACA,QAAA,eAAuB,oBAAA,GACnB,oBAAA,CAAqB,QAAA;AAAA;;;;;KAUnB,yBAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,sBACA,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,sBAEiB,aAAA,uBACE,kBAAA,CACnB,mBAAA,EACA,OAAA,EACA,WAAA,4BAEkB,aAAA;EAEpB,OAAA,GAAU,YAAA,mBACM,WAAA;EAEhB,MAAA,GAAS,WAAA,mBACO,UAAA;AAAA;;;;;;;;;;KAaN,8BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,sBACN,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,sBAEiB,aAAA,4BAEI,uBAAA,CACrB,mBAAA,EACA,SAAA,sDASF,OAAA;EACA,QAAA,EAAU,QAAA;EACV,KAAA,GAAQ,KAAA,GACN,yBAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,UAAA,EACA,OAAA,CAAQ,KAAA;IAER,OAAA,GAAU,oBAAA,CAAqB,KAAA,oBACf,WAAA;IAEhB,MAAA,GAAS,mBAAA,CAAoB,KAAA,oBACb,UAAA;EAAA;EAGpB,IAAA;EACA,UAAA,oBACiB,UAAA,GAAa,mBAAA,CAAoB,UAAA,CAAW,IAAA,KACzD,qBAAA,CACE,aAAA,EACA,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,mBAAA,CACE,WAAA,GAAc,oBAAA,CAAqB,KAAA,GACnC,oBAAA,CAAqB,KAAA,IAEvB,UAAA,GAAa,mBAAA,CAAoB,KAAA,GACjC,QAAA,IAEA,IAAA,CACE,sBAAA,CAAuB,uBAAA,CAAwB,UAAA,CAAW,IAAA,MAE9D,kBAAA,EACA,IAAA,CAAK,2BAAA,CAA4B,UAAA,GAAa,IAAA,KAEhD,UAAA,CAAW,IAAA;EAEf,MAAA,EAAQ,kBAAA,CACN,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,mBAAA,CACE,WAAA,GAAc,oBAAA,CAAqB,KAAA,GACnC,oBAAA,CAAqB,KAAA,IAEvB,UAAA,GAAa,mBAAA,CAAoB,KAAA,GACjC,QAAA,GAEF,2BAAA,CAA4B,4BAAA,CAA6B,UAAA,IACzD,kBAAA;AAAA,MAEE,4BAAA,CACJ,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA,EACA,QAAA,EACA,KAAA,EACA,4BAAA,CAA6B,UAAA;EAE7B,KAAA,EAAO,KAAA,EAlzBG;EAAA,SAozBD,sBAAA,EAAwB,KAAA,EAtzBuB;EAAA,SAwzB/C,kBAAA,EAAoB,4BAAA,CAA6B,UAAA;AAAA,IACxD,2BAAA,CAA4B,KAAA,EAAO,UAAA;;;;;;;;;;;;;;UAetB,4BAAA,6BACa,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,gCACI,kBAAA,CAC5B,mBAAA,EACA,OAAA,EACA,WAAA,gCAE2B,aAAA,8DAGR,kBAAA,UACb,qBAAA,CACR,WAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,qBAAA,EACA,oBAAA,GAEF,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,GAAwB,0BAAA,CAA2B,eAAA,GACnD,oBAAA,GAAuB,yBAAA,CAA0B,eAAA,GACjD,uBAAA,CAAwB,mBAAA,EAAqB,SAAA,IAE/C,YAAA,EACA,oCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,qBAAA,GAAwB,0BAAA,CAA2B,eAAA,GACnD,oBAAA,GAAuB,yBAAA,CAA0B,eAAA,GACjD,oBAAA,EACA,eAAA;EA/2BoD;AAAA;;;;;EAw3BtD,SAAA,GAAY,8BAAA,CACV,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,qBAAA,GAAwB,0BAAA,CAA2B,eAAA,GACnD,oBAAA,GAAuB,yBAAA,CAA0B,eAAA,GACjD,eAAA,EACA,oBAAA;AAAA;;;;;KAQQ,qCAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,sBACN,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,sBAEiB,aAAA,uBACE,kBAAA,CACnB,mBAAA,EACA,OAAA,EACA,WAAA,uBAEkB,aAAA,8DAGC,kBAAA,IACnB,IAAA,CACF,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GAAc,YAAA,EACd,UAAA,GAAa,WAAA,EACb,eAAA,EACA,oBAAA,EACA,YAAA;EAIF,KAAA,GAAQ,yBAAA,CACN,mBAAA,EACA,OAAA,EACA,WAAA,EACA,WAAA,EACA,UAAA,EACA,YAAA,EACA,WAAA;AAAA;AAAA,KAIQ,uBAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,4DAaC,kBAAA,sCACS,kBAAA,CAClC,mBAAA,EACA,OAAA,EACA,WAAA,qCAE2B,aAAA,OAE7B,OAAA,EAAS,4BAAA,CACP,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,MAEA,oBAAA,EACA,YAAA,MAEC,uBAAA,CACH,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,qBAAA,EACA,oBAAA,EACA,oBAAA,MAEA,YAAA;AAAA,KAGG,0BAAA,+DACgB,eAAA,GAAkB,QAAA,eAAuB,oBAAA,GACxD,4BAAA,CAA6B,oBAAA,CAAqB,QAAA;AAAA,KAInD,+BAAA,2CACgB,iBAAA,GAAoB,iBAAA,CAAkB,QAAA;EAAA,UAC7C,gCAAA;IACR,KAAA;EAAA;AAAA,IAGA,KAAA;AAAA,KAID,oCAAA,2CACgB,iBAAA,GAAoB,iBAAA,CAAkB,QAAA;EAAA,UAC7C,gCAAA;IACR,UAAA;EAAA;AAAA,IAGA,4BAAA,CAA6B,UAAA;AAAA,KAI9B,yCAAA,6BACyB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,sBACN,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,2BAEiB,aAAA,8DAGQ,kBAAA,6BACA,kBAAA,CACzB,mBAAA,EACA,OAAA,EACA,WAAA,4BAEkB,aAAA,OAEpB,OAAA,EAAS,IAAA,CACP,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GAAc,YAAA,EACd,UAAA,GAAa,WAAA,EACb,+BAAA,CAAgC,OAAA,CAAQ,iBAAA,IACxC,oCAAA,CAAqC,OAAA,CAAQ,iBAAA,IAC7C,YAAA;EAIF,SAAA,uBACqB,iBAAA,GAAoB,iBAAA,CAAkB,QAAA,IACvD,2BAAA;AAAA,MAGH,uBAAA,CACH,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GACE,YAAA,GACA,0BAAA,CACE,+BAAA,CAAgC,iBAAA,IAEpC,UAAA,GACE,WAAA,GACA,yBAAA,CACE,+BAAA,CAAgC,iBAAA,IAEpC,oCAAA,CAAqC,iBAAA,GACrC,+BAAA,CAAgC,iBAAA,GAChC,YAAA;;KAIU,wCAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,sBACN,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,2BAEiB,aAAA,wFAIQ,kBAAA,6BACA,kBAAA,CACzB,mBAAA,EACA,OAAA,EACA,WAAA,4BAEkB,aAAA,OAEpB,OAAA,EAAS,IAAA,CACP,4BAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GAAc,YAAA,EACd,UAAA,GAAa,WAAA,EACb,eAAA,EACA,0BAAA,CAA2B,eAAA,EAAiB,oBAAA,GAC5C,YAAA;EAIF,SAAA,uBACqB,eAAA,GAAkB,4BAAA,CACnC,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,WAAA,GACE,YAAA,GACA,0BAAA,CAA2B,eAAA,GAC7B,UAAA,GAAa,WAAA,GAAc,yBAAA,CAA0B,eAAA,GACrD,QAAA,WACA,eAAA,CAAgB,QAAA,YAChB,QAAA,eAAuB,oBAAA,GACnB,oBAAA,CAAqB,QAAA;IAGzB,KAAA,EAAO,eAAA,CAAgB,QAAA,IACrB,yBAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,iBAAA,EACA,UAAA,GACE,WAAA,GACA,yBAAA,CAA0B,eAAA,GAC5B,OAAA,CAAQ,eAAA,CAAgB,QAAA;IAE5B,UAAA,GAAa,QAAA,eAAuB,oBAAA,GAChC,oBAAA,CAAqB,QAAA;EAAA,MAGzB,MAAA,CACF,OAAA,OACQ,eAAA,EACN,uBAAA,CAAwB,mBAAA,EAAqB,SAAA;AAAA,MAKhD,uBAAA,CACH,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GAAc,YAAA,GAAe,0BAAA,CAA2B,eAAA,GACxD,UAAA,GAAa,WAAA,GAAc,yBAAA,CAA0B,eAAA,GACrD,0BAAA,CAA2B,eAAA,EAAiB,oBAAA,GAC5C,eAAA,EACA,YAAA;AAtoCF;;;;;;;;AAAA,KAipCY,8BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,sBACN,kBAAA,CAClB,mBAAA,EACA,OAAA,EACA,WAAA,sBAEiB,aAAA,IACjB,yCAAA,CACF,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA,IAEA,wCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA;EAAA,+EAK6B,kBAAA,6BACA,kBAAA,CACzB,mBAAA,EACA,OAAA,EACA,WAAA,4BAEkB,aAAA,OAEpB,OAAA,EAAS,qCAAA,CACP,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA,EACA,YAAA,EACA,WAAA,EACA,eAAA,EACA,oBAAA,EACA,YAAA,IAED,uBAAA,CACD,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,GAAc,YAAA,GAAe,0BAAA,CAA2B,eAAA,GACxD,UAAA,GAAa,WAAA,GAAc,yBAAA,CAA0B,eAAA,GACrD,oBAAA,EACA,eAAA,EACA,YAAA;EAEF,wBAAA,EAA0B,8BAAA,CACxB,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA;AAAA;AAAA,KAIM,6BAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,+BAEA,kBAAA,CACxB,mBAAA,EACA,OAAA,EACA,WAAA,2BAEiB,aAAA,OAEnB,KAAA,EAAO,WAAA,CACL,mBAAA,EACA,OAAA,EACA,WAAA,EACA,WAAA,EACA,UAAA,MAEC,8BAAA,CACH,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,EACA,WAAA,EACA,UAAA;AAAA,KAGU,qBAAA,6BACkB,aAAA,CAAc,kBAAA,mBAC1B,iBAAA,CAAkB,mBAAA,uBACd,oBAAA,oBACF,aAAA,qCACQ,aAAA,IACxB,uBAAA,CACF,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,IAEA,yCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA,IAEF,wCAAA,CACE,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA;EAlxC4B;;;;;EAyxC5B,QAAA,EAAU,6BAAA,CACR,mBAAA,EACA,OAAA,EACA,WAAA,EACA,SAAA,EACA,iBAAA;AAAA"}
@@ -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
  };